交易开拓编程公式ppt课件

上传人:壹****1 文档编号:568471105 上传时间:2024-07-24 格式:PPT 页数:75 大小:778KB
返回 下载 相关 举报
交易开拓编程公式ppt课件_第1页
第1页 / 共75页
交易开拓编程公式ppt课件_第2页
第2页 / 共75页
交易开拓编程公式ppt课件_第3页
第3页 / 共75页
交易开拓编程公式ppt课件_第4页
第4页 / 共75页
交易开拓编程公式ppt课件_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《交易开拓编程公式ppt课件》由会员分享,可在线阅读,更多相关《交易开拓编程公式ppt课件(75页珍藏版)》请在金锄头文库上搜索。

1、华泰长城期货有限公司华泰长城期货有限公司Huatai Great Wall Futures Co., Ltd.QQ:909118951交易开拓者(交易开拓者(TB)编程基础)编程基础-公式篇公式篇勉伎江赘攫蕴救贼坡抹租妆分闰律顾妻蚜釜屹鲁斋队屑恿蛋堕虹汰店墨削交易开拓编程公式ppt课件交易开拓编程公式ppt课件基本框架基本框架TBTB公式概述公式概述1数据数据2语句语句3变量变量5数据回溯数据回溯6参数参数4公式公式1韧遭钦怂闽入恤稗卫脂户浑括骚吱沉俊拟色炭殊矢短枕赐鞍掂捎帆恍在萌交易开拓编程公式ppt课件交易开拓编程公式ppt课件什么是什么是TradeBlazer公式公式1、TradeBla

2、zer公式是一种专为分析金融数据-时间序列而设计的高级语言,它提供直接、强大的框架将交易思想转化为用户函数、技术分析,交易指令等计算机能够识别的代码。 2、TradeBlazer公式是一门语法简单但是功能强大的语言,利用它能创建自己的交易和技术分析工具。通过组合普通的交易指令和简单的语句,TradeBlazer公式能够很容易并且直接的用简单语句表达自己的交易规则和行为。 3、交易开拓者能够读取TradeBlazer公式,在历史价格数据基础上进行评估,并能自动执行特定的交易动作,将交易思想转化为实际的交易操作。概述概述泄快坷稗奢仑郡生殿窒缠镐钧难谐昆父留箔狸旅畔弗诞昧京漱爵册寥邢焉交易开拓编程公

3、式ppt课件交易开拓编程公式ppt课件TradeBlazer公式能做什么?公式能做什么? 通过TradeBlazer公式,能够创建自己的交易指令、技术指标、K线型态、特征走势、用户函数。 TradeBlazer公式包含的公式类型如下:用户函数:用户函数:用户函数是能够通过函数名称进行引用的指令集,它执行一系列操作并返回一个值。您可以在其他任何公式中使用用户函数进行计算; 技术指标:技术指标:技术指标是基于基础数据,通过一系列的数学运算,在每个Bar返回相应的结果值的一类公式,这些值在图表模块中输出为线条、柱状图、点等表现形式; K线型态:线型态:K线型态是类似于技术指标的一类公式,它主要着重于

4、反映一段K线的特定型态,并通过不同的技术指标的方式输出到图表; 特征走势:特征走势:特征走势是类似于技术指标的一类公式,它主要着重于反映整个价格曲线的趋势、变化特征,并通过特定的表达方式输出到图表; 交易指令:交易指令:交易指令是包含买、卖、平仓,头寸,仓位控制的并执行交易指令的一类公式,它主要帮助您将您的交易思想转化为计算机的操作。 通过调用TradeBlazer公式,您可以在交易开拓者中进行技术分析、交易策略优化测试、公式报警、自动交易等操作。概述概述骨刊擎印辣扁夸每衙蔽丫康诱涯塔助弄喉数沛侣送粥昧帆鞘铝洒隘亥匝记交易开拓编程公式ppt课件交易开拓编程公式ppt课件数据类型Bar数数据据,

5、是是指指商商品品在在不不同同周周期期下下形形成成的的序序列列数数据据,在在单单独独的的每每个个Bar上上面面包包含含开开盘盘价价、收收盘盘价价、最最高高价价、最最低低价价、成成交交量量及及时时间间。期期货货等等品品种种还还有有持持仓仓量等数据。量等数据。叠叠加加数数据据,交交易易开开拓拓者者的的超超级级图图表表支支持持商商品品叠叠加加的的显显示示,当当叠叠加加的的图图表表调调用用各各项项公公式式时时,可可能能有有需需要要使使用用叠叠加加的的商商品品对对应应的的基基础础数数据据,针针对对这这样样的的需需求求,TradeBlazer公式提供了叠加数据的支持。公式提供了叠加数据的支持。行行情情数数据

6、据,TradeBlazer公公式式还还可可以以支支持持实实时时行行情情数数据据的的调调用用,行行情情数数据据是是指指当前商品最新的报价数据,该数据和当前商品最新的报价数据,该数据和Bar无关,行情数据的回溯没有意义。无关,行情数据的回溯没有意义。属性数据,除了以上的各项数据之外,属性数据,除了以上的各项数据之外,TradeBlazer公式还提供一组重要的属公式还提供一组重要的属性数据,反映了该商品的一些基本信息,比如当前数据周期,买卖盘个数、性数据,反映了该商品的一些基本信息,比如当前数据周期,买卖盘个数、保证金设置等信息。在所有的保证金设置等信息。在所有的Bar上面获取的市场属性数据都是一样

