tb数据与公式运行关系概况ppt培训课件

上传人:aa****6 文档编号:57711895 上传时间:2018-10-24 格式:PPTX 页数:54 大小:536.98KB
返回 下载 相关 举报
tb数据与公式运行关系概况ppt培训课件_第1页
第1页 / 共54页
tb数据与公式运行关系概况ppt培训课件_第2页
第2页 / 共54页
tb数据与公式运行关系概况ppt培训课件_第3页
第3页 / 共54页
tb数据与公式运行关系概况ppt培训课件_第4页
第4页 / 共54页
tb数据与公式运行关系概况ppt培训课件_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《tb数据与公式运行关系概况ppt培训课件》由会员分享,可在线阅读,更多相关《tb数据与公式运行关系概况ppt培训课件(54页珍藏版)》请在金锄头文库上搜索。

1、TB数据与公式运行关系概况,Bar数据:公式在进行计算时,都是建立在基本数据源(Bar数据)之上。,TBL基础知识,数据源,Data0-Data49个数据源的Bar数据 Data0:原图表bar数据 Data1:第二个数据源 Data2:第二个数据源 调用方法: Data0.A_SendOrder()Data1.Close等等,公式执行顺序,公式执行从上至下,Bar从左到右执行。,TB公式能做什么?,技术指标图表模块中输出为线条、柱状图、点等表现形式(PlotNumeric、PlotBool、PlotString) K线形态主要着重于反映一段K线的特定型态,并通过不同的技术指标的方式输出到图表

2、(PlotBar) 特征走势主要着重于反映整个价格曲线的趋势、变化特征,并通过特定的表达方式输出到图表(通过PlotBar返回数据) 交易指令交易指令是包含买、卖、平仓,头寸,仓位控制的并执行交易指令的一类公式(buysellsellshortbuytocover,A_SendOrder),公式环境的组织层次(1),公式环境的组织层次(2),BAR数据,指标,K线形态,特征走势,交易指令,用户函数,尝试:输出指定信息到文件HelloWorld! Begin FileAppend(“c:Formula.txt“,“hello world“); End,系统函数分类,数学函数Abs 字符串函数Te

3、xt 颜色函数 时间函数Time、CurrentTime 数据函数barcount、high 属性函数BarType、MinMove最小变动量 行情函数 Q函数 帐户函数A函数 枚举函数Enum_Buy 交易函数EntryPrice、EntryPrice 其他函数,PlotNumeric在当前Bar输出一个数值。Numeric PlotNumeric(String Name,Numeric Number,Integer Color=-1,Integer BarsBack=0) PlotString在当前Bar输出一个字符串。String PlotString(String Name,Strin

4、g str,Integer Color=-1,Integer BarsBack=0) PlotBar在当前Bar输出两个值,用于在图表中当前Bar上画出连接两个值的线条。PlotBar(String Name,Numeric Value1,Numeric Value2,Integer Color=-1,Integer BarsBack=0) PlotBool在当前Bar输出一个布尔值。Bool PlotBool(String Name,Bool bPlot,Integer Color=-1,Integer BarsBack=0),尝试一个简单的技术指标,Begin PlotNumeric(“L

5、ine1”,0); End PlotNumeric函数:输出一个数值型组成的数组。,PlotBool,Begin PlotNumeric(“A1“,Close,Yellow,1); PlotBool(“A2“,CloseOpen); End,火车轨的实现,公式结构,9种数据类型,Bool布尔型。 BoolRef布尔型引用。 BoolSeries和周期长度一致的Bool型序列值。 Numeric数值型。 NumericRef数值型引用。 NumericSeries和周期长度一致的Numeric型序列值。 String字符串。 StringRef字符串引用。 StringSeries和周期长度一致

6、的String型序列值。,参数、变量的声明,声明参数、变量 Params(Vars) 类型 变量名1(初值); 类型 变量名2(初值); 类型 变量名3(初值);,变量声明例子: Vars NumericSeries MyVal1(0); /定义数值型序列变量MyVal1,默认值为0; Numeric MyVal2(0); /定义数值型变量MyVal2,默认值为0; Bool MyVal3(False); /定义布尔型变量MyVal3,默认值为False; String MyVal4(“Test“); /定义字符串变量MyVal4,默认值为Test。 系统自动赋值规则: 数值型变量的默认值为0

7、; 布尔型变量的默认值为False; 字符串的默认值为空字符串。,编写函数,一个函数由三部分组成,参数定义,变量定义,脚本正文。 语法如下: Params 参数定义语句; Vars 变量定义语句; Begin 脚本正文; End,序列变量,通过“变量名nOffset“来回溯以前的变量值 Ref(close,1)等于Close1,Close1,Close5,一个序列公式-计算天数,Vars NumericSeries daynum; Begin IF(CurrentBar = 0) daynum = 1; else If(date!=date1) daynum=daynum1+1; Else d

8、aynum=daynum1; PlotNumeric(“daynum“,daynum); End,引用参数,用户函数可以通过引用参数返回函数的计算结果。返回多个计算结果。,用户函数MyFunc Params NumericSeries Price(0); NumericRef mHigher(0); NumericRef mLower(0); Vars Numeric Tmp(0); Begin Tmp = Average(Price,10); mHigher = IIf(Tmp High,Tmp,High); mLower = IIf(Tmp Low,Tmp,Low); Return Tmp

