Обсуждение статьи "Обработка торговых событий в эксперте при помощи функции OnTrade()" - страница 2

 
Serhiy Dotsenko:
для MQL4, что можно придумать что-бы было похоже на OnTrade?

Проверять на каждом тике OrdersTotal() и OrdersHistoryTotal() - если цифирь изменилась - вызов OnTrade().

 
спасибо, тоже к чему-то похожему сам пришёл ) думал, есть что-то именно событийное ) т.к. реагировать на ручной онтрэйд уже получится только на 2 тике )
 
Serhiy Dotsenko:
для MQL4, что можно придумать что-бы было похоже на OnTrade?
Генерируйте OnChartEvent() перед совершением торговой операции, и в нём пытайтесь получить результат торговой операции... Причём можно придумать тип, в соответствии с которым вызывать OnChartEvent() необходимое число раз...
 
Denis Kirichenko:
Генерируйте OnChartEvent() перед совершением торговой операции, и в нём пытайтесь получить результат торговой операции... Причём можно придумать тип, в соответствии с которым вызывать OnChartEvent() необходимое число раз...

Елси нет графических элементов, зачем нам такой вариант? Это,по-моему, лишнее..

 
За статью, конечно, спасибо. Сэкономил время. Т.к. не пришлось где-то шерстить по поводу этих событий. В справке информации ноль, а писать в саппорт постоянно это тоже время. Поэтому, статья в тему. Но вот код корявый, если честно. Пришлось переносить к себе и приводить к нормальному виду. И тогда уже обмозговывать всё.
 
Странно...., а почему не показано как отслеживать закрытие позиции по стопу или тейку? 
 
Tango_X:
Странно...., а почему не показано как отслеживать закрытие позиции по стопу или тейку? 

Стаья давно писалась. С тех пор появилась новая возможность возможность 

Начиная с билда 1625 появилось замечательное перечисление ENUM_DEAL_REASON:

ENUM_DEAL_REASONОписание причины
......
DEAL_REASON_SLОперация совершена в результате срабатывания Stop Loss
DEAL_REASON_TPОперация совершена в результате срабатывания Take Profit
......

которое можно отследить в OnTradeTransaction.


Пример работы: Stop Loss Take Profit

 
Vladimir Karputov:

Стаья давно писалась. С тех пор появилась новая возможность возможность 

Начиная с билда 1625 появилось замечательное перечисление ENUM_DEAL_REASON:

ENUM_DEAL_REASONОписание причины
......
DEAL_REASON_SLОперация совершена в результате срабатывания Stop Loss
DEAL_REASON_TPОперация совершена в результате срабатывания Take Profit
......

которое можно отследить в OnTradeTransaction.


Пример работы: Stop Loss Take Profit

супер! спасибо!!!

 
Vladimir Karputov:

Стаья давно писалась. С тех пор появилась новая возможность возможность 

Начиная с билда 1625 появилось замечательное перечисление ENUM_DEAL_REASON:

ENUM_DEAL_REASONОписание причины
......
DEAL_REASON_SLОперация совершена в результате срабатывания Stop Loss
DEAL_REASON_TPОперация совершена в результате срабатывания Take Profit
......

которое можно отследить в OnTradeTransaction.


Пример работы: Stop Loss Take Profit

Еще один вопрос по ходу.

Поле "Комментарии" в позиции я используя для хранения периода открытия этой позиции, и при срабатывания Stop Loss/Take Profit терминал пишет в это поле st/tp. Как запретить терминалу и брокеру менять комментарий? Или может знаете другой способ хранения периода для каждой позиции? 

 
в mql5 не могу такую штуку допилить. Как распознавать только новые ордера независимо от комментов и мэжик №, у меня при закрытии buy сигнализирует что поступил sell (так и наоборот).
Причина обращения: