Отследить stop loss и take profit

Vladimir Karputov  

Задача в общем не нова: попытаться восстановить уровни stop loss и take profit. Проблема в том, что операции модификации НИКАК НЕ ОТРАЖАЮТСЯ в торговой истории.

Но, как говориться, не велика беда начала, нужно с чего то начинать.

В общем сейчас буду что-то такое делать, чтобы выполнялся такой процесс:

  • шаг 1: открываем позицию (или BUY или SELL) сразу с установленным уровнем stop loss и take profit
  • шаг 2: модификация уровня stop loss (вручную, перетаскиваем поближе к текущей цене)
  • шаг 3: ждёмс срабатывания stop loss или take profit
...
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением...
Vladimir Karputov  

Позиция открыта, модифицирована и закрыта по stop loss. 

"Журнал" терминала

2017.08.07 11:06:26.621 Trades  '5755852': instant sell 0.01 EURUSD at 1.18080 sl: 1.18118 tp: 1.18050
2017.08.07 11:06:26.876 Trades  '5755852': accepted instant sell 0.01 EURUSD at 1.18080 sl: 1.18118 tp: 1.18050
2017.08.07 11:06:26.889 Trades  '5755852': deal #144815362 sell 0.01 EURUSD at 1.18080 done (based on order #161639640)
2017.08.07 11:06:26.896 Trades  '5755852': order #161639640 sell 0.01 / 0.01 EURUSD at 1.18080 done in 275.237 ms
2017.08.07 11:06:31.607 Trades  '5755852': modify #161639640 sell 0.01 EURUSD sl: 1.18118, tp: 1.18050 -> sl: 1.18099, tp: 1.18050
2017.08.07 11:06:31.763 Trades  '5755852': accepted modify #161639640 sell 0.01 EURUSD sl: 1.18118, tp: 1.18050 -> sl: 1.18099, tp: 1.18050
2017.08.07 11:06:31.868 Trades  '5755852': modify #161639640 sell 0.01 EURUSD -> sl: 1.18099, tp: 1.18050 done in 261.558 ms
2017.08.07 11:10:01.594 Trades  '5755852': deal #144816023 buy 0.01 EURUSD at 1.18099 done (based on order #161640384)


"История" терминала (режим "Сделки")

"История" терминала (режим "Сделки")


"История" терминала (режим "Ордера")

"История" терминала (режим "Ордера")


"История" терминала (режим "Ордера и сделки")

"История" терминала (режим "Ордера и сделки")


Как видно, на данный момент (на всякий случай билд 1643) модификации в торговой истории не сохраняются.

Vladimir Karputov  

Остаётся пройтись по торговой истории и распечатать все поля сделок и ордеров ...

Vladimir Karputov  

Вот советник "HistoryDeals", который имеет два параметра

  • from_date - с какой даты запрашивать историю
  • to_date - по какую дату запрашивать историю

При запуске, в OnInit() проходит по истории и для каждой сделки распечатывает все Свойства сделок, а также пытается распечатать для ордера породившего сделку все Свойства ордеров. Для примера выше ввод всех параметров выглядит так:

Deal:
|Ticket              |Order               |Time                |Time msc            |Type                |Entry               |Magic               |Reason              |Position ID        
|144815362           |161639640           |2017.08.07 11:06:27 |1502103987695       |DEAL_TYPE_SELL      |DEAL_ENTRY_IN       |0                   |DEAL_REASON_CLIENT  |161639640          
|Volume              |Price               |Commission          |Swap                |Profit              |Symbol              |Comment                                  |External ID        
|0.01                |1.18080             |0.00                |0.00                |0.00                |EURUSD              |                                         |                   
Order:
|Ticket              |Time setup          |Type                |State               |Time expiration     |Time done           |Time setup msc      |Time done msc       |Type filling       
|161639640           |2017.08.07 11:06:27 |ORDER_TYPE_SELL     |ORDER_STATE_FILLED  |2017.08.07 11:06:27 |2017.08.07 11:06:27 |1502103987683       |1502103987695       |ORDER_FILLING_FOK  
|Type time           |Magic               |Reason              |Position id         |Position by id     
|1970.01.01 00:00:00 |0                   |ORDER_REASON_CLIENT |161639640           |0                  
|Volume initial      |Volume current      |Open price          |sl                  |tp                  |Price current       |Price stoplimit    
|0.01                |0.00                |1.18080             |1.18118             |1.18050             |1.18080             |0.00000            
|Symbol              |Comment                                  |Extarnal id        
|EURUSD              |                                         |                   