9、; End,交易函数MyTrade Vars Numeric AvgValue; Numeric HigherValue; Numeric LowerValue; Begin AvgValue = MyFunc(Close,HigherValue,LowerValue); . End,交易指令,普通交易指令 Buy开多、Sell平多、SellShort开空、BuyToCover平空 A函数 A_SendOrder发委托指令 二者区别 普通交易指令在图表上出信号,与图表关联,不与账户关联. A_sendorder与账户关联,交易不在图表上产生信号,只对实时行情操作.,普通交易指令,Buy:平掉所

10、有空头持仓,开多头仓位。 Sell:平掉指定的多头持仓。 SellShort:平掉所有多头持仓,开空头仓位。 BuyToCover:平掉指定的空头持仓。 Bool Buy(Numeric Share=0,Numeric Price=0,Bool Delay=False) Share 买入数量,为整型值,默认为使用系统设置参数; Price 买入价格,为浮点数,默认=0时为使用现价(非最后Bar为Close); Delay 买入动作是否延迟,默认为当前Bar发送委托,当Delay=True,在下一个Bar执行。,普通交易指令信号,信号消失,基于前面的描述,如果用Close变化的数据来计算开平仓条

11、件,就可能出现信号消失。 为了解决信号消失,可以使用前面所讲的Delay,或者使用另外一种方式,特别是我们经常用的突破系统。 使用High,Low,Open这样能够保持住的价格来进行条件判断。是价格往上的突破形成的交易操作用High来判断。是价格下上的突破形成的交易操作用Low来判断。其他不确定方向的情况最好用Open来判断。,A函数和Q函数,Q函数,指以Q_开头的系统函数,主要是获取实时行情信息。 A函数,指以A_开头的系统函数,获取自动交易关联帐户的帐户信息,只有在启动自动交易的情况下才能取值。 Q函数和A函数都是反映最新的实时状态,不能取历史上的值,所以只能在当前有效,在公式中表现为只能

12、在最后Bar上取值。,全局变量,每个超级图表有50个全局变量049 Bool SetGlobalVar(Integer nIndex,Numeric fVal) Numeric GetGlobalVar(Integer nIndex) 经常用于配合A_SendOrder使用,控制发单。,全局变量:例子,If(A_SellPosition=0 ,下面介绍几个常用函数以及语法,CrossOver、CrossUnder 函数原型: Bool CrossOver(NumericSeries Price1,NumericSeries Price2) CrossOver(Close, AvgPrice);

13、,上穿、下穿函数,Cross的应用,延迟有两种, 1.判断前一个条件,在当前bar开仓 cond1=ma11; cond2=ma21; if(crossover(cond1,cond2) buy(1,open); 2.判断当前条件,在下一个bar开仓 if(crossover(ma1,ma2) buy(1,nextopen,true);,Cross防止信号消失,使用High,Low,Open这样能够保持住的价格来进行条件判断。是价格往上的突破形成的交易操作用High来判断。是价格下上的突破形成的交易操作用Low来判断。其他不确定方向的情况最好用Open来判断。 CrossOver(high,

14、AvgPrice);,关于调试语句,Commentry 在超级图表当前Bar添加一行注释信息。 例子:Commentary(“开仓价格:“+Text(myEntryPrice)。 FileAppend 在指定文件中追加一行字符串。 FileAppend(“C:Formula.txt“,“Close = “+Text(Close); Alert(String AlertInfo)产生一个报警动作。,控制语句,条件语句(If-Else) 循环语句(ForWhile),关系运算符,If(12) 语句1; If(1 != 2) 语句1; 相当于: If(1 2) 语句1;,If(左表达式 关系运算符

15、右表达式),算术运算符,If(10%5=0) 我是语句1; If(21%5=1) 我是语句2;,关于条件表达式,逻辑操作符 :AND(&),OR(|),NOT(!) 表达式1 AND 表达式2 (表达式1 & 表达式2 ) 表达式1 OR 表达式2 (表达式1 | 表达式2 ) NOT表达式1 (! 表达式1 ) 注意:条件表达式括号后面不要加分号。,IF语句,语法如下: If (Condition) TradeBlazer公式语句; 如果TradeBlazer公式语句是单条,您可以省略,二条或者二条以上的语句必须使用。,IF-Else,语法如下: If (Condition) TradeBl

16、azer公式语句1; Else TradeBlazer公式语句2; ,If-Else-If,语法如下: If (Condition1) TradeBlazer公式语句1; Else If(Condition2) TradeBlazer公式语句2; Else TradeBlazer公式语句3; If-Else-If的语句可以根据需要一直扩展,在最后的Else之后再加If(Condition)和新的执行代码即可。当然您也可以省略最后的Else分支,,If-Else的嵌套,If-Else的嵌套是在If-Else的执行语句中包含新的条件语句,即一个条件被包含在另一个条件中。 If (Condition1) If (Condition2) TradeBlazer公式语句1; Else TradeBlazer公式语句2; Else If (Condition3) TradeBlazer公式语句3; Else TradeBlazer公式语句4; ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号