文章目录

  • 2 TB公式编写
  • 1. TB 公式的结构
    • TB公式一般由三段构成:
    • 参数
    • 变量
    • 表达式
    • Bar数据
    • 开仓平仓

2 TB公式编写

1. TB 公式的结构

TB公式一般由三段构成:

  • 公式参数段
ParamsNumeric Length(10);  #定义数值型参数Length,初始值为10......
  • 公式变量段
VarsNumericSeries MA;   #变量定义,变量名为MA......
  • 公式脚本段
BeginMA = AverageFC(Close,Length);.....
End

参数

  • 参数声明,必须声明,使用Params进行参数声明,整个公式只能出现一个Params声明,并且要放到公式的开始部分,定义变量之前。
ParamsBool bTest(False);     //定义布尔型参数bTest,默认值为FalseNumeric Length(10);NumericSeries Price(0);   //定义数值型序列参数,默认值为0NumericRef output(0);    //定义数值型引用参数output,默认值为0;
  • 使用参数为了便于使用和修改参数的具体数值;
    若10天为周期的均线指标改为20天为周期;
BeginPlotNumeric("MA",AverageFC(Close,10)).....
End

需要逐个修改,定义参数后,只需修改定义的参数即可,后面的脚本段不需修改。

ParamsNumeric Length(10);
BeginPlotNumeric("MA",AverageFC(Close,Length)).....
End

直接修改参数值:在策略名称处右击,属性设置,修改参数;而不用在公式中修改后再重新应用。


参数优化:在策略名称处右击,参数优化,设置最大值、最小值、步长,得到各个参数对应的结果


变量

  • 整个公式只能出现一个Vars声明,并且要放到公式的开始部分,定义变量之前。
  • 变量的主要作用是方便之后脚本的引用

变量的声明:变量类型仅仅支持六种,没有引用类型
对变量值没有硬性规定,可以赋值也可以不赋值

Vars变量类型 变量名(默认值)

变量的赋值:声明完成后,可以对变量直接进行赋值

Vars变量名称 = 表达式;

序列变量:序列变量可以可回溯,包括NumericSeries,BoolSeries,StringSeries

  • 序列变量和简单变量一样,可以对其赋予默认值;
  • 在指定条件下对序列变量赋值,他的值会传递下去,直至语句对其进行新的赋值。
  • 而普通变量,赋值仅针对条件满足的这个Bar,其他Bar上的变量记录仍是初始值。
    全局变量:保存的变量值不会因为Bar的改变而消失,他的生命范围是超级图表,关闭超级图标后,它保存的值才会消失。

表达式

不同数据类型的转换:操作数的数据类型应该符合要求,不同的数据应该转换为同一类型
例:commentary("close="+Text(close))
commentary 只能显示字符串类型的注释信息,因此,使用Text()函数将close的数值转化为字符再显示。

Bar数据

  • 不同周期下形成的序列数据,在单独的每个bar上面包含开盘价、最高价、最低价、收盘价、成交量及时间,期货等品种还有持仓量。
  • 所有的Bar 按照不同周期组合,并按照时间从先到后进行排列,由此形成为序列数据,整个序列称之为Bar数据。

Bar数据系统函数

函数名 间写 描述
Date D 当前Bar的日期
Time T 当前Bar的时间,即当前Bar开始生成的时间
Open O 当前Bar的开盘价
High H 当前Bar的最高价,Tick为当时的委卖价
Low L 当前Bar的最低价,Tick为当时的委买价
Close C 当前Bar的收盘价
Val V 当前Bar的成交量
OpenInt 当前Bar的持仓量
CurrentBar 当前Bar的索引值,从0开始计时
BarStatus 当前Bar的状态量,0表示第一个Bar,1表示中间的普通的Bar,2表示最后一个Bar

Bar的状态值

  • BarStatus表示当前公式应用商品当前Bar的状态值,分为三种状态,0表示第一个Bar,1表示中间的普通的Bar,2表示最后一个Bar
  • 只有在Bar的返回值为2的情况下,公式指令才会对合约进行委托。

开仓平仓

脚本段设置条件

ParamsNumeric Length(10);
VarsNumericSeries MA10;
BeginMA10 = Average(Close,Length);PlotNumeric("10日均线",MA10);If(High>MA10[1]) Buy(1,MA10[1]);Else If(Low<MA10[1]) SellShort(1,MA10[1]);
End

***若想直接修改参数值

