2. 交易开拓者-TB 公式(一)
文章目录
- 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 公式(一)相关推荐
- 3. 交易开拓者-TB公式(二)
文章目录 3.TB公式(二) 分支语句 简单分支 双分支 多分支结构 if语句的嵌套 循环语句 For 循环 While 循环 3.TB公式(二) 分支语句 简单分支 If (conditions) ...
- 交易开拓者TB夜盘编程技术集
一.夜盘交易的基本情况 目前期货市场上,越来越多的品种都加入了夜盘交易大军.截止7月23日,目前已经确定在夜盘交易的有: 上海期货交易所:白银ag,铜cu,金au,锌zu 大连商品交易所:棕榈油p.焦 ...
- 4、交易开拓者-TB用户函数
文章目录 三.TB用户函数 用户函数 使用规则 编写 函数的调用 三.TB用户函数 用户函数 用户函数是公式种的一类,他的结构遵循一般公式的结构,分为公式参数段.公式变量段和公式脚本段:但具体的声明和 ...
- 交易开拓者tb组合26万保证金7年盈利250万-tb_yun_trend2
性能概要 统计指标 全部交易 多头 空头 净利润 2503546.16 1263189.48 1240356.68 总盈利 5006690.32 2436618.71 2570071.61 总亏损 - ...
- 按键精灵实现交易开拓者TB自动化优化参数
按键精灵语法比较简单,只要是重复性的电脑操作,都可以用按键精灵编写小的脚本来实现. 下面这个小脚本是实现的用TB旗舰版优化参数的时候自动输入优化的区间,自动确认优化,比手动输入要快很多. //打开参数 ...
- 按键精灵一键从交易开拓者TB下载各个品种日线数据
Call xiazai("cu000")//下载铜 Call xiazai("al000")//下载铝 Call xiazai("zn000" ...
- 计量经济与时间序列_ACF自相关与PACF偏自相关算法解析(Python,TB(交易开拓者))
1 在时间序列中ACF图和PACF图是非常重要的两个概念,如果运用时间序列做建模.交易或者预测的话.这两个概念是必须的. 2 ACF和PACF分别为:自相关函数(系数)和偏自相关函数(系数). ...
- 5、交易开拓者-公式应用
文章目录 5.公式应用 技术分析类 1.模板介绍 2.输出函数 (1) Plot Numeric (2)PlotBool (3)PlotString (4)UnPlot 交易策略类 1.模板介绍 2. ...
- autoit与程序化交易软件开拓者TB无人值守之一——启动开拓者TB并将每天收盘时的账户权益写入EXCEL
本脚本主要是每天自动按照交易时间启动交易软件,定时关闭软件.除了需要脚本启动外,还需要在开拓者中做账户密码设置等操作.从TB5以后,只要设置好密码及自动启动程序化交易,很多事情就变得容易起来.本脚本略 ...
最新文章
- 慕课的原型图快速变html,分享一个html转换为pdf 利器 Pechkin
- 独家 | ​PyMC3 介绍:用于概率编程的Python包
- 计算机英语protocols,计算机网络协议词汇Protocols
- UVa910 TV game
- 50个Android开发技巧(09 避免用EditText对日期进行验证)
- MATLAB函数参数个数控制
- 以下不属于时序逻辑电路的有_电工电子技术(不建议浪费时间学习的科目)
- Java8 默认方法
- 调优哪家强——tensorflow命令行参数
- mysql中select 的题型_MYSQL经典题型详情解析
- 本地如何搭建FPT服务
- python精确有理数实验_Python3标准库:fractions有理数
- LinkedList 注意事项
- Django框架配置
- spring 项目中设置maven镜像源
- java中导入自定义类_导入自定义Java类
- 20190828——python模块
- Fitness Notes 健身笔记
- B. Petya and Exam
- 【OpenCV3】直线拟合--FitLine()函数详解