Как проверить, была ли позиция модифицирована вручную? - страница 5

 

ПОКА ВСЁ. 

НАДЕЮСЬ. 

 
Алексей Тарабанов #:

ПОКА ВСЁ. 

НАДЕЮСЬ. 

Да!!! 

Вы уже  Пняли. 

Что ВЫ. ЛИЧНО. 

 
Алексей Тарабанов #:

Да!!! 

Вы уже  Пняли. 

Что ВЫ. ЛИЧНО. 

Да. 

Лично. ВЫ. УМЕЕТЕ. ТОРГОВАТЬ. НА 5 - минутках. 

 
Алексей Тарабанов #:

Да. 

Лично. ВЫ. УМЕЕТЕ. ТОРГОВАТЬ. НА 5 - минутках. 

Да нихера я не умею

 

А Мне Лично. 

ВЫ ПОМОЖЕТЕ. 

 
Алексей Тарабанов #:

А Мне Лично. 

ВЫ ПОМОЖЕТЕ. 

Я Покурить. 

 
Я о ответа не услышал 
 
Алексей Тарабанов #:

Ответ - НЕТ. Просто Вы НЕ ПОНИМАЕТЕ. 

ПОТОМУ. 

Что Я Понял, Что Я Поверил В Бога. 

Алексей Тарабанов #:
Просто. Я НЕ РАДИСТ, а умный Электрик. 
Алексей Тарабанов #:

А Просто Поверьте Мне. А Если Не поверили, Мне, то уже Ваша проблем

Алексей Тарабанов #:
Надеюсь.

Алексей какие спецэффекты курил? Поделись с обществом…

 

Использованием глобальных переменных терминала задача решается. 

При открытии ордера создаем глобальную переменную, ее имя включает тикет ордера и еще что-нибудь, например "_SL", а значение - текущее значение стоплосса.

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

Если значения совпадают - можно модифицировать. А если не совпадают, это означает, что была модификация со стороны, в этом случае записываем в переменную -1,

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

 
Dmitry Fedoseev #:

Использованием глобальных переменных терминала задача решается. 

При открытии ордера создаем глобальную переменную, ее имя включает тикет ордера и еще что-нибудь, например "_SL", а значение - текущее значение стоплосса.

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

Если значения совпадают - можно модифицировать. А если не совпадают, это означает, что была модификация со стороны, в этом случае записываем в переменную -1,

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

Не прокатит, или чуток надо менять алгоритм

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Как проверить, была ли позиция модифицирована вручную?

Elena Baranova, 2022.09.15 10:25

Добрый день, коллеги.

Столкнулась с такой проблемой:

Есть советник, который управляет позициями открытыми вручную и другим советником - выставляет SL и TP, и трейлит SL по определенному алгоритму.

Нужно, чтобы советник перестал управлять теми позициями, у которых SL был изменен вручную. Есть версии советника для MT4 и MT5.

Можно ли идентифицировать посредством MQL4/MQL5, что модификация позиции была произведена вручную, а не данным советником?

Я такой возможности пока не вижу. Мне казалось, что в MQL5 это можно сделать через OnTradeTransaction(), но возможно я ошибаюсь, так как не нашла нужный параметр.

Буду благодарна за совет )

Наверное не при открытии ордера, а при первом изменении TP/SL. И при обнаружении стороннего вмешательства не писать -1, а удалять переменную. Иначе может забить под завязку.

Если это прокатит, наверное для МТ4 лучший вариант.