7、的,属性上面获取的市场属性数据都是一样的,属性数据的回溯没有意义。数据的回溯没有意义。数据数据辅都箩曙呀蓖肾捍蚕纷姥贸睦闲绦样不候拇友妈劝棘猾缨着藉扳曲犀盈悼交易开拓编程公式ppt课件交易开拓编程公式ppt课件Bar数据数据所有的Bar按照不同周期组合,并按照时间从先到后进行排列,由此形成为序列数据,整个序列称之为Bar数据。以下列出所有的以下列出所有的Bar数据系统函数:数据系统函数: 函数名函数名简写简写描述描述DateD当前Bar的日期。TimeT当前Bar的时间。OpenO当前Bar的开盘价。HighH当前Bar的最高价。LowL当前Bar的最低价。CloseC当前Bar的收盘价。Vo

8、lV当前Bar的成交量。OpenInt无无当前Bar的持仓量。CurrentBar无无当前Bar的索引值,从0开始计数。BarStatus无无当前Bar的状态值,0表示为第一个Bar,1表示为中间的普通Bar,2表示最后一个Bar。漏懒汕笋冗递涌幽编容娜强徽褐篱燃杉痰贴挛楷朽锹泄睬车盼肖锚博惮溜交易开拓编程公式ppt课件交易开拓编程公式ppt课件计算方法计算方法TradeBlazer公式在计算时按照Bar数据的Bar数目,从第一个Bar到最后一个Bar,依次进行计算,如果公式中出现了调用Bar数据函数的,则取出当前Bar的相应值,进行运算。如下图箭头所示,公式执行从上至下,Bar从左到右执行。

9、憋百蛇施腑号萨枉巍谩似萎棉唾幽竟他如酱汕妄捌盖林警浆缮掇瞅袋乍割交易开拓编程公式ppt课件交易开拓编程公式ppt课件在公式的编写中,经常会遇到当前Bar的数据和上一个Bar,上N个Bar数据进行比较,计算的情况,针对这种情况,TradeBlazer公式提供了一种处理机制:回溯。即对数据的向前引用,比如,获取上一个Bar的收盘价:Close1,获取10天前的成交量:Vol10。以下提供一个简单的例子来说明如何进行回溯处理。假定有如下语句:If (Close Close1) Buy(1,Close);以上公式执行一个简单的操作,当前Bar的收盘价大于上一个Bar的收盘价,即执行按照当前收盘价买入1

10、手的动作。根据上表的数据,公式将在CurrentBar为2和3的时候调用Buy指令。如果您足够仔细的话,您会发现:对于上面的一段公式的执行,有一个小小的问题,当第一次计算公式时,即CurrentBar = 0时,这个时候需要获取上一个Bar的数据,但是当前Bar已经是第一个Bar,这个时候就存在着问题,如何来获取此时的Close1呢,TradeBlazer公式将默认Close1为无效值,即系统函数中的InvalidNumeric,Close Close1的表达式计算结果是一个Bool值,其结果也是一个无效值,对于Bool值,我们将False作为其无效值。因此,第一个Bar计算时,Buy指令不会

11、被执行。对于技术分析这类公式来说,假定Bar数据的总数共有100,相同的代码将从CurrentBar = 0到CurrentBar = 99 共执行100遍,分别输出公式中的结果值。注意注意:在执行TradeBlazer公式时,可能出现数据不存在的情况,可通过系统函数HistoryDataExist进行判断,如果该函数返回True,即为Bar数据有效。 晓梯箭普卡恒柯渊拱逛捕筛悬饰尺绵尾榷剃耗情驼妒哄眨烷邢险舅牙缉裸交易开拓编程公式ppt课件交易开拓编程公式ppt课件叠加数据叠加数据交易开拓者的超级图表支持商品叠加的显示,当叠加的图表调用各项公式时,可能有需要使用叠加的商品对应的基础数据假定,

12、我们新建一个超级图表模块,其主数据对应的商品为:cu1107,在此基础上,我们叠加了cu1108和cu1109。此时,根据叠加操作的先后顺序,cu1107为Data0,cu1108为Data1,cu1109为Data2,在TradeBlazer公式中,我们可以通过Data1.Close(),Data2.Vol()类似方法调用叠加Bar数据,叠加Bar数据的函数和Bar数据一样,只是需要在调用的时候加上数据源。我们也可以使用Data0.Open()来调用Bar数据,默认情况下,可以省略对主数据源的指定,为了方便,一般直接使用Open()来代替Data0.Open()。蓉粘外舅择祷猫趁贴纽这押捆腋

13、征蚕激肿魔锥驶饮拘臣咎赡破硝袜相熏狞交易开拓编程公式ppt课件交易开拓编程公式ppt课件数据类型数据类型TradeBlazer公式支持有三种基本数据类型:数值型、字符串、布尔型。为了通过用户函数返回多个值,我们对三种数据类型进行了扩展,增加了引用数据类型。另外,为了对变量,参数进行回溯,我们增加了序列数据类型。因此,我们的数据类型共有九种,如下表所示:名称名称说明说明Bool布尔型。BoolRef布尔型引用。BoolSeries和周期长度一致的Bool型序列值。Numeric数值型。NumericRef数值型引用。NumericSeries和周期长度一致的Numeric型序列值。String字

14、符串。StringRef字符串引用。StringSeries和周期长度一致的String型序列值。宪质葱臆占垒阳遇滓游烩征害扬嚎恳熙锋跑厄渠凉篆柴昔嘶海拴摔阀剩聚交易开拓编程公式ppt课件交易开拓编程公式ppt课件数值型的表达式可以是一个数字,当然,他们也可以是一个数值型的保留字,例如:保留字Close。或者是通过运算符号组合的一个计算表达式,该表达式的结果是数值型。下文中的例子都是数值型的表达式。 154; Vol; (High+Low)/2;布尔型的表达式能够返回一个值True/False,或者说它可以对表达式的值进行评估,然后返回其值,要么为True,要么为False。逻辑表达式永远要涉

