当前位置:文档之家› 开拓者代码(2)代码学习各种买卖指令及实例

开拓者代码(2)代码学习各种买卖指令及实例

各种买卖指令Buy说明产生一个多头建仓操作。

语法Buy(Numeric Share=0,Numeric Price=0,Bool Delay=False)参数Share 买入数量,为整型值,默认为使用系统设置参数;Price 买入价格,为浮点数,默认=0时为使用现价(非最后Bar为Close);Delay 买入动作是否延迟,默认为当前Bar发送委托,当Delay=True,在下一个Bar执行。

备注产生一个多头建仓操作,无返回值,该函数仅支持交易指令。

该函数仅用于多头建仓,其处理规则如下:如果当前持仓状态为持平,即MarketPosition = 0 时,该函数按照参数进行多头建仓。

如果当前持仓状态为空仓,即MarketPosition = -1 时,该函数首先平掉所有空仓,达到持平的状态,然后再按照参数进行多头建仓。

如果当前持仓状态为多仓,即MarketPosition = 1 时,该函数将继续建仓,但具体是否能够成功建仓要取决于系统中关于连续建仓的设置,以及资金,最大持仓量等限制。

示例在MarketPosition=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 买入动作是否延迟,默认为当前Bar发送委托,当Delay=True,在下一个Bar执行。

备注产生一个空头平仓操作,无返回值,该函数仅支持交易指令。

该函数仅用于空头平仓,其处理规则如下:如果当前持仓状态为持平,即MarketPosition = 0 时,该函数不执行任何操作。

如果当前持仓状态为多仓,即MarketPosition = 1 时,该函数不执行任何操作。

如果当前持仓状态为空仓,即MarketPosition = -1 时,如果此时Share使用默认值,该函数将平掉所有空仓,达到持平的状态,否则只平掉参数Share的空仓。

