交易开拓者代码学习各种买卖指令及实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
交易开拓者代码学习各种买卖指令及实例(TB)(转)
2012年07月27日22:35
原文地址:交易开拓者代码学习各种买卖指令及实例(TB)(转)作者:竹本无青
各种买卖指令
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