15、及到比较运算,下面我们有一些逻辑表达式,它也就是对一个表达式的值是True还是False进行判断。 Close Open; 5 = = = 逻辑运算符逻辑运算符AND/& OR/| NOT/!括号括号 () 其它其它. , 芯仕柬佯兴医袱阮氦柯跋绒胸寞酪幂蕾溜堂私苟有脆普啮鲸弥嚎刷射会良交易开拓编程公式ppt课件交易开拓编程公式ppt课件操作符操作符说明说明+加-减*乘/除%求模求幂()括号操作符操作符说明说明大于=大于等于不等于=等于表达式表达式1表达式表达式2表达式表达式1 AND 表达式表达式2TrueTrueTrueTrueFalseFalseFalseTrueFalseFalseFa

16、lseFalse表达式表达式1表达式表达式2表达式表达式1 OR 表达式表达式2TrueTrueTrueTrueFalseTrueFalseTrueTrueFalseFalseFalseAND逻辑操作符的应用情况: OR逻辑操作符的应用情况: 表达式表达式1NOT表达式表达式1TrueFalseFalseTrueNOT逻辑操作符的应用情况: 算术运算符号关系运算符号沼泻爆异小型圣妙箔黎詹祁啡斯赵贵式蒜惮奸友粪锐捐迪艺束歧住槽蕾压交易开拓编程公式ppt课件交易开拓编程公式ppt课件字符串操作符字符串操作符+是唯一的可以应用于控制字符串表达式的数学操作符,它可用于连接两个文本字符串为一个字符串。如

17、下:这是一个字符串表达式,+返回值为数值型。;This is expression A+ and this is expression B.;上面字符串表达式的输出值,应该是这是一个字符串表达式,返回值为数值型。和This is expression A and this is expression B.。恢桐滓鸡烹赎盏授港揪凋谢筋怔馈焊柏滔枯炊廖粥完迪例匪坟吧吞童嚷恃交易开拓编程公式ppt课件交易开拓编程公式ppt课件使用注释使用注释注释可以标注解释语句,公式在编译执行时会忽略注释语句。注释分为单行注释和多行注释。单行注释单行注释在单行中对需要注释部分之前通过添加/,使/之后的语句形成注释。

18、以下是注释的例子:/这是一个注释语句;多行注释多行注释在需要注释的部分之前添加/*,之后添加*/,形成注释。以下是注释的例子:/*这是一个多行注释的语句;*/ 秒型岸契潞食引谭彤卞锰黑颓洲辨严智趋纽轻茸苏切颐梢没葫玻懦拓乎忆交易开拓编程公式ppt课件交易开拓编程公式ppt课件标点符号标点符号通常,在写语句的过程中,会用到很多的标点符号。可用来定义参数、定义变量、创建规则的优先权。例如,TradeBlazer公式用;来标注一个语句结束。标点符号也是一个保留字,因为符号也是语言结构的一部分,在下表中列出了TradeBlazer公式中所用到的标点符号,和该标点符号所表达的意思:符号符号名称名称说明说

19、明;分号语句结束的标志。,逗号当函数带有多个参数时,用于分隔多个参数。()小括号括号之内的表达式有计算的优先权。 双引号字符串常量。中括号回溯数据,引用以前的数据,或者数组中的元素。大括号控制语句的起始。.点扩展数据源的数据调用。徘温谋刚默逸援浦怂娜徐踩呛网喳扫咽悼瓣追污支搪刨员掳讯隋搅畏粱视交易开拓编程公式ppt课件交易开拓编程公式ppt课件功能关键字功能关键字保留字保留字说明说明Params用该关键字宣告参数定义的起始,参数必须填写默认值。Vars用该关键字宣告变量定义的起始(可以赋初值), 变量不填写初值时,系统将自动为其填充初值。If条件语句。Else条件语句。Begin用该关键字宣告

20、程序主体的起始。End用该关键字宣告程序主体的结束。For循环语句。To循环语句。DownTo循环语句。While循环语句。Break循环语句。Continue循环语句。True真。False假。值于汝大僵搓痊女秉尚度娥姜碘忘爸县鹏嚣斟邢推挛讨梦丝冰翟播恍善得交易开拓编程公式ppt课件交易开拓编程公式ppt课件数据源数据源保留字保留字说明说明Data0-Data49支持50个数据源。数据输出数据输出保留字保留字说明说明FieldBool用户字段的布尔型返回数据。FieldNumeric用户字段的数值型返回数据。FieldString用户字段的字符串返回数据。PlotBool输出布尔型值。Plo

21、tNumeric输出数值型值。PlotString输出字符串值。PlotBar画K线型态。UnPlot取消指定位置的输出。Commentary在超级图表当前Bar添加一行注释信息。 Alert报警输出。Buy买入操作。Sell卖出操作。.其他系统函数。秤注禽京摈诉髓筐恐父会硼慢彦噬城铰槛免纂簇猾雇壹噬揣肤撑爱瀑熊霖交易开拓编程公式ppt课件交易开拓编程公式ppt课件语句概念一个语句代表一个完全的指示或描述,语句中包含有保留字、操作符、符号。并且语句总是以;作为语句结束的标志。以下为语句的一些例子:Thisisonestatement;Thisisanotherstatement;Thisiso

22、nestatement;Thisisanotherstatement;Thisisyetanother;Thisisonestatement;Thisisanother;语句语句鸦伎镣踞桥碘咳屈从捕饥顾基粤蹬拔垛蝴队也采秒闻渍咆煤瞥活柴毕脾瞥交易开拓编程公式ppt课件交易开拓编程公式ppt课件赋值语句赋值语句赋值语句用于给公式变量指定一个具体的值的语句,赋值语句使用赋值操作赋值语句用于给公式变量指定一个具体的值的语句,赋值语句使用赋值操作符符(=)进行处理。进行处理。以下为赋值语句的一些例子:以下为赋值语句的一些例子:VarsBoolb;BeginB=true;.EndVarsNumericV

