StopLoss=MathMin( s0, s1);//Функция возвращает минимальное из двух числовых значенийif( StopLoss-Ask< StopLevel-0.5*Point) StopLoss=MathMax( s0, s1);
//StopLoss может присвоиться новое значение, желательно и его проверить на StopLevelOrderModify(OrderTicket(),OrderOpenPrice(), StopLoss,OrderTakeProfit(),0,Red);
它是
当StopLoss为真时,新的值被分配。
否则,该命令将被修改。
没有错误,但你必须脱下十字架或穿上长裤)。
我没有马上明白))......这种情况可能不会导致停工!
也许我们应该删除其他的东西?似乎逻辑并没有受到...如果只有一个条件就够了,为什么我还需要第二个条件呢?
或者是这样...
见实数的比较。
我将阅读它...那么,这是否绝对必要呢?我只是没有做过)。
我并没有马上明白...这种情况可能不会导致停车!
我们就不能删除其他东西吗?似乎逻辑并没有受到影响...
也许)4h蜡烛通常比StopLevel大...
我将阅读它...我的意思是,这真的有必要吗?我只是从未这样做过)
当比较值几乎相等时,会发生各种奇怪的事情)
当检查一个双重类型的数字是否相等时--强制。
俄语:StopLoss减去Ask小于StopLevel,精度为0.5*Point。
(StopLoss,Ask,StopLevel均已归一化)
那么这个选项呢?保留它似乎是合理的...
我们还应该检查交易环境,否则我们会得到它很忙的错误 - TradeDispatcher: trade context is busy ...事实证明,如果有大量的EA副本,所有这些副本同时 关闭其符号上的当前订单并设置新的订单...会形成交通堵塞)
这可能是它的工作方式...
也就是说,在关闭当前订单并设置新的挂单之前,我们要检查交易流程...如果是忙,暂停1秒钟。
那么这个选项呢?似乎明智的做法是保留它...
不,这就是它的工作方式。我们必须下定决心)。
三个选项。
ALex2008 写道>>
另外,我们需要检查贸易线程,否则它可能会出现繁忙的错误......。因为如果有许多图表,它们都会在同一时间关闭当前的订单...如果没有帮助,在所有的OrderSend,OrderModify,OrderClose,OrderDelete检查IsTradeContextBusy()。
只有在正确的位置上,我认为...我的意思是,例如,旧的订单不会因为线程繁忙而被删除,但程序必须下新的订单......而程序必须在所有旧的订单被删除后才下新的订单。
在函数UpTrend()和DownTrend()的检查条件中,订单被删除和放置。
太多不同的东西)
不,这就是它的工作方式。>>你得下定决心)。
我不明白,到底会不会?)
我不明白--它到底能不能用?))
*不会发生。
在你的最后一个变体中。
在第一个if()中没有定义StopLoss。
*不会发生。
在你的最后一个变体中。
在第一个if()中没有定义StopLoss。
那么它是什么呢?
在第一种情况下,止损点是两个蜡烛图的最低点(价格)......也就是说,离订单很远
在第二种情况下,如果止损点收到2个蜡烛图的最大(价格)低点,即它接近于订单
//здесь StopLoss нипанятно какой)
究竟什么是不清楚的? 进入函数时,它是零。也许我不明白的东西....
上面有一个条件--如果订单是开放的,并且它的止损点=0,那么就放置一个止损点。
和函数本身来设置一个停止