ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:26.94KB ,
资源ID:20154867      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20154867.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(开拓者代码 学习各种买卖指令及实例.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

开拓者代码 学习各种买卖指令及实例.docx

1、开拓者代码 学习各种买卖指令及实例开拓者代码 学习各种买卖指令及实例.txt点的是烟 抽的却是寂寞不是你不笑,一笑粉就掉!人又不聪明,还学别人秃顶。绑不住我的心就不要说我花心!再牛b的肖邦,也弹不出老子的悲伤!活着的时候开心点,因为我们要死很久。请你以后不要在我面前说英文了,OK?Buy说明 产生一个多头建仓操作。 语法 Buy(Numeric Share=0,Numeric Price=0,Bool Delay=False) 参数 Share 买入数量,为整型值,默认为使用系统设置参数;Price 买入价格,为浮点数,默认=0时为使用现价(非最后Bar为Close);Delay 买入动作是否

2、延迟,默认为当前Bar发送委托,当Delay=True,在下一个Bar执行。 备注 产生一个多头建仓操作,无返回值,该函数仅支持交易指令。该函数仅用于多头建仓,其处理规则如下:如果当前持仓状态为持平,即MarketPosition = 0 时,该函数按照参数进行多头建仓。如果当前持仓状态为空仓,即MarketPosition = -1 时,该函数首先平掉所有空仓,达到持平的状态,然后再按照参数进行多头建仓。如果当前持仓状态为多仓,即MarketPosition = 1 时,该函数将继续建仓,但具体是否能够成功建仓要取决于系统中关于连续建仓的设置,以及资金,最大持仓量等限制。 示例 在Marke

3、tPosition=0的情况下:Buy(50,10.2,1) 表示用10.2的价格买入50张合约,延迟到下一个Bar发送委托。Buy(10,Close) 表示用当前Bar收盘价买入10张合约,马上发送委托。Buy(5,0) 表示用现价买入5张合约,马上发送委托。 BuyToCover说明 产生一个空头平仓操作。 语法 BuyToCover(Numeric Share=0,Numeric Price=0,Bool Delay=False) 参数 Share 买入数量,为整型值,默认为平掉当前所有持仓;Price 买入价格,为浮点数,默认=0时为使用现价(非最后Bar为Close);Delay 买

4、入动作是否延迟,默认为当前Bar发送委托,当Delay=True,在下一个Bar执行。 备注 产生一个空头平仓操作,无返回值,该函数仅支持交易指令。该函数仅用于空头平仓,其处理规则如下:如果当前持仓状态为持平,即MarketPosition = 0 时,该函数不执行任何操作。如果当前持仓状态为多仓,即MarketPosition = 1 时,该函数不执行任何操作。如果当前持仓状态为空仓,即MarketPosition = -1 时,如果此时Share使用默认值,该函数将平掉所有空仓,达到持平的状态,否则只平掉参数Share的空仓。 示例 在MarketPosition = -1的情况下:Buy

5、ToCover(50,10.2,1) 表示用10.2的价格空头买入50张合约,延迟到下一个Bar发送委托。BuyToCover(10,Close) 表示用当前Bar收盘价空头买入10张合约,马上发送委托。BuyToCover(5,0) 表示用现价空头买入5张合约),马上发送委托。 sell说明 产生一个多头平仓操作。 (BK)语法 Sell(Numeric Share=0,Numeric Price=0,Bool Delay=False) 参数 Share 卖出数量,为整型值,默认为平掉当前所有持仓;Price 卖出价格,为浮点数,默认=0时为使用现价(非最后Bar为Close);Delay