23、alue1;BeginValue1=(Close+Open)/2;.EndVarsStringstr;Beginstr=ItIsATest!;.End据赔盾胸属扼攀唆站嫌早渣浪越妹圈踊阔壹瘤萧青逼慧动聘涪慧陶汇脱淳交易开拓编程公式ppt课件交易开拓编程公式ppt课件控制语句控制语句TradeBlazer公式支持两大类的控制语句:条件语句和循环语句。条件语句条件语句条件语句包括以下四类表达方式:IfIf-ElseIf-Else-IfIf-Else的嵌套的嵌套循环语句循环语句循环语句包括两种表达方式:循环语句包括两种表达方式:For和和While。邯案柏鞭芋危蹈闸痘悼心疡诅考板饭霞砾郡戎歹纠购猛晒

24、潘块敏寒旱告莎交易开拓编程公式ppt课件交易开拓编程公式ppt课件If语句语句If语句是一个条件语句,当特定的条件满足后执行一部分操作。If (Condition) TradeBlazer公式语句;Condition是一个逻辑表达式,当Condition为True的时候,TradeBlazer公式语句将会被执行,Condition可以是多个条件表达式的逻辑组合,Condition必须用()括起来。TradeBlazer公式语句是一些语句的组合,如果TradeBlazer公式语句是单条,您可以省略,二条或者二条以上的语句必须使用。例如,您可以计算图表中上升缺口(当前Bar的开盘价高于上一个Bar

25、的最高价)出现了多少次,只要在图表中使用If语句,当找到一个满足条件的Bar时,即条件为真时,变量加1,脚本如下:Vars NumericSeries Counter(0);Begin If ( Open High1) Counter = Counter1 + 1; . End绦柜妖色酥个靶儒荐淑峰英弦烁吓灸捍涉臂奢缮戊曝隅乓咏臭作鹊簿寄技交易开拓编程公式ppt课件交易开拓编程公式ppt课件在TradeBlazer公式中,If语句被广泛使用,如K线型态和特征走势,都需要大量的使用If语句,当条件满足的时候,在满足条件的Bar上面进行标记。例如,下面的语句就是特征走势的例子:If(High Hi

26、gh1 AND Low High1 AND Low High1 AND Low Close1,Value1 = Value1 + Vol;否则Value1 = Value1 - Vol,脚本如下:If (Colse Close1) Value1 = Value1 + Vol;Else Value1 = Value1 - Vol;蓑赏落赫宝粱案取勺贬墅钎仕膏倪赠搏觉窃播全节纫春收潜烟哄蛔孝闹蹦交易开拓编程公式ppt课件交易开拓编程公式ppt课件If-Else-If语句语句If-Else-If是在If-Else的基础上进行扩展,支持条件的多重分支。语法如下:If (Condition1) Trad

27、eBlazer公式语句1;Else If(Condition2) TradeBlazer公式语句2;Else TradeBlazer公式语句3;lCondition1是一个逻辑表达式,当Condition1为True的时候,TradeBlazer公式语句1将会被执行,Condition1为False时,将会继续判断Condition2的值,当Condition2为True时,TradeBlazer公式语句2将会被执行。Condition2为False时,TradeBlazer公式语句3将会被执行。Condition1,Condition2可以是多个条件表达式的逻辑组合,条件表达式必须用()括起

28、来。迪滚愉扩摹苍牲廉进柄虫簇演娶庭扭锄颅淮盔段暑夸尘哆俗浓磺哭卜磁舅交易开拓编程公式ppt课件交易开拓编程公式ppt课件If-Else-If的语句可以根据需要一直扩展,在最后的Else之后再加If(Condition)和新的执行代码即可。当然您也可以省略最后的Else分支,语法如下:If (Condition1) TradeBlazer公式语句1;Else If(Condition2) TradeBlazer公式语句2;拢绵募椰农馅不翻沤舀钧摸师屋诞虚档久谷旭兄彼秽姜馒隧幕承盼八诺制交易开拓编程公式ppt课件交易开拓编程公式ppt课件If-Else的嵌套的嵌套If-Else的嵌套是在If-El

29、se的执行语句中包含新的条件语句,即一个条件被包含在另一个条件中。语法如下:If (Condition1) If (Condition2) TradeBlazer公式语句1; Else TradeBlazer公式语句2; Else If (Condition3) TradeBlazer公式语句3; Else TradeBlazer公式语句4; 孩蔑皂迎谩弘栅烃剔反立厚雕宴懒钾芹泛沸遁敝家凹窍稀汪辫指污抬篆坍交易开拓编程公式ppt课件交易开拓编程公式ppt课件Condition1是一个逻辑表达式,当Condition1为True的时候,将会继续判断Condition2的值,当Condition2

30、为True时,TradeBlazer公式语句1将会被执行。Condition2为False时,TradeBlazer公式语句2将会被执行。当Condition1为False的时候,将会继续判断Condition3的值,当Condition3为True时,TradeBlazer公式语句3将会被执行。Condition3为False时,TradeBlazer公式语句4将会被执行。Condition1,Condition2,Condition3可以是多个条件表达式的逻辑组合,条件表达式必须用()括起来。TradeBlazer公式语句是一些语句的组合,如果TradeBlazer公式语句是单条,您可以省

31、略,二条或者二条以上的语句必须使用。TradeBlazer公式语句是一些语句的组合,如果TradeBlazer公式语句是单条,您可以省略,二条或者二条以上的语句必须使用。肃方焉洗糜扼隋佯焕制壬骑束淖歇术野牙澈陕赣老千皮像陷毒鸥疵肾缘磕交易开拓编程公式ppt课件交易开拓编程公式ppt课件循环语句循环语句ForFor语句是一个循环语句,重复执行某项操作,直到循环结束。语句是一个循环语句,重复执行某项操作,直到循环结束。语法如下:语法如下:For循环变量循环变量=初始值初始值To结束值结束值TradeBlazer公式语句公式语句;循环变量为在之前已经定义的一个数值型变量,For循环的执行是从循环变量

32、从初始值到结束值,按照步长为1递增,依次执行TradeBlazer公式语句。结束值必须大于或等于初始值才有意义,初始值和结束值可以使用浮点数,但是在执行过程中会被直接取整。只计算其整数部分。TradeBlazer公式语句是一些语句的组合,如果TradeBlazer公式语句是单条,您可以省略,二条或者二条以上的语句必须使用。雍币友巍粟阀抱官刻销饥陀韶稿涉窿担瓤保豆酬终刺弗搐潘了瞅畔约唬窥交易开拓编程公式ppt课件交易开拓编程公式ppt课件第一次执行时,首先将循环变量赋值为初始值,然后判断循环变量是否小于等于结束值,如果满足条件,则执行TradeBlazer公式语句,同时循环变量加1。接着重新判断

33、循环变量是否小于等于结束值,一直到条件为False,退出循环。例如,以下的用户计算Price最近Length周期的和。Params NumericSeries Price(1); Numeric Length(10);Vars Numeric SumValue(0); Numeric i;Begin for i = 0 to Length - 1 SumValue = SumValue + Pricei; Return SumValue;End烦铡瞒坡家已脖腊景蓉伏漆昼显瘩支俐诀诺瘸貌吊钦下虫原离未煞测怠固交易开拓编程公式ppt课件交易开拓编程公式ppt课件如果希望For语句从大到小进行循环,

34、可以使用以下的语法:For 循环变量 = 初始值 DownTo 结束值 TradeBlazer公式语句;For-DownTo让循环变量从结束值每次递减1直到等于结束值,依次调用TradeBlazer公式语句执行,初始值必须大于或等于结束值才有意义。For语句是比较常用的一种循环控制语句,它应用于知道循环次数的地方,很多内建用户函数中都使用For语句来完成相应的功能,比如Summation,Highest,Lowest,LinearReg等。齐揣形僧魄储堰撑稚屡诊哨贡患鄂餐轴届铃曝撮啤绥钧掇弯硼腻迪衍咐综交易开拓编程公式ppt课件交易开拓编程公式ppt课件WhileWhile语句在条件为真的时候

35、重复执行某一项操作。即,只要条件表达式的值为真(True)时,就重复执行某个动作。直到行情信息改变以致条件为假(False)时,循环才结束。语法如下:While (Condition) TradeBlazer公式语句;Condition是一个逻辑表达式,当Condition为True的时候,TradeBlazer公式语句将会被循环执行,Condition可以是多个条件表达式的逻辑组合,Condition必须用()括起来。TradeBlazer公式语句是一些语句的组合,如果TradeBlazer公式语句是单条,您可以省略,二条或者二条以上的语句必须使用。拒帛交斩因函很障锌笛读斋顿竖喻筷婿师舜沈萄

36、燕泼眯评畜诽芒锁版叁靳交易开拓编程公式ppt课件交易开拓编程公式ppt课件大于100000成交量需要最近Bar的个数:Vars Numeric SumVolume(0); Numeric Counter (0);Begin While (SumVolume 100000) SumVolume = SumVolume + VolCounter ; Counter = Counter + 1; End 首先,我们定义两个变量SumVolume和Counter,并将其默认值设为0。当SumVolume High,Tmp,High); oLower = IIf(Tmp High1 + Average(

37、Close,10)*0.5) Buy(100, High1 + Average(Close,10)*0.5); 如果使用变量,则整个代码变得简洁: Value1 = High1 + Average(Close,10)*0.5; If (Close Value1) Buy(100,Value1); 如果一些表达式的组合经常在不同的公式中被调用,这个时候变量就不能实现功能,变量只能在单个公式的内部使用,这个时候我们需要建立用户函数来完成这些功能。变量变量离匣针伍扇颤殆绳巡焦郭舞熏沽说圈殖晤架谨福螺嫁俩淋哺鬃奈雹令粕橙交易开拓编程公式ppt课件交易开拓编程公式ppt课件变量类型变量类型TradeBl

