}
break; // Выход из switch
Новые параметры ордера вычисляются только в том случае, если текущая цена Price
находится дальше от текущей рыночной цены Bid, чем на желаемую дистанцию TS. Если
это так, то управление передаётся в тело оператора if, где вычисляется новая цена
открытия ордера New_Price. Новые значения StopLoss и TakeProfit вычисляются только
для ненулевых значений. При этом дистанции между заявленной ценой ордера и каждой
ценой стоп-приказа сохраняется неизменной.
Например, ордер SellLimit установлен по цене 1.2050, его StopLoss = 1.2073, а TakeProfit =
1. 2030. Допустим, в результате вычислений новая цена открытия ордера равна 1.2040. В
этом случае новые значения стоп-приказов будут такими: StopLoss = 1.2063, а TakeProfit =
1. 2020. Таким образом, в результате работы программы ордер модифицируется "целиком"
- все три основных параметра (цена открытия, StopLoss и TakeProfit) одновременно
смещаются вниз, сохраняя при этом дистанцию между собой.
В конце блока 8-9 выполняется проверка новых значений стоп-приказов на отрицательные
значения. Эта проверка полезна для того случая, если ранее установленный (другой
программой или вручную) стоп-приказ находился близко к нулевой цене, например, на 1
пункт выше нуля. В этом случае при смещении ордера вниз на расстояние более одного
пункта новая цена одного из стоп-приказов получит отрицательное значение. Если это
значение было бы заявлено в торговом приказе, то он был бы отклонён клиентским
терминалом.
Здесь необходимо отметить недостаток подобных небольших программ - как скриптов,
так и экспертов. Представленная программа modifyorderprice.mq4 очень ограничена в
выборе действий. Модифицируемый ордер может быть смещён только в одном
направлении - в сторону рыночного курса, при этом его стоп-приказы жёстко "привязаны"
к ордеру. Эта программа не приспособлена для модификации заявленной цены ордера в
противоположную сторону от рыночной цены, в ней также не реализована возможность
изменения положения отдельно взятого какого-либо из стоп-приказов.
Указанная ограниченность диктуется прежде всего количеством используемых
управляющих средств. В данной программе такое средство всего одно - место
прикрепления скрипта в окно финансового инструмента. Используя этот параметр,
пользователь может по своему выбору назначить к модификации любой из ордеров. Но
этим инициатива пользователя и ограничена. Для более эффективной работы
673