同样的OrderModify,对于BUY可以;对于SELL就爆130错。请问有人碰到过吗?

 

A。

Buy: OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+BreakEven*Point,100,0,Green);
这段一点问题没有,到了超出开盘头寸25点后,它在开盘价上方加5个点设止损。

B。

Sell: OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-BreakEven*Point,100,0,Yellow);

同样的代码,到了卖就不work了,爆了130错误。

我用过NormalizeDouble了;也不是MODE_FREEZELEVEL的问题,远远超出了;就是不知道原因是什么......

我在论坛上查130,好多老外也碰到过这个modify,除了几个低级错误如MODE_FREEZELEVEL之类的外,其他问题如我的,好像都未得到解决。

困惑~~~~

 

有老外说这个也许是个silly的问题,但是没法解决。

我刚才重启过了,照样不行。

Rosh大人,有解吗?

 
你的takeprofit 在buy和sell都设成100, 要不要检查下?
 

Buy: OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+BreakEven*Point,100,0,Green);
这段一点问题没有,到了超出开盘头寸25点后,它在开盘价上方加5个点设止损。

B。

Sell: OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-BreakEven*Point,100,0,Yellow);

同样的代码,到了卖就不work了,爆了130错误。

是不是你的BreakEven值太小了?哦 这个还不是主要问题。

你的主要问题我找到了:

Buy: OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+BreakEven*Point,100,0,Green);//你的止赢是100,一般不这么写也要写成OrderTakeProfit形式。但是你写100也可能通过。

Sell: OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-BreakEven*Point,100,0,Yellow);//如果上面你止赢写100,通过了的话那这里你写100就肯定通不过。因为上面buy写100是止赢的话,那这了你写100就绝对不是止赢价了,这个100应该是止损价但是你写在了止赢的位置。

原因: