Позиция открыта, модифицирована и закрыта по 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) модификации в торговой истории не сохраняются.
Остаётся пройтись по торговой истории и распечатать все поля сделок и ордеров ...
Вот советник "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] |
Добавлено: прикрепил файл.
В общем (на всякий случай билд 1643) модификации позиций в торговой истории не сохраняются. Зато получился код для вывода всех полей сделки и ордера. Можно даже в виде скрипта сделать - в котором будет два входных параметра from_date и to_date для запроса интервала торговой истории ...
Скрипт "History Deals and Orders.mq5" выводит все значения полей сделок и ордеров из запрошенного интервала торговой истории.
Скрипт выполнен на торговых функциях HistoryDealxxxx и HistoryOrderxxx.
![Совершение сделок - Торговые операции - Справка по MetaTrader 5 Совершение сделок - Торговые операции - Справка по MetaTrader 5](/i/community/logo_metatrader5_small.png)
- www.metatrader5.com
В общем (на всякий случай билд 1643) модификации позиций в торговой истории не сохраняются. Зато получился код для вывода всех полей сделки и ордера. Можно даже в виде скрипта сделать - в котором будет два входных параметра from_date и to_date для запроса интервала торговой истории ...
Скрипт "History Deals and Orders.mq5" выводит все значения полей сделок и ордеров из запрошенного интервала торговой истории.
Скрипт выполнен на торговых функциях HistoryDealxxxx и HistoryOrderxxx.
Что за напасть? ОПЯТЬ и СНОВА скачивается ЧУЖОЙ файл. Я закинул "History Deals and Orders.mq5", а скачал какой-то "History_Deals_and_Orders.mq5":
...операции модификации НИКАК НЕ ОТРАЖАЮТСЯ в торговой истории !!!
Это слабое место терминала MetaTrader.
И его мобильной версии, если с нее захочется изменить положение стоп ордеров.
Доказать потом брокеру, что либо, не представляется возможным.
Владимир затронул очень важную тему!
Хочу сказать вам большое спасибо, что Вы подняли эту тему!
Хочу сказать вам большое спасибо, что Вы подняли эту тему!
К сожалению пока ответ такой: запись о модификациях позиций в торговой истории даже не стоит в планах :(
Но мы подождём. Ждать мы умеем.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Задача в общем не нова: попытаться восстановить уровни stop loss и take profit. Проблема в том, что операции модификации НИКАК НЕ ОТРАЖАЮТСЯ в торговой истории.
Но, как говориться, не велика беда начала, нужно с чего то начинать.
В общем сейчас буду что-то такое делать, чтобы выполнялся такой процесс: