开拓者期货期权程序化系统交易论坛

标题: 各位大侠给看看我这个条件为真时,为什么模拟交易不平仓 [打印本页]

作者: weorc    时间: 2011-2-13 14:38:27     标题: 各位大侠给看看我这个条件为真时,为什么模拟交易不平仓

MA是前一天的20日均线值
bar的最低价小于等于MA 并且当天账户内有多头持仓 并且最新成交价也小于等于MA的情况下,用买1价平掉该仓位
条件是这个:Condition2=low<=MA And A_BuyPosition!=0 And Q_Last<=MA
代码是这个:
if(condition2)
Sell(1,Q_BidPrice);

为什么我模拟的时候能正常开仓,却不能平仓呢,哪里编错了呢?

请教大神和大虾
作者: weorc    时间: 2011-2-14 16:43:10

大神助我~~~~
作者: lh948    时间: 2011-2-14 16:54:26

Q_BidPrice只有在最后一个bar才是有效的,条件满足后,单子发出去了,有可能信号就消失了
Q_BidPrice要配合A_SendOrder使用(帮助文件中有更详细的说明)
作者: weorc    时间: 2011-2-14 22:10:07

劳烦管理员大神了
作者: weorc    时间: 2011-2-15 10:39:42

大神啊,不是Q_BidPrice的问题,我把Sell(1,Q_BidPrice),换成sell(1,0)也不发出委托
怎么回事
作者: lh948    时间: 2011-2-15 11:14:24

之前有开仓吗?
开仓语句用什么写的?
建议你使用buy、sell委托指令的时候,不要把A函数和Q函数掺和在公式里
作者: weorc    时间: 2011-2-15 11:24:36

UBOP是前一日的20日均线加上2倍的前一日的20日平均振幅
开仓
Condition1=High>=UBOP And A_BuyPosition==0 And A_SellPosition==0
if(condition2)
buy(1,Q_askprice)

这个 可以正常开仓
作者: weorc    时间: 2011-2-15 11:26:19

我试试不用sell和buy了




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2