示例在MarketPosition = -1的情况下:BuyToCover(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 卖出动作是否延迟,默认为当前Bar发送委托,当Delay=True,在下一个Bar执行。

备注产生一个多头平仓操作,无返回值,该函数仅支持交易指令。

该函数仅用于多头平仓,其处理规则如下:如果当前持仓状态为持平,即MarketPosition = 0 时,该函数不执行任何操作。

如果当前持仓状态为空仓,即MarketPosition = -1 时,该函数不执行任何操作。

如果当前持仓状态为多仓,即MarketPosition = 1 时,如果此时Share使用默认值,该函数将平掉所有多仓,达到持平的状态,否则只平掉参数Share的多仓。

示例在MarketPosition=0的情况下:Sell(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发送委托,当Delay=True,在下一个Bar执行。

备注产生一个空头建仓操作,无返回值,该函数仅支持交易指令。

该函数仅用于空头建仓,其处理规则如下:如果当前持仓状态为持平,即MarketPosition = 0 时,该函数按照参数进行空头建仓。

如果当前持仓状态为多仓,即MarketPosition = 1 时,该函数首先平掉所有多仓,达到持平的状态,然后再按照参数进行空头建仓。

如果当前持仓状态为空仓,即MarketPosition = -1 时,该函数将继续建仓,但具体是否能够成功建仓要取决于系统中关于连续建仓的设置,以及资金,最大持仓量等限制。

示例在MarketPosition=0的情况下: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说明获得当前持仓状态。

语法Integer MarketPosition()参数无备注获得当前持仓状态,返回值为整型,该函数仅支持交易指令。

返回值定义如下:-1 当前位置为持空仓0 当前位置为持平1 当前位置为持多仓示例无内建平仓指令--精华之特色内建平仓指令除了上节的Sell和BuyToCover可以进行平仓之外,TradeBlazer公式提供了额外的八种平仓函数,通过合理的应用内建平仓函数,可以帮助您有效的锁定风险并及时获利。

您可以组合使用内建平仓函数,也可以在自己的交易指令中调用内建平仓函数进行平仓,八个内建平仓函数如下:函数名描述SetExitOnClose 该平仓函数用来在当日收盘后产生一个平仓动作,将当前所有的持仓按当日收盘价全部平掉。

SetBreakEven 该平仓函数在获利条件满足的情况下启动,当盈利回落达到保本时产生平仓动作,平掉指定的仓位。

SetStopLoss 该平仓函数在亏损达到设定条件时产生平仓动作,平掉指定的仓位。

SetProfitTarget 该平仓函数在盈利达到设定条件时产生平仓动作,平掉指定的仓位。

SetPeriodTrailing 该平仓函数在盈利回落到设定条件时产生平仓动作,平掉指定的仓位。

SetPercentTrailing 该平仓函数在盈利回落到设定条件时产生平仓动作,平掉指定的仓位。

SetDollarTrailing 该平仓函数在盈利回落到设定条件时产生平仓动作,平掉指定的仓位。

SetInactivate 该平仓函数在设定时间内行情一直在某个幅度内波动时产生平仓动作,平掉指定的仓位。

关于ExitPosition上述多个平仓函数都用到了参数ExitPosition,作为平仓函数仓位控制的重要参数,有必要对该参数进行单独说明。

ExitPosition是布尔型参数,当ExitPosition=True时,表示将当前所有的持仓作为一个整体,根据其平均建仓成本,计算各平仓函数的盈亏,当条件满足时,会将所有仓位一起平掉;当ExitPosition=False时,表示单独对每个建仓位置进行平仓,单独计算各平仓函数盈亏时,当单个建仓位置条件满足后,平掉该建仓位置即可。

触发单触发单触发单是交易开拓者特有的交易方式,触发单是指用户设置条件,将触发单提交到交易开拓者的交易服务器,当设定条件满足情况,交易服务器会自动发送委托到交易所。

触发单可以帮助解决用户盯盘的辛苦,及手动发单的速度问题。

触发单分为以下四种类型:吊买、吊卖、追买、追卖。

每个触发单在发送时需要输入以下参数:触发价格:触发单设定的条件价格,通过比较现价和触发价格确定是否下单。

下单之后,该触发单会从交易服务器中删除;执行价格:条件满足之后,发送委托的价格,设定为0可自动获取当时的叫买/卖价;过期时间:设定触发单的过期时间,到这个时间还没有触发的订单会被设为过期,不再进行监控。

吊买吊买是指当现价向下跌破触发价格,即按执行价格产生一个即时买入委托单,如下图所示:吊卖吊卖是指当现价向上突破触发价格,即按执行价格产生一个即时卖出委托单,如下图所示:追买追买是指当现价向上突破触发价格,即按执行价格产生一个即时买入委托单,如下图所示:追卖追卖是指当现价向下跌破触发价格,即按执行价格产生一个即时卖出委托单,如下图所示:修改或删除触发单当存在某个商品的触发单,可通过双击帐户管理的触发单页面的项目,打开交易师,进行修改或删除操作。

您可以修改数量、触发单类型、触发价格、执行价格、过期时间及止损获利等,完成修改之后,点击[修改]按钮即可完成修改;您可以直接点击[删除]按钮将该触发单删除。

注意: 触发单在发送之后将会生效,该委托单在服务器上运行,此时您关闭程序或电脑不会影响触发单的执行。

SetPercentTrailing(2000,0.2,True); 又是一个宝SetPercentTrailing(2000,0.2,True); 当前所有持仓盈利在大于2000之后回落,当回落百分比达到20%之后,执行所有持仓位置的百分比回落平仓。

(此时是计算所有持仓的盈利数)SetPercentTrailing(1000,0.1,False); 当前持仓的某一个建仓位置的盈利大于1000之后回落,当回落百分比达到10%之后,执行该持仓位置的百分比回落平仓。

(此时只计算该持仓位置的盈利)SetStopLoss(0,2000,True); 当前所有持仓亏损达到2000之后,执行所有持仓位置的止损平仓。

(此时是计算所有持仓的亏损数)SetStopLoss(1,50, False); 当前持仓的某一个建仓位置每张合约的亏损达到50之后,执行该持仓位置的止损平仓。

相关主题