6、卖出动作是否延迟,默认为当前Bar发送委托,当Delay=True,在下一个Bar执行。 备注 产生一个多头平仓操作,无返回值,该函数仅支持交易指令。该函数仅用于多头平仓,其处理规则如下:如果当前持仓状态为持平,即MarketPosition = 0 时,该函数不执行任何操作。如果当前持仓状态为空仓,即MarketPosition = -1 时,该函数不执行任何操作。如果当前持仓状态为多仓,即MarketPosition = 1 时,如果此时Share使用默认值,该函数将平掉所有多仓,达到持平的状态,否则只平掉参数Share的多仓。 示例 在MarketPosition=0的情况下:Sell(

7、50,10.2,1) 表示用10.2的价格卖出50张合约,延迟到下一个Bar发送委托。Sell(10,Close) 表示用当前Bar收盘价卖出10张合约,马上发送委托。Sell(5,0) 表示用现价卖出5张合约,马上发送委托。 sellshort说明 产生一个空头建仓操作。 语法 SellShort(Numeric Share=0,Numeric Price=0,Bool Delay=False) 参数 Share 卖出数量,为整型值,默认为使用系统设置参数;Price 卖出价格,为浮点数,默认=0时为使用现价(非最后Bar为Close);Delay 卖出动作是否延迟,默认为当前Bar发送委托

8、,当Delay=True,在下一个Bar执行。 备注 产生一个空头建仓操作,无返回值,该函数仅支持交易指令。该函数仅用于空头建仓,其处理规则如下:如果当前持仓状态为持平,即MarketPosition = 0 时,该函数按照参数进行空头建仓。如果当前持仓状态为多仓,即MarketPosition = 1 时,该函数首先平掉所有多仓,达到持平的状态,然后再按照参数进行空头建仓。如果当前持仓状态为空仓,即MarketPosition = -1 时,该函数将继续建仓,但具体是否能够成功建仓要取决于系统中关于连续建仓的设置,以及资金,最大持仓量等限制。 示例 在MarketPosition=0的情况下

9、:SellShort(50,10.2,1) 表示用10.2的价格空头卖出50张合约,延迟到下一个Bar发送委托。SellShort(10,Close) 表示用当前Bar收盘价空头卖出10张合约,马上发送委托。SellShort(5,0) 表示用现价空头卖出5张合约,马上发送委托。对应的BPK,SPK,你清楚了吗函数名 描述 Buy 平掉所有空头持仓,开多头仓位。(*BPK*) Sell 平掉指定的多头持仓。 SellShort 平掉所有多头持仓,开空头仓位。 (*SPK*)BuyToCover 平掉指定的空头持仓。获得当前持仓状态,太妙了MarketPosition说明 获得当前持仓状态。 语

10、法 Integer MarketPosition() 参数 无 备注 获得当前持仓状态,返回值为整型,该函数仅支持交易指令。返回值定义如下:-1 当前位置为持空仓0 当前位置为持平1 当前位置为持多仓 示例 无内建平仓指令-精华之特色内建平仓指令除了上节的Sell和BuyToCover可以进行平仓之外,TradeBlazer公式提供了额外的八种平仓函数,通过合理的应用内建平仓函数,可以帮助您有效的锁定风险并及时获利。您可以组合使用内建平仓函数,也可以在自己的交易指令中调用内建平仓函数进行平仓,八个内建平仓函数如下:函数名 描述 SetExitOnClose 该平仓函数用来在当日收盘后产生一个平

11、仓动作,将当前所有的持仓按当日收盘价全部平掉。 SetBreakEven 该平仓函数在获利条件满足的情况下启动,当盈利回落达到保本时产生平仓动作,平掉指定的仓位。 SetStopLoss 该平仓函数在亏损达到设定条件时产生平仓动作,平掉指定的仓位。 SetProfitTarget 该平仓函数在盈利达到设定条件时产生平仓动作,平掉指定的仓位。 SetPeriodTrailing 该平仓函数在盈利回落到设定条件时产生平仓动作,平掉指定的仓位。 SetPercentTrailing 该平仓函数在盈利回落到设定条件时产生平仓动作,平掉指定的仓位。 SetDollarTrailing 该平仓函数在盈利回

