你这里22,指是22微点,有的平台止损距离要求50微点以外才可以。5位小数报价平台,你放大到220试一下。
已经试过了,放大了还是改不了。在运行EA的时候,前面每一条判断语句后面都可以执行打印,唯独在修改订单的时候始终返回是false,不知道会不会是这个平台不能用EA哦,我问客服,客服又说可以用的。
已经试过了,放大了还是改不了。在运行EA的时候,前面每一条判断语句后面都可以执行打印,唯独在修改订单的时候始终返回是false,不知道会不会是这个平台不能用EA哦,我问客服,客服又说可以用的。
我用打印测试了,所有语句都测试成功了,唯一就是最后修改订单的时候,OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*22,OrderTakeProfit(),0,Blue)无论我怎么修改参数,都返回false。请问是哪里出问题了啊?
if(OrderType()==OP_BUY)
if(Bid - OrderStopLoss() > TrailingStopM601*Point)
{
if(OrderModify(OrderTicket(),OrderOpenPrice(),Bid - TrailingStopM601*Point,OrderOpenPrice() + (Ask - Bid) + TakeProfitM601*Point,0) == false)
......
}
自己琢磨琢磨
对于程序运行到哪里就停止了,你可以使用Alert来检查,Alert不仅能够有声音提示,还可以显示数字,把比较值显示出来,你就知道你的逻辑到底有没有错//因为你没有获取订单
//OrderType()要在OrderSelect找单成功后使用;
int total=OrdersTotal();
for(int i=0;i<total;i++){
if(OrderSelect(i,SELECT_BY_POS,0))continue;
if(OrderType()==OP_BUY)
}
我用打印测试了,所有语句都测试成功了,唯一就是最后修改订单的时候,OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*22,OrderTakeProfit(),0,Blue)无论我怎么修改参数,都返回false。请问是哪里出问题了啊?
if(OrderType()==OP_BUY)
用else分支输出一个GetLastError()错误代码,很大可能是130错误,止盈止损小于平台的stoplevel停止水平导致修改失败
Forum on trading, automated trading systems and testing trading strategies
When you post code please use the CODE button (Alt-S)!
我用打印测试了,所有语句都测试成功了,唯一就是最后修改订单的时候,OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*22,OrderTakeProfit(),0,Blue)无论我怎么修改参数,都返回false。请问是哪里出问题了啊?
if(OrderType()==OP_BUY)