ubzen:
我已经更新了这个帖子。
RaptorUK:
可能是......。
试着把orderType 声明为它不可能是的东西 。
......然后看看会发生什么,如果你没有得到任何信息,那么你的订单选择就不工作了。
如果我首先声明:int orderType = 10,它的工作原理完全一样。
我也试过总是使用OrderType()而不是声明一个变量,但也有同样的问题。
我还试着在修改订单之前调用OrderSelect(...),但没有变化。
你是在后台测试器中测试的还是在演示账户中测试的?
添加一些Print();语句,这样你就可以看到哪里出了问题。
if(/*OrderMagicNumber()==Magic &&*/ OrderSymbol()==Symbol()) { Print("orderType = ",orderType); if ((orderType == OP_BUY || orderType == OP_BUYSTOP)) {
. . . . 然后在专家选项卡中看一下。
是否有可能问题来自于使用salaires的手动确认?
我试图编写一个EA的代码,在我的代码中的某些地方,我必须更新已建和待建订单 的止损。我显示了一个关于订单信息的警报。
当我运行它时,我收到一个消息:"计数。2 买入订单的止损为1.44705。46450421订单类型。1".
orderType:1意味着订单46450421是一个OP_SELL订单,它确实是,但为什么它触发测试 "if ((orderType == OP_BUY || orderType == OP_BUYSTOP)) "而不是 "if ((orderType == OP_SELL || orderType == OP_SELLSTOP))"?
请帮助 :-)
丹尼尔