12、落到设定条件时产生平仓动作,平掉指定的仓位。 SetInactivate 该平仓函数在设定时间内行情一直在某个幅度内波动时产生平仓动作,平掉指定的仓位。 关于ExitPosition上述多个平仓函数都用到了参数ExitPosition,作为平仓函数仓位控制的重要参数,有必要对该参数进行单独说明。ExitPosition是布尔型参数,当ExitPosition=True时,表示将当前所有的持仓作为一个整体,根据其平均建仓成本,计算各平仓函数的盈亏,当条件满足时,会将所有仓位一起平掉;当ExitPosition=False时,表示单独对每个建仓位置进行平仓,单独计算各平仓函数盈亏时,当单个建仓位置

13、条件满足后,平掉该建仓位置即可。触发单触发单触发单是交易开拓者特有的交易方式,触发单是指用户设置条件,将触发单提交到交易开拓者的交易服务器,当设定条件满足情况,交易服务器会自动发送委托到交易所。触发单可以帮助解决用户盯盘的辛苦,及手动发单的速度问题。触发单分为以下四种类型:吊买、吊卖、追买、追卖。每个触发单在发送时需要输入以下参数:触发价格:触发单设定的条件价格,通过比较现价和触发价格确定是否下单。下单之后,该触发单会从交易服务器中删除;执行价格:条件满足之后,发送委托的价格,设定为0可自动获取当时的叫买/卖价;过期时间:设定触发单的过期时间,到这个时间还没有触发的订单会被设为过期,不再进行监

14、控。吊买吊买是指当现价向下跌破触发价格,即按执行价格产生一个即时买入委托单,如下图所示:吊卖吊卖是指当现价向上突破触发价格,即按执行价格产生一个即时卖出委托单,如下图所示:追买追买是指当现价向上突破触发价格,即按执行价格产生一个即时买入委托单,如下图所示:追卖追卖是指当现价向下跌破触发价格,即按执行价格产生一个即时卖出委托单,如下图所示:修改或删除触发单当存在某个商品的触发单,可通过双击帐户管理的触发单页面的项目,打开交易师,进行修改或删除操作。您可以修改数量、触发单类型、触发价格、执行价格、过期时间及止损获利等,完成修改之后,点击修改按钮即可完成修改;您可以直接点击删除按钮将该触发单删除。注

15、意: 触发单在发送之后将会生效,该委托单在服务器上运行,此时您关闭程序或电脑不会影响触发单的执行。SetPercentTrailing(2000,0.2,True); 又是一个宝SetPercentTrailing(2000,0.2,True); 当前所有持仓盈利在大于2000之后回落,当回落百分比达到20%之后,执行所有持仓位置的百分比回落平仓。(此时是计算所有持仓的盈利数)SetPercentTrailing(1000,0.1,False); 当前持仓的某一个建仓位置的盈利大于1000之后回落,当回落百分比达到10%之后,执行该持仓位置的百分比回落平仓。(此时只计算该持仓位置的盈利)Set

16、StopLoss(0,2000,True); 当前所有持仓亏损达到2000之后,执行所有持仓位置的止损平仓。(此时是计算所有持仓的亏损数)SetStopLoss(1,50, False); 当前持仓的某一个建仓位置每张合约的亏损达到50之后,执行该持仓位置的止损平仓。(此时只计算该持仓位置的每张合约亏损)SetBreakEven(0,2000,True); 当前所有持仓的盈利达到2000之后,启动所有持仓位置的保本平仓。(此时是计算所有持仓的盈利数)SetBreakEven(1,50, False); 当前持仓的某一个建仓位置每张合约的盈利达到50之后,启动该持仓位置的保本平仓。(此时只计算该

17、持仓位置的每张约的盈利)精华中精华文华所没有实现复杂策略工具一循环语句循环语句包括两种表达方式:For和While。ForFor语句是一个循环语句,重复执行某项操作,直到循环结束。语法如下:For 循环变量 = 初始值 To 结束值 TradeBlazer公式语句;循环变量为在之前已经定义的一个数值型变量,For循环的执行是从循环变量从初始值到结束值,按照步长为1递增,依次执行TradeBlazer公式语句。结束值必须大于或等于初始值才有意义,初始值和结束值可以使用浮点数,但是在执行过程中会被直接取整。只计算其整数部分。TradeBlazer公式语句是一些语句的组合,如果TradeBlazer