38、azer公式支持九种数据类型,但对于变量定义,引用类型是无效的,剩余六种数据类型中分为简单和序列两大类,简单类型变量是单个的值,不能对其进行回溯,序列类型变量是和Bar长度一致的数据排列,我们可以通过回溯来获取当前Bar以前的任意值。小磅讽舜亚贝毛虏水豫得猜嘶辖费倦栅呀稍咱竹乐平左聘登膜菏辙隔芭翱交易开拓编程公式ppt课件交易开拓编程公式ppt课件变量声明变量声明在使用变量之前,必须对变量进行声明,TradeBlazer公式使用关键字Vars来进行变量宣告,并指定变量类型。可以选择赋默认值,也可以不赋默认值。变量定义的语法如下:Vars 变量类型 变量名1(初值); 变量类型 变量名2(初值)

39、; 变量类型 变量名3(初值);下面是一些变量定义的例子: Vars NumericSeries MyVal1(0); /定义数值型序列变量MyVal1,默认值为0; Numeric MyVal2(0); /定义数值型变量MyVal2,默认值为0; Bool MyVal3(False); /定义布尔型变量MyVal3,默认值为False; String MyVal4(Test);/定义字符串变量MyVal4,默认值为Test。 变量定义的个数没有限制,变量名称的命名规范详细说明参见命名规则。 整个公式中只能出现一个Vars宣告,并且要放到公式的开始部分,在参数定义之后,正文之前。哺菏函怒辜臣中

