При двойном клике на индикаторный буфер нельзя задать собственное поведение, кроме изменения параметров индикатора. Логично предоставить опцию пользовательского события.
Нашелся ещё баг со временем закрытия сделки по СЛ в миллисекундах (DEAL_TIME_MSC). Эксперт:
#include <Trade\Trade.mqh> //подключаем библиотеку для совершения торговых операций
CTrade Trade; // объект для выполнения торговых операцийint stop=0;
voidOnTick(){
if(stop > 1){return;}//2 первые сделкиMqlTick Tick;
if (SymbolInfoTick(_Symbol, Tick) ){Print("--Main (",_Symbol,") tick time=",MscToString(Tick.time_msc));}
if (SymbolInfoTick("GBPUSD", Tick)){
Print("===GBPUSD tick time=",MscToString(Tick.time_msc)," ask=",Tick.ask," bid=",Tick.bid);
Trade.Buy (1,"GBPUSD",Tick.ask, Tick.ask - 10 * _Point, Tick.ask + 10 * _Point);
//Trade.Sell(1,_Symbol,Tick.bid, 0, 0);
}
stop++;
}
voidOnDeinit(constint reason ){
HistorySelect(0,TimeCurrent());
for(int i=0;i<HistoryDealsTotal();i++){
ulong deal_ticket= HistoryDealGetTicket(i);
long tr_time=HistoryDealGetInteger(deal_ticket,DEAL_TIME_MSC);
Print("POSITION_ID:",HistoryDealGetInteger(deal_ticket,DEAL_POSITION_ID)," deal #",deal_ticket," at ",MscToString(tr_time)," Price:",DoubleToString(HistoryDealGetDouble(deal_ticket,DEAL_PRICE),5)," DEAL_TYPE: ",HistoryDealGetInteger(deal_ticket,DEAL_TYPE));
}
}
string MscToString(long ms){return (string)(datetime)(ms/1000)+"."+(string)(ms%1000);}
Торгует в коде на GBPUSD, а запускаем на другом инструменте EURGBP. ДЦ: Ал-ри, хедж, ECN счет.
Печатает:
1-й тик 2023.05.29 00:15:00 --Main (EURGBP) tick time=2023.05.29 00:15:00.488 2023.05.29 00:15:00 ===GBPUSD tick time=2023.05.29 00:15:00.189 ask=1.23441 bid=1.23431 ... 2-й тик 2023.05.29 00:15:16 --Main (EURGBP) tick time=2023.05.29 00:15:16.417 2023.05.29 00:15:16 ===GBPUSD tick time=2023.05.29 00:15:00.189 ask=1.23441 bid=1.23431 - по GBPUSD новых тиков еще не было ... Печать сделок: 2023.05.29 23:54:58 POSITION_ID:0 deal #1 at 2023.05.29 00:00:00.0 Price:0.00000 DEAL_TYPE: 2 2023.05.29 23:54:58 POSITION_ID:2 deal #2 at 2023.05.29 00:15:00.488 Price:1.23441 DEAL_TYPE: 0 2023.05.29 23:54:58 POSITION_ID:2 deal #3 at 2023.05.29 00:15:00.139 Price:1.23402 DEAL_TYPE: 1 2023.05.29 23:54:58 POSITION_ID:4 deal #4 at 2023.05.29 00:15:16.417 Price:1.23441 DEAL_TYPE: 0 2023.05.29 23:54:58 POSITION_ID:4 deal #5 at 2023.05.29 00:16:01.617 Price:1.23402 DEAL_TYPE: 1
Забыли обновить время закрытия сделки в мс 15:00.139, оно получается раньше времени открытия 15:00.488 .
Предполагаю, что время закрытия не обновляется, только в случае, если сделка открылась и закрылась по цене тика, который был раньше первого тика основного инструмента EURGBP. Т.к. все последующие тики (как видно по 2-му, имеют правильное время закрытия)
П.С.
Заметил эту ошибку, т.к. печатал сделки через библиотеку Report https://www.mql5.com/ru/code/18801
Там происходит корректировка ошибок по времени открытия/закрытия. И эта сделка просто была исключена из отчета:
На что сразу обратил внимание. Пришлось искать, где пропавшая сделка. Сделал проверочный код (см выше), который и показал, что ошибка в тестере, а не в Report-e
Т.е. сделка сразу же закрылась при открытии, т.к. bid == sl. Но время закрытия все равно неверное, не должно быть меньше времени открытия. Видимо должно быть = 15:00.488
Нашелся ещё баг со временем закрытия сделки по СЛ в миллисекундах (DEAL_TIME_MSC).
Вы проделали огромную работу. К сожалению, даже мне (заинтересованному лицу) приходится очень сильно напрягаться, чтобы въехать в суть описания бага. Потому боюсь, что MQ не уделят должного внимания данной проблеме. Как показать, чтобы MQ заинтересовались - не знаю. Текущий вариант - очень тяжелый. Скорее всего, только один человек его внимательно посмотрит. И это будет не MQ.
fxsaber #: Вы проделали огромную работу. К сожалению, даже мне (заинтересованному лицу) приходится очень сильно напрягаться, чтобы въехать в суть описания бага. Потому боюсь, что MQ не уделят должного внимания данной проблеме. Как показать, чтобы MQ заинтересовались - не знаю. Текущий вариант - очень тяжелый. Скорее всего, только один человек его внимательно посмотрит. И это будет не MQ.
Вот с утра и до обеда искал, делал тестовый советник и описывл ситуацию. Не хотелось бы, чтобы этот труд оказался напрасным. Точность работы тестера - тоже в интересах MQ. Даже с одной неверной сделкой.
П.С. Вместо работы над советником уже 3-й раз за последние 8 дней, трачу время на баги ((. Не туда время уходит, куда хотелось бы. Черный ящик тяжелее исследовать, чем свой код.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Предложение по закрытым вкладкам. Очень часто закрываю нужную вкладку по ошибке.
Меню "Файл" - "Открыть удалённый"
Меню "Файл" - "Открыть удалённый"
Спасибо. Удивлён, что есть такой функционал, только не додумался там искать.
Одно из окон с результатами оптимизации не реагирует на кнопку закрытия.
Всё остальное (изменение вида отображения результатов, вкл/выкл сетки, сворачивание/разворачивание, ресайз) отрабатывается нормально.
Другие подобные окна нормально закрылись.
Одно из окон с результатами оптимизации не реагирует на кнопку закрытия.
Нашелся ещё баг со временем закрытия сделки по СЛ в миллисекундах (DEAL_TIME_MSC). Эксперт:
Торгует в коде на GBPUSD, а запускаем на другом инструменте EURGBP. ДЦ: Ал-ри, хедж, ECN счет.
Печатает:
1-й тик
2023.05.29 00:15:00 --Main (EURGBP) tick time=2023.05.29 00:15:00.488
2023.05.29 00:15:00 ===GBPUSD tick time=2023.05.29 00:15:00.189 ask=1.23441 bid=1.23431
...
2-й тик
2023.05.29 00:15:16 --Main (EURGBP) tick time=2023.05.29 00:15:16.417
2023.05.29 00:15:16 ===GBPUSD tick time=2023.05.29 00:15:00.189 ask=1.23441 bid=1.23431 - по GBPUSD новых тиков еще не было
...
Печать сделок:
2023.05.29 23:54:58 POSITION_ID:0 deal #1 at 2023.05.29 00:00:00.0 Price:0.00000 DEAL_TYPE: 2
2023.05.29 23:54:58 POSITION_ID:2 deal #2 at 2023.05.29 00:15:00.488 Price:1.23441 DEAL_TYPE: 0
2023.05.29 23:54:58 POSITION_ID:2 deal #3 at 2023.05.29 00:15:00.139 Price:1.23402 DEAL_TYPE: 1
2023.05.29 23:54:58 POSITION_ID:4 deal #4 at 2023.05.29 00:15:16.417 Price:1.23441 DEAL_TYPE: 0
2023.05.29 23:54:58 POSITION_ID:4 deal #5 at 2023.05.29 00:16:01.617 Price:1.23402 DEAL_TYPE: 1
Забыли обновить время закрытия сделки в мс 15:00.139, оно получается раньше времени открытия 15:00.488 .
Предполагаю, что время закрытия не обновляется, только в случае, если сделка открылась и закрылась по цене тика, который был раньше первого тика основного инструмента EURGBP. Т.к. все последующие тики (как видно по 2-му, имеют правильное время закрытия)
П.С.
Заметил эту ошибку, т.к. печатал сделки через библиотеку Report https://www.mql5.com/ru/code/18801

Там происходит корректировка ошибок по времени открытия/закрытия. И эта сделка просто была исключена из отчета:
На что сразу обратил внимание. Пришлось искать, где пропавшая сделка. Сделал проверочный код (см выше), который и показал, что ошибка в тестере, а не в Report-e
...
2023.05.29 00:15:00 stop loss triggered #2 buy 1 GBPUSD 1.23441 sl: 1.23431 tp: 1.23451 [#3 sell 1 GBPUSD at 1.23431]
Но время закрытия все равно неверное, не должно быть меньше времени открытия. Видимо должно быть = 15:00.488
Нашелся ещё баг со временем закрытия сделки по СЛ в миллисекундах (DEAL_TIME_MSC).
Вы проделали огромную работу. К сожалению, даже мне (заинтересованному лицу) приходится очень сильно напрягаться, чтобы въехать в суть описания бага. Потому боюсь, что MQ не уделят должного внимания данной проблеме. Как показать, чтобы MQ заинтересовались - не знаю. Текущий вариант - очень тяжелый. Скорее всего, только один человек его внимательно посмотрит. И это будет не MQ.
П.С. Вместо работы над советником уже 3-й раз за последние 8 дней, трачу время на баги ((. Не туда время уходит, куда хотелось бы. Черный ящик тяжелее исследовать, чем свой код.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 4040: Улучшения и исправления
Forester, 2023.12.19 11:42