Deal:
|Ticket              |Order               |Time                |Time msc            |Type                |Entry               |Magic               |Reason              |Position ID        
|144816023           |161640384           |2017.08.07 11:10:02 |1502104202397       |DEAL_TYPE_BUY       |DEAL_ENTRY_OUT      |0                   |DEAL_REASON_SL      |161639640          
|Volume              |Price               |Commission          |Swap                |Profit              |Symbol              |Comment                                  |External ID        
|0.01                |1.18099             |0.00                |0.00                |-0.19               |EURUSD              |[sl 1.18099]                             |                   
Order:
|Ticket              |Time setup          |Type                |State               |Time expiration     |Time done           |Time setup msc      |Time done msc       |Type filling       
|161640384           |2017.08.07 11:10:02 |ORDER_TYPE_BUY      |ORDER_STATE_FILLED  |2017.08.07 11:10:02 |2017.08.07 11:10:02 |1502104202330       |1502104202397       |ORDER_FILLING_IOC  
|Type time           |Magic               |Reason              |Position id         |Position by id     
|1970.01.01 00:00:00 |0                   |ORDER_REASON_SL     |161639640           |0                  
|Volume initial      |Volume current      |Open price          |sl                  |tp                  |Price current       |Price stoplimit    
|0.01                |0.00                |1.18099             |0.00000             |0.00000             |1.18099             |0.00000            
|Symbol              |Comment                                  |Extarnal id        
|EURUSD              |[sl 1.18099]                             |                   


Добавлено: прикрепил файл.

Файлы:
Vladimir Karputov  

В общем  (на всякий случай билд 1643) модификации позиций в торговой истории не сохраняются. Зато получился код для вывода всех полей сделки и ордера. Можно даже в виде скрипта сделать - в котором будет два входных параметра from_date и to_date для запроса интервала торговой истории ...

Скрипт "History Deals and Orders.mq5" выводит все значения полей сделок и ордеров из запрошенного интервала торговой истории.

Скрипт выполнен на торговых функциях HistoryDealxxxx и HistoryOrderxxx.

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением...
Файлы:
Vladimir Karputov  
Vladimir Karputov:

В общем  (на всякий случай билд 1643) модификации позиций в торговой истории не сохраняются. Зато получился код для вывода всех полей сделки и ордера. Можно даже в виде скрипта сделать - в котором будет два входных параметра from_date и to_date для запроса интервала торговой истории ...

Скрипт "History Deals and Orders.mq5" выводит все значения полей сделок и ордеров из запрошенного интервала торговой истории.

Скрипт выполнен на торговых функциях HistoryDealxxxx и HistoryOrderxxx.


Что за напасть? ОПЯТЬ и СНОВА скачивается ЧУЖОЙ файл. Я закинул "History Deals and Orders.mq5", а скачал какой-то "History_Deals_and_Orders.mq5":

Снова скачиваются файлы с чужим именем

[Удален]  

...операции модификации НИКАК НЕ ОТРАЖАЮТСЯ в торговой истории !!!

Это слабое место терминала MetaTrader.

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

Доказать потом брокеру, что либо, не представляется возможным.

Владимир затронул очень важную тему!

[Удален]  

Хочу сказать вам большое спасибо, что Вы подняли эту тему!

Vladimir Karputov  
Andrey Sorokin:

Хочу сказать вам большое спасибо, что Вы подняли эту тему!


К сожалению пока ответ такой: запись о модификациях позиций в торговой истории даже не стоит в планах :( 

Но мы подождём. Ждать мы умеем.