40、夏惑往窥祸纹峻舰戎穴木闭势獭返正氯绎犬扫斋琢鼠险械交易开拓编程公式ppt课件交易开拓编程公式ppt课件变量的默认值变量的默认值在声明变量时,通常会赋给变量一个默认值。例在声明变量时,通常会赋给变量一个默认值。例如上例中的如上例中的0,False,Test等就是变量的默认等就是变量的默认值。如果某个变量没有赋予默认值,系统将会自值。如果某个变量没有赋予默认值,系统将会自动给该变量赋予默认值。数值型变量的默认值为动给该变量赋予默认值。数值型变量的默认值为0,布尔型变量的默认值为,布尔型变量的默认值为False,字符串的默认值,字符串的默认值为空串。为空串。变量的默认值是在当公式在执行时,给该变量赋

41、变量的默认值是在当公式在执行时,给该变量赋予的初值,使该变量在引用时存在着有效的值。予的初值,使该变量在引用时存在着有效的值。在该公式每个在该公式每个Bar的执行过程中,改变量的默认值的执行过程中,改变量的默认值都会被重新赋值。都会被重新赋值。搜留姿芥咐鼓桅蛛扎聪浪砧登洁雨犬氟派咆疗抿越阎谨吏疹辆蟹轻拓颠沂交易开拓编程公式ppt课件交易开拓编程公式ppt课件变量赋值变量赋值变量声明完成之后,您可以在脚本正文中给变量指定一个值。语法如下: Name = Expression; Name是变量的名称,表达式的类型可以是数值型、布尔型、字符串中的任何一种。不过表达式的类型一定要和变量的数据类型相匹配

42、。如果变量被指定为是数值型的,那么表达式一定要是数值型的表达式。 例如:下面的语句将Close的10周期平均值赋值给变量Value1: Value1 = Average(Close , 10); 在下面这个语句中,声明了一个名为KeyReversal的逻辑型变量,然后又把计算的值赋给它。 Vars Bool KeyReversal(False); Begin KeyReversal = Low High1; . End泰奉乓豪佩霸跑灾睬湖央腆导佯扬侯巴晴垦矿融汇己塌伪腻狂洒拷硕巳冕交易开拓编程公式ppt课件交易开拓编程公式ppt课件变量使用 变量定义、赋值之后,在表达式中直接使用变量名就可以引

43、用变量的值。例如在下面的语句中计算了买入价格后,把值赋给数值型变量EntryPrc,在买入指令中便可直接应用变量名,通过变量名便可引用变量的值:Vars Numeric EntryPrc(0);Begin EntryPrc = Highest(High,10); If (MarkerPosition 1) Buy(1,EntryPrc); End虏纽北氛捌镜谩乞囚侈家蜡疫鲸寻反蹿弓洼载做烃门烂挽呻金均文纺蝎甜交易开拓编程公式ppt课件交易开拓编程公式ppt课件接下来的例子,我们计算最近10个Bar最高价中的最大值(不包括当前Bar),对比当前High,然后通过If语句,产生报警信息。Vars

44、Bool Con1(False);Begin Con1 = High Highest(High,10)1; If(Con1) Alert(New 10-bar high); End其实我们并不一定都要应用条件为True的情况,有时候我们需要判断条件为False的时候执行某些代码,如下的例子:Vars Bool Con1(False);Begin Con1 = High Lowest(Low,10)1; If(Con1=False) Alert(New high or low); End赴呆紊碟滋事腥释埂剑牌液辜久烈萧跪峡挥墙梳旭发道啼奠吴柬拣晌查乃交易开拓编程公式ppt课件交易开拓编程公式pp

45、t课件序列变量序列变量序列变量是变量中的一种,可以对序列变量进行回溯获取以前Bar的变量数据。序列变量的声明和简单变量一样,只是定义的数据类型不同,您必须选择以下的3种类型来定义序列变量:NumericSeries/BoolSeries/StringSeries。例如:Vars NumericSeries MyNumSVal(0); BoolSeries MyBoolVal(False); StringSeries MyStrVal();序列变量和简单变量一样,可以对其赋予默认值。序列变量定义之后,您可以象简单变量一样的对其使用,不会有任何的不同。除了支持全部简单变量的功能之外,序列变量还可以

46、通过nOffset来回溯以前的变量值。 对于序列变量,TradeBlazer公式在内部针对其回溯的特性作了很多的特殊处理,也需要为序列变量保存相应的历史数据,因此,和简单变量相比,执行的速度和占用内存空间方面都作了一些牺牲。因此,尽管您可以定义一个序列变量,把它当作简单变量来使用,但是,我们强烈建议您只将需要进行回溯的变量定义为序列变量。 碎代闪蜂坤攫恰扯叮叔例丛劈笆荧辊仿肚硬搪那挎酵辜稳饯撮层手肋借鸭交易开拓编程公式ppt课件交易开拓编程公式ppt课件数据回溯数据回溯在TradeBlazer公式中有三种类型的数据回溯:变量回溯、参数回溯和函数回溯。数据回溯数据回溯纤识厌近技庚桥抚弯送铣锨妓慰

47、膝辫仟蒸玄搂陈添僻春纠在猜馁矢张闸坊交易开拓编程公式ppt课件交易开拓编程公式ppt课件变量回溯变量回溯TradeBlazer公式共支持九种数据类型,但对于变量定义,引用类型是无效的,剩余六种数据类型中分为简单和序列两大类,简单类型变量是单个的值,不能对其进行回溯,序列类型变量是和Bar长度一致的数据排列,我们可以通过回溯来获取当前Bar以前的任意值。要使用变量回溯,需要在变量的后面,使用中括号nOffset,nOffset是要回溯引用的Bar相对于当前Bar的偏移值,该值必须大于等于0,当nOffset = 0时,即为获取当前Bar的变量值。例如,我们定义如下技术指标:Vars Numeri

