Specification
Дано:
Есть небольшой советник, у которого постоянно открыт только один ордер на покупку или продажу с выставленными при открытии ордера стоплоссом и тейкпрофитом, т.е. при закрытии одного ордера на следующем тике сразу вновь открывается новый ордер с выставлением стопа и тейка. Два ордера одновременно открыты быть не могут.
При покупке Стоплосс выставляется - NormalizeDouble (Ask - sl * Point, Digits);
Тейкпрофит выставляется - NormalizeDouble (Ask + tp * Point, Digits);
При продаже Стоплосс выставляется - NormalizeDouble (Bid + sl * Point, Digits);
Тейкпрофит выставляется - NormalizeDouble (Bid - tp * Point, Digits):
*sl и tp - задаваемые переменные.
Задача:
Необходимо написать код, который я могу вставить в существующий советник, чтобы на уже открытом ордере выполнялась проверка правильности выставления стоплосса и тейкпрофита относительно цены открытия ордера на каждом тике. Если стоп и тейк выставлены правильно - никаких действий не требуется. Если тейкпрофит И/ИЛИ стоплосс по какой-либо причине выставлены неправильно (например, уровень передвинут вручную намеренно, либо открылся ордер с проскальзыванием), то должна произойти модификация уровней стоплосса И/ИЛИ тейкпрофита, чтобы эти уровни соответствовали первоначально заявленному количеству пунктов относительно цены открытия ордера.