我怎样才能摆脱这个该死的错误?我已经厌烦了。我正在检查函数的每个输入参数。对我来说,目前,它是这样的。
也就是说,如果参数没有被改变,就没有必要去改变它。我以前没有这样做过,但我决定...
然后,参数被传递给订单修改方法,如下所示。
日志中没有输出。
因此,期刊通知我们,如修改:好的,但随后...一个错误。所有的参数都没有改变。
该命令正在等待中。因此,我们可能会改变开盘价、停盘价和收盘价。而这一点,据我所知,并没有与文件相矛盾。
谁遇到过这样的事情?如何解决这个问题?
你在错误地处理错误代码,忘记了错误代码在你的众多函数之后已经被覆盖。
因此,当一个错误发生时,你需要将错误代码保存到一个局部变量 中,并在你后续的大量调用之后,从那里打印出来。
你错误地处理了错误代码,忘记了错误代码在你的众多函数之后已经被重写了。
因此,当一个错误发生时,它的代码必须保存在一个局部变量中,只有这样,在你后续的大量调用之后,才能将它打印出来。
你为什么不也创建一个错误数组呢?文档中白纸黑字写着:_LastError变量存储的是最后一个错误的编号。并通过ResetLastError()函数将其重置。如果在调用_LastError之间没有更多的错误,_LastError存储最后一个错误的值。我的代码中不再有任何错误。嗯,这不是问题所在。
此外,在每个方法中为错误创建变量,然后将这些变量打印到Expert Advisors中,这不是很符合逻辑。
毕竟,如果有一个收集错误的变量,为什么还要制造新的错误?
evillive,你说没有检查是什么意思?我在上面写道。
if (OrderOpenPrice() != ND (fd_MurreyLevelsValue[11])) \\ Если текущая цена не равна новой.. из массива, то.. New_OOP = ND (fd_MurreyLevelsValue[11]); \\.. новая цена равна этому новому значению цены из массива( расчитанного ). else New_OOP = OrderOpenPrice(); \\ Иначе новая цена равно текущей цене выбранного ордера. Т.е. не изменяется. if (OrderStopLoss() != ND (fd_MurreyLevelsValue[12])) New_SL = ND (fd_MurreyLevelsValue[12]); else New_SL = OrderStopLoss(); if (OrderTakeProfit() != ND (fd_MurreyLevelsValue[2])) New_TP = ND (fd_MurreyLevelsValue[2]); else New_TP = OrderTakeProfit();
我甚至给了第一个评论。虽然那里一切都很初级。
你在这里还能怎么检查?
我意识到了,这就是为什么我清理了))))。
我确实仔细检查了一下,它不是平等的,并指向你所期望的地方。
鲍里斯,你这么说是什么意思?因为我清楚地写着,如果价格不是那么...否则......。目前...这有什么意义?你可以检查20次...:)这是不可能的。我已经在这个代码上挣扎了第二天了。我以前从未遇到过这样的错误。现在我已经面对它了。我已经把所有这些方法写出来并测试了很多次。我在这里遇到了一个问题。
问题是,我更喜欢稍微不同的战术。但在写最新的《猫头鹰》时,遇到了这个故障。这是我自己不知道在哪里挖,因为pristrintovav所有代码的长度,否则我没有更多的想法。这就是为什么OrderModify() 函数是内置的。而且我不知道它的执行情况。
evillive,你说没有检查是什么意思?我在上面写道。
我甚至给了第一个评论。虽然那里一切都很初级。
你在这里还能怎么检查?
维克多,经过检查,新值是否被分配...你必须要检查。
if (OrderOpenPrice() != ND (fd_MurreyLevelsValue[11]) // Если текущая цена не равна новой.. из массива || OrderStopLoss() != ND (fd_MurreyLevelsValue[12]) // или || OrderTakeProfit() != ND (fd_MurreyLevelsValue[2])) // или // если одно из условий выполнено пойдём в модифай...
维克多,在检查了新值是否被分配后...而且你必须检查
阿列克谢,你在哪里有一个检查,以确保被传递的函数的值是不变的?我在上面已经考虑到了这一点。而一般情况下,修改的需要是在一开始就完成的。那里有水平,如果指标报告 说水平已经改变,我们就继续前进......
鲍里斯,你这么说是什么意思?因为我清楚地写着,如果价格不是那么...否则......。目前...这有什么意义?你可以检查20次...:)这是不可能的。我已经在这个代码上挣扎了第二天了。我以前从未遇到过这样的错误。现在我已经面对它了。我已经把所有这些方法写出来并测试了很多次。我在这里遇到了一个问题。
问题是,我更喜欢稍微不同的战术。但在写最新的《猫头鹰》时,遇到了这个故障。这是我自己不知道在哪里挖,因为pristrintovav所有代码的长度,否则我没有更多的想法。这就是为什么OrderModify() 函数是内置的。而且我不知道它的执行情况...
evillive,你说没有检查是什么意思?我在上面写道。
if (OrderOpenPrice() != ND (fd_MurreyLevelsValue[11])) \\ Если текущая цена не равна новой.. из массива, то.. New_OOP = ND (fd_MurreyLevelsValue[11]); \\.. новая цена равна этому новому значению цены из массива( расчитанного ). else New_OOP = OrderOpenPrice(); \\ Иначе новая цена равно текущей цене выбранного ордера. Т.е. не изменяется. if (OrderStopLoss() != ND (fd_MurreyLevelsValue[12])) New_SL = ND (fd_MurreyLevelsValue[12]); else New_SL = OrderStopLoss(); if (OrderTakeProfit() != ND (fd_MurreyLevelsValue[2])) New_TP = ND (fd_MurreyLevelsValue[2]); else New_TP = OrderTakeProfit();
我甚至给了第一个评论。虽然那里一切都很初级。
你在这里还能怎么检查?
我怎样才能摆脱这个该死的错误?我已经厌烦了。我正在检查函数的每个输入参数。对我来说,目前,它是这样的。
也就是说,如果参数没有被改变,就没有必要去改变它。我以前没有这样做过,但我决定...
然后参数被传递给订单修改方法,像这样。
日志中没有输出。
因此,期刊通知我们,如修改:好的,但随后一个错误。所有的参数都没有改变。
该命令正在等待中。因此,我们可能会改变开盘价、停盘价和收盘价。而这一点,据我所知,并没有与文件相矛盾。
谁遇到过这样的事情?如何解决这个问题?