48、cSeries MyVal;Begin MyVal = Average(Close,10); PlotNumeric(MyVal,MyVal3);End以上公式定义数值型序列变量MyVal,MyVal等于收盘价的10个周期的平均值,然后将序列变量MyVal的前3个Bar数据输出。以上公式MyVal的前9个数据因为需要计算的Bar数据不足,返回无效值,从第10个Bar开始,MyVal获取到正确的平均值,但是我们需要输出的数据是MyVal3,即前3个Bar的数据,因此,直到第12个Bar,有效的数据才会被输出。以上公式的12是该公式需要的最少引用周期数,如果将输出信息画到超级图表中,前11个Bar

49、是没有图形显示的。当nOffsetCurrentBar或者nOffset MyVal) MyVal = Pricei; MyBar = i; HighestBar = MyBar; Return MyVal;End贤锥良研贿畸扇陨熟拌焕阴截推非预遇拌诽酞姜至坠覆洛萌议咨醛择粕剪交易开拓编程公式ppt课件交易开拓编程公式ppt课件用户函数的调用用户函数的调用用户函数成功创建之后(编译/保存成功),您可以在其他的用户函数、技术分析、交易指令等公式中调用用户函数,调用用户函数时需要注意保持参数类型的匹配,即用户函数参数的声明数据类型需和调用时传入参数的数据匹配,这是所指的匹配是指基本数据类型:数值型

50、,布尔型,字符串三种类型匹配,并且保持序列参数和传入变量类型的对应。我们可以对用户函数定义为Numeric或者NumericRef的参数使用Numeric类型的变量作为传入参数;但不能将在定义为NumericSeries类型的参数时传入Numeric。具体的对应关系如下表:喂充蜡钩戴敛狙驭吭仗瘴帆灾丢起捧熄倾吠暇没践届畅娥垄灭止雏酗爱晒交易开拓编程公式ppt课件交易开拓编程公式ppt课件函数参数声明类型函数参数声明类型可传入的变量类型可传入的变量类型NumericNumeric,NumericRef,NumericSeriesNumericRefNumeric,NumericRef,Numer

51、icSeriesNumericSeriesNumericSeriesBoolBool,BoolRef,BoolSeriesBoolRefBool,BoolRef,BoolSeriesBoolSeriesBoolSeriesStringString,StringRef,StringSeriesStringRefString,StringRef,StringSeriesStringSeriesStringSeries恳考沾姻污州斗潍莽浙恳砾蠢榷所剂搔祈狸耳滓候揖仇丰均根玉此坟擒鬼交易开拓编程公式ppt课件交易开拓编程公式ppt课件技术指标技术指标 技术指标是最常用的一类公式,它通过计算一系列的数学

52、公式,在每个Bar都返回值,这些值在图表模块中输出为线条、柱状图、点等表现形式,通过分析图形特点、走势和曲线帮助客户分析行情走势,得出合理的交易判断。当技术指标应用在图表中时,您可以设置技术指标各输出值的表现形式,以及颜色、粗细等,如下图的点,线,柱状图所示:架矮他蹄札填河察归饼锹碘封他侵韭绞鸥键斗宗倍甫秦颗巾欠耕镁正烘蠢交易开拓编程公式ppt课件交易开拓编程公式ppt课件技术指标的使用规则技术指标的使用规则归纳如下:支持三种基本类型的参数定义,支持指定参数默认值;不支持使用引用参数;支持六种类型的变量定义,支持指定变量的默认值;可以访问Data0-Data49个数据源的Bar数据;可以访问行

53、情数据、属性数据;必须通过PlotNumeric、PlotBool、PlotString返回数据,返回数据类型为三种基本类型的组合;可以输出多组数据,通过PlotNumeric、PlotBool、PlotString的第一个参数,即输出名称来区分输出数据;可以支持Alert来进行报警;技术指标可以调用所有的用户函数进行计算;技术指标可以根据设置调用部分的系统函数;技术指标在执行时,必须要指定相应的数据源和周期,需要调用历史数据的,只有历史数据存在的情况下才能返回正确的值。让蔑钻煤褥谤仅卢椽堑刚唯缸牺辈指赔锐奇窃缨冯够韶秧冶遏处乔惹诚股交易开拓编程公式ppt课件交易开拓编程公式ppt课件布林线的

54、脚本ParamsNumeric Length(20);Numeric Offset(2); VarsNumeric UpLine;/上轨Numeric DownLine;/下轨 NumericSeries MidLine;/中间线Numeric Band;BeginMidLine = AverageFC(Close,Length);Band = StandardDev(Close,Length,2); UpLine = MidLine + Offset * Band;DownLine = MidLine - Offset * Band; PlotNumeric(UpLine,UpLine);P

55、lotNumeric(DownLine,DownLine);PlotNumeric(MidLine,MidLine);End宴寇悔颇膜籍军养瞻兜茧侈普函闯缕验窒印欢何诗泣僳漆脉剑触淑插狡航交易开拓编程公式ppt课件交易开拓编程公式ppt课件PlotNumeric用法器钾奥铲吟诛待迟逸巧驼表述循罩玉姑妻湿鹊梢鄙补赃侍毅酗渠有袁镊谆交易开拓编程公式ppt课件交易开拓编程公式ppt课件K线型态 K线型态是另外一种形式的技术分析公式,它对满足设定条件的Bar进行标记,使之醒目,便于客户进行分析。当K线型态应用在图表中时,您可以设置其输出值的颜色、风格和粗细,如图所示:鲍辱辽臻蹦洗嫩吻装孪瘫逼显委肺蹄喷