18、公式语句是单条,您可以省略,二条或者二条以上的语句必须使用。第一次执行时,首先将循环变量赋值为初始值,然后判断循环变量是否小于等于结束值,如果满足条件,则执行TradeBlazer公式语句,同时循环变量加1。接着重新判断循环变量是否小于等于结束值,一直到条件为False,退出循环。例如,以下的用户计算Price最近Length周期的和。Params NumericSeries Price(1); Numeric Length(10);Vars Numeric SumValue(0); Numeric i;Begin for i = 0 to Length - 1 SumValue = SumV

19、alue + Price i ; Return SumValue;End如果希望For语句从大到小进行循环,可以使用以下的语法:For 循环变量 = 初始值 DownTo 结束值 TradeBlazer公式语句;For-DownTo让循环变量从结束值每次递减1直到等于结束值,依次调用TradeBlazer公式语句执行,初始值必须大于或等于结束值才有意义。For语句是比较常用的一种循环控制语句,它应用于知道循环次数的地方,很多内建用户函数中都使用For语句来完成相应的功能,比如Summation,Highest,Lowest,LinearReg等。WhileWhile语句在条件为真的时候重复执行

20、某一项操作。即,只要条件表达式的值为真(True)时,就重复执行某个动作。直到行情信息改变以致条件为假(False)时,循环才结束。语法如下:While (Condition) TradeBlazer公式语句;Condition是一个逻辑表达式,当Condition为True的时候,TradeBlazer公式语句将会被循环执行,Condition可以是多个条件表达式的逻辑组合,Condition必须用()括起来。TradeBlazer公式语句是一些语句的组合,如果TradeBlazer公式语句是单条,您可以省略,二条或者二条以上的语句必须使用。例如,以下的公式用来计算要产生大于100000成交

21、量需要最近Bar的个数:Vars Numeric SumVolume(0); Numeric Counter (0);Begin While (SumVolume 100000) SumVolume = SumVolume + VolCounter Counter = Counter + 1; End首先,我们定义两个变量SumVolume和Counter,并将其默认值设为0。当SumVolume High1) Counter = Counter1 + 1; . .End在TradeBlazer公式中,If语句被广泛使用,如K线型态和特征走势,都需要大量的使用If语句,当条件满足的时候,在满足

22、条件的Bar上面进行标记。例如,下面的语句就是特征走势的例子:If(High High1 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;If-Else-IfIf-Else-If是在If-Else的基础上进行扩展,支持条件的多重分支。语法如下:If (Condition1) TradeBlazer公式语句1;Else If(

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

24、的组合,如果TradeBlazer公式语句是单条,您可以省略,二条或者二条以上的语句必须使用。If-Else-If的语句可以根据需要一直扩展,在最后的Else之后再加If(Condition)和新的执行代码即可。当然您也可以省略最后的Else分支,语法如下:If (Condition1) TradeBlazer公式语句1;Else If(Condition2) TradeBlazer公式语句2;If-Else的嵌套If-Else的嵌套是在If-Else的执行语句中包含新的条件语句,即一个条件被包含在另一个条件中。语法如下:If (Condition1) If (Condition2) TradeBlazer公式语句1; Else TradeBlazer公式语句2; Else If (Condition3) TradeBlazer公式语句3; Else TradeBlazer公式语句4; Condition1是一个逻辑表达式,当Condition1为True的时候,将会继续判断Condition2的值,当Condition2为True时,TradeBlazer公式语句1将会被执行。Condition2为False时,TradeBlazer公式语句2将会被执行。当Condition1为False的时候,将会继续判断Condition3的值,当Con

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1