Trade.mqh

 

Всем привет !


надо изменить только СЛ, оставив ТП как было. передаю 0 для ТП, чтоб как было оставить, но ТП в 0 и ставится.

a_trade.PositionModify(ticket, newSL, newTP)
 
Yerkin Sagandykov:

Всем привет !


надо изменить только СЛ, оставив ТП как было. передаю 0 для ТП, чтоб как было оставить, но ТП в 0 и ставится.

Нужно передать то же самое значение ТП, которое уже установлено. Для этого его потребуется предварительно получить: выбрать позицию, запросить свойство через PositionGetDouble().

 
Ihor Herasko #:

Нужно передать то же самое значение ТП, которое уже установлено. Для этого его потребуется предварительно получить: выбрать позицию, запросить свойство через PositionGetDouble().

получить могу, но при модификации дает в журнале ошибку что нельзя исполнить команду если значение ТП  тоже самое. как бы не критично , но как все таки сделать ,чтоб  без ошибок

 
Yerkin Sagandykov #:

получить могу, но при модификации дает в журнале ошибку что нельзя исполнить команду если значение ТП  тоже самое. как бы не критично , но как все таки сделать ,чтоб  без ошибок

Сначала проверить на равенство и если равно, то кури бамбук…

 
Yerkin Sagandykov #:

получить могу, но при модификации дает в журнале ошибку что нельзя исполнить команду если значение ТП  тоже самое. как бы не критично , но как все таки сделать ,чтоб  без ошибок

Такая ошибка возникает, если оба параметра (SL и ТР) не изменены. Поэтому, чтобы не было такой ошибки, достаточно провести перед модификацией проверку, изменен ли хотя бы один параметр. Проверку такую нужно проводить, учитывая специфику сравнения вещественных чисел.

 
Ihor Herasko #:

Такая ошибка возникает, если оба параметра (SL и ТР) не изменены. Поэтому, чтобы не было такой ошибки, достаточно провести перед модификацией проверку, изменен ли хотя бы один параметр. Проверку такую нужно проводить, учитывая специфику сравнения вещественных чисел.

Спасибо !