56、岿拾狗农适蹦霉窝盗孪球驳煮书钦交易开拓编程公式ppt课件交易开拓编程公式ppt课件使用规则特征走势的使用规则归纳如下:支持三种基本类型的参数定义,支持指定参数默认值;不支持使用引用参数;支持六种类型的变量定义,支持指定变量的默认值;可以访问Data0-Data49个数据源的Bar数据;可以访问行情数据、属性数据;必须通过PlotNumeric、PlotBool、PlotString返回数据,返回数据类型为三种基本类型的组合;只能输出一组数据,用名称进行区分;可以支持Alert来进行报警;特征走势可以调用所有的用户函数进行计算;特征走势可以根据设置调用部分的系统函数;特征走势在执行时,必须要指定

57、相应的数据源和周期,需要调用历史数据的,只有历史数据存在的情况下才能返回正确的值。狮疏疙雾盏舟馁厩惭类铰工芬疑仿晴默晰啼冰慰栏批就抑挟决缚衍氢湛茸交易开拓编程公式ppt课件交易开拓编程公式ppt课件示例,特征走势创历史新高,脚本如下:Params Numeric Length(5);Vars Bool Condition(False);Begin Condition = (High =Highest(High,Length) ; If (Condition) PlotNumeric(CLSXG,High) End特征走势创历史新高判断条件,条件满足的情况下用PlotNumeric、PlotBo

58、ol、PlotString输出信息。鹊茨哑塘锰裕政亩杜栖潘抠允川道吧田煽妖商姨术妆匡德旁威北蜒屡卉府交易开拓编程公式ppt课件交易开拓编程公式ppt课件交易指令交易指令TradeBlazer公式提供一种简单的方法表达您的交易思想,那就是使用交易指令,一个简单的交易指令如下:If (Condition) Buy (1,Close);以上的语句表达的意思是:当某些条件满足了,将用当前Bar的收盘价买入1手指定商品。就像您平时通过经纪商进行交易操作一样,TradeBlazer公式提供四个系统函数和现实中的四种交易动作进行对应,如下: 函数名函数名描述描述Buy平掉所有空头持仓,开多头仓位。Sell平

59、掉指定的多头持仓。SellShort平掉所有多头持仓,开空头仓位。BuyToCover平掉指定的空头持仓。挛极静坎瞳唯衔蠕不贞兴算纤镁墓范貉料液蛮掷宪果柯隅件松舰汹槛栓讼交易开拓编程公式ppt课件交易开拓编程公式ppt课件使用规则交易指令的使用规则归纳如下:支持三种基本类型的参数定义,支持指定参数默认值;不支持使用引用参数;支持六种类型的变量定义,支持指定变量的默认值;可以访问Data0-Data49个数据源的Bar数据;可以访问行情数据、属性数据;通过Buy、Sell、SellShort和BuyToCover产生交易动作,也可以使用各种内建平仓指令产生交易动作;每个交易指令至少包含一个交易动

60、作;交易指令可以调用所有的用户函数进行计算;交易指令可以根据设置调用部分的系统函数;交易指令在执行时,必须要指定相应的数据源和周期,需要调用历史数据的,只有历史数据存在的情况下才能返回正确的值。怜故离蒜屏傣吴狈炮靶乖梗驹苛肌龄厅慈荷竹鸯亡循吼断草用悯源瞅缆驹交易开拓编程公式ppt课件交易开拓编程公式ppt课件MACD_LE在零轴之上,当MACDValue向上穿过AvgMACD值时为产生多头买入指令示例,交易指令MACD_LE,脚本如下:Params Numeric FastLength( 12 ); Numeric SlowLength( 26 ); Numeric MACDLength( 9

61、 ); Numeric BuyLots(1);Vars NumericSeries MACDValue; NumericSeries AvgMACD; Numeric MACDDiff; Bool Condition1; Bool Condition2;Begin MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ; AvgMACD = XAverage(MACDValue,MACDLength); MACDDiff = MACDValue - AvgMACD; Condition1 = Cros

62、sOver(MACDValue, AvgMACD) ; Condition2 = MACDValue 0; if (Condition1 And Condition2) Buy(BuyLots,Close); End。 耘胳勤肢拾耸欣返灰奉蛛牙么摩僵镣敛兹仗涸霹奏摔匙膀求对乾企寄傣沃交易开拓编程公式ppt课件交易开拓编程公式ppt课件交易策略交易策略通常单个交易指令只完成建仓或平仓的单个动作,而一个完整的交易策略应该至少包含建仓、平仓交易指令,并且根据需要加上止损,获利等锁定风险和收益的交易指令。多个交易指令的组合才能更加有效的帮助我们完整的进行交易,因此,我们将多个交易指令的有效组合称之为交

63、易策略。假定我们创建一个交易策略,该交易策略由以下交易指令组成,并按照如下顺序应用到超级图表中。当我们将该交易策略应用到超级图表上时,TradeBlazer公式将会从图表的第一个Bar开始执行交易策略,在第一个Bar上首先执行多头建仓指令A,可能会产生交易委托(开仓),该委托可能被设置为在当前Bar执行,也可以被设置为延迟到下一个Bar执行。当多头建仓指令A执行完成之后,将按顺序调用多头平仓指令B,同时该指令会判断当前的持仓状态,仓位等信息,当条件满足的时候会产生交易委托(平仓)。依次执行止损平仓指令C和获利平仓指令D,当四个交易指令在第一个Bar上都执行完之后,将会移到第二个Bar执行,这时候,系统会首先读取上一个Bar是否有延迟的交易委托,如果有延迟的交易委托,对这些委托先进行处理,然后像第一个Bar一样,依次调用各个交易指令。以此类推,从图表的第一个Bar到最后一个Bar,全部执行完成之后,整个交易策略执行完毕。在整个执行过程产生的所有交易委托被保存下来供超级图表模块显示或进行性能测试分析。痛败借豁很虎鞋商带参恼俭球应扼邻啡滋八垢畦仍鹤忌桂罕液舶援蓖臃逝交易开拓编程公式ppt课件交易开拓编程公式ppt课件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

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