2. 交易开拓者-TB 公式(一)相关推荐

  1. 3. 交易开拓者-TB公式(二)

    文章目录 3.TB公式(二) 分支语句 简单分支 双分支 多分支结构 if语句的嵌套 循环语句 For 循环 While 循环 3.TB公式(二) 分支语句 简单分支 If (conditions) ...

  2. 交易开拓者TB夜盘编程技术集

    一.夜盘交易的基本情况 目前期货市场上,越来越多的品种都加入了夜盘交易大军.截止7月23日,目前已经确定在夜盘交易的有: 上海期货交易所:白银ag,铜cu,金au,锌zu 大连商品交易所:棕榈油p.焦 ...

  3. 4、交易开拓者-TB用户函数

    文章目录 三.TB用户函数 用户函数 使用规则 编写 函数的调用 三.TB用户函数 用户函数 用户函数是公式种的一类,他的结构遵循一般公式的结构,分为公式参数段.公式变量段和公式脚本段:但具体的声明和 ...

  4. 交易开拓者tb组合26万保证金7年盈利250万-tb_yun_trend2

    性能概要 统计指标 全部交易 多头 空头 净利润 2503546.16 1263189.48 1240356.68 总盈利 5006690.32 2436618.71 2570071.61 总亏损 - ...

  5. 按键精灵实现交易开拓者TB自动化优化参数

    按键精灵语法比较简单,只要是重复性的电脑操作,都可以用按键精灵编写小的脚本来实现. 下面这个小脚本是实现的用TB旗舰版优化参数的时候自动输入优化的区间,自动确认优化,比手动输入要快很多. //打开参数 ...

  6. 按键精灵一键从交易开拓者TB下载各个品种日线数据

    Call xiazai("cu000")//下载铜 Call xiazai("al000")//下载铝 Call xiazai("zn000" ...

  7. 计量经济与时间序列_ACF自相关与PACF偏自相关算法解析(Python,TB(交易开拓者))

    1   在时间序列中ACF图和PACF图是非常重要的两个概念,如果运用时间序列做建模.交易或者预测的话.这两个概念是必须的. 2   ACF和PACF分别为:自相关函数(系数)和偏自相关函数(系数). ...

  8. 5、交易开拓者-公式应用

    文章目录 5.公式应用 技术分析类 1.模板介绍 2.输出函数 (1) Plot Numeric (2)PlotBool (3)PlotString (4)UnPlot 交易策略类 1.模板介绍 2. ...

  9. autoit与程序化交易软件开拓者TB无人值守之一——启动开拓者TB并将每天收盘时的账户权益写入EXCEL

    本脚本主要是每天自动按照交易时间启动交易软件,定时关闭软件.除了需要脚本启动外,还需要在开拓者中做账户密码设置等操作.从TB5以后,只要设置好密码及自动启动程序化交易,很多事情就变得容易起来.本脚本略 ...

最新文章

  1. 慕课的原型图快速变html,分享一个html转换为pdf 利器 Pechkin
  2. 独家 | ​PyMC3 介绍:用于概率编程的Python包
  3. 计算机英语protocols,计算机网络协议词汇Protocols
  4. UVa910 TV game
  5. 50个Android开发技巧(09 避免用EditText对日期进行验证)
  6. MATLAB函数参数个数控制
  7. 以下不属于时序逻辑电路的有_电工电子技术(不建议浪费时间学习的科目)
  8. Java8 默认方法
  9. 调优哪家强——tensorflow命令行参数
  10. mysql中select 的题型_MYSQL经典题型详情解析
  11. 本地如何搭建FPT服务
  12. python精确有理数实验_Python3标准库:fractions有理数
  13. LinkedList 注意事项
  14. Django框架配置
  15. spring 项目中设置maven镜像源
  16. java中导入自定义类_导入自定义Java类
  17. 20190828——python模块
  18. Fitness Notes 健身笔记
  19. B. Petya and Exam
  20. 【OpenCV3】直线拟合--FitLine()函数详解

热门文章

  1. stm32f的定时器 GPIO DMA的相关事情
  2. 【网络编程】python网络编程多线程实现
  3. Linux高阶操作之全自动安装虚拟机
  4. 4212: 神牛的养成计划
  5. 直接转矩系统和矢量控制系统
  6. 基于存档的多目标算术优化 (MAOA)附matlab代码
  7. JSR303是啥?有啥用处?
  8. 硬币翻转问题(一个比较简单的题)
  9. 侠客岛--多线程系列之线程池(十二)
  10. VMware® Workstation 15 Pro 无法从iso文件安装系统