OnTradeTransaction - страница 3

 
Andrey Dik:
Как узнать в OnTradeTransaction () что сработал SL/TP?

Используйте TRADE_TRANSACTION_DEAL_ADD

 
Я так полагаю, использование данной ф-ии обязательно, особенно при exchange исполнении приказов, потому что торговые ф-ии не возвращают результат открытия позиции, и ее можно отследить только через онтранзакшн. В мт4 с этим проще, конечно же
 
prostotrader:

Используйте TRADE_TRANSACTION_DEAL_ADD

Разверните, пожалуйста, ответ.

Как из этого мне узнать, что позиция закрылась по SL/TP?

 
Andrey Dik:

Разверните, пожалуйста, ответ.

Как из этого мне узнать, что позиция закрылась по SL/TP?

У вас есть открытая позиция.

Если Вы сами производите какие-либо операции с позицией, то тогда у Вас будут тикеты ордеров,

которыми Вы оперируете. Но если пришло TRADE_TRANSACTION_DEAL_ADD, а ниодин Ваш

ордер не отображен в сообщении, то это значит, что сработал SL/TP 

case TRADE_TRANSACTION_DEAL_ADD:
  if (trans.order != my_order_ticket)
  {
   //Сработал SL или TP
  }
break;

Добавлено

Если Вы используете более 1 эксперта,

то нужно прозвводить дополнительные проверки

по магику и символу

Добавлено

Но лучше вообще не использовать SL и TP, т.е они не выводятся в торгорую

систему, а хранятся на сервере. Я, н-р, в качестве SL и TP использую

отложенные ордера. Справедливости ради, стоит отметить, что

работа с отложенными ордерами гораздо более трудоёмкая,

но более надёжная, т.к ордера уже находятся в торговой системе и

их просто отслеживать по тикетам.
 

 
prostotrader:

У вас есть открытая позиция.

Если Вы сами производите какие-либо операции с позицией, то тогда у Вас будут тикеты ордеров,

которыми Вы оперируете. Но если пришло TRADE_TRANSACTION_DEAL_ADD, а ниодин Ваш

ордер не отображен в сообщении, то это значит, что сработал SL/TP 

case TRADE_TRANSACTION_DEAL_ADD:
  if (trans.order != my_order_ticket)
  {
   //Сработал SL или TP
  }
break;

Добавлено

Если Вы используете более 1 эксперта,

то нужно прозвводить дополнительные проверки

по магику и символу

Добавлено

Но лучше вообще не использовать SL и TP, т.е они не выводятся в торгорую

систему, а хранятся на сервере. Я, н-р, в качестве SL и TP использую

отложенные ордера. Справедливости ради, стоит отметить, что

работа с отложенными ордерами гораздо более трудоёмкая,

но более надёжная, т.к ордера уже находятся в торговой системе и

их просто отслеживать по тикетам.
 

Спасибо, вроде бы теперь понятно как определить что сработал SL/TP (но надо сказать, что всё равно это ректальный способ, должен быть способ проще). 

А на счет лимитных ордеров вместо SL/TP не чревато ли это, если речь идет о выводе позиций на LP? Лимитки будут видны в стакане, а значит и проще "съесть". Хотя тогда получается, что TP выгоднее ставить как лимитник? 

 
Andrey Dik:

Спасибо, вроде бы теперь понятно как определить что сработал SL/TP (но надо сказать, что всё равно это ректальный способ, должен быть способ проще). 

А на счет лимитных ордеров вместо SL/TP не чревато ли это, если речь идет о выводе позиций на LP? Лимитки будут видны в стакане, а значит и проще "съесть". Хотя тогда получается, что TP выгоднее ставить как лимитник? 

---> должен быть способ проще) 

Должен быть, но его  нет, пока.

-->а значит и проще "съесть" 

Тогда зачем Вы вообще устанавливаете SL/TP ?

Устанавливая отложенные ордера в качестве SL/TP Вы со 100% уверенностью защищены от проскальзывания

и несрабатывания. 

 
prostotrader:

Устанавливая отложенные ордера в качестве SL/TP Вы со 100% уверенностью защищены от проскальзывания

и несрабатывания

Лимитный может реджектится. SL - идентичен stop-отложеннику.
 
Если SL или TP проскользнёт, то цена сделки инициирующей стоп не совпадёт с соответствующей ценой SL и TP позиции, тогда как узнать, что именно сработало SL или TP (в прибыль или убыток может закрыться и SL и TP - по этому по прибыли не узнать)? 
 

Такое впечатление, что Вы оба никогда реально не торговали....  

--->Лимитный может реджектится. SL - идентичен stop-отложеннику.

Об этом "несчастном случае", Вы получите уведомление, тогда как любые другие ордера (хранящиеся на серваке) - вообще не предсказуемы. 

---> Если SL или TP проскользнёт,....

Всё можно узнать, стоит немного подумать и внимательно почитать, что Вам пишут.

Добавлено

Все мои высказывания относятся ТОЛЬКО к биржевой торговле. 

 
prostotrader:

Такое впечатление, что Вы оба никогда реально не торговали....  

--->Лимитный может реджектится. SL - идентичен stop-отложеннику.

Об этом "несчастном случае", Вы получите уведомление, тогда как любые другие ордера (хранящиеся на серваке) - вообще не предсказуемы. 

---> Если SL или TP проскользнёт,....

Всё можно узнать, стоит немного подумать и внимательно почитать, что Вам пишут.

Я никогда не обрабатывал раньше события OnTradeTransaction (), в этом не было никакой необходимости, поскольку в торговой логике не было необходимости учитывать что именно сработало. SL или TP. Полагаете, что это свидетельствует о моём торговом опыте?)))

prostotrader:

Всё можно узнать, стоит немного подумать и внимательно почитать, что Вам пишут. 

 Я очень внимательно читаю, но не вижу, что бы кто то дал вразумительный ответ в виде рабочего кода. Или это охрененный секрет и великое колдунство - тайное знание и умение определять что сработало?