Нарвался на ситуацию, когда выбранный локальный Агент (жирным шрифтом в списке агентов помечен) в состоянии disabled. При этом одиночный проход запустился на другом Агенте. Пока выполнялся одиночный проход, нельзя было упомянутый disabled-Агент включить - нажимал Включить, но ничего не происходило.
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006#define Ask SymbolInfoDouble( _Symbol, SYMBOL_ASK )
voidOnTick()
{
if (!OrderSelect(0, SELECT_BY_POS)) // Если нет текущих ордеров,OrderSend( _Symbol, OP_BUYSTOP, 0.1, Ask * 2, 0, 0, 0); // выставляем.elseif ((TimeCurrent() - OrderOpenTime() > 60) && OrderDelete(OrderTicket())) // Если текущий ордер живет дольше минуты - удаляем.
{
// if (HistorySelect(OrderOpenTime() + 1, INT_MAX))if (HistorySelect(TimeCurrent() - 10, INT_MAX)) // После удаления отступаем 10 секунд от текущего времени и берем историю.Print(HistoryOrdersTotal()); // Видим, что в истории удаленного ордера нет - 0.if (HistorySelect(OrderOpenTime(), INT_MAX)) // Теперь берем историю от времени постановки удаленного ордера.Print(HistoryOrdersTotal()); // Видим, что в истории удаленный ордер есть - 1.ExpertRemove(); // Вышли.
}
}
HistorySelect выбирает ордера не с даты их удаления/заливки, а с даты постановки. Что, конечно, неверно. В Терминале правильно отрабатывает. Неприятный баг.
если в тестере в режиме реальных тиков тиковая история не синхронизирована, то тестер начинает работу в режиме сгенерированных тиков! просьба - останавливать прогон с ошибкой вместо этого.
уже много раз жестко приходилось огорчаться впоследствии, после граальных результатов
уже несколько раз мой монитор чудом оставался жив, избежав моего праведного гнева. билд 2340.
В составе клиентского терминала MetaTrader 5 есть встроенная среда программирования для разработки полностью автоматических стратегий (торговых роботов), которые могут торговать без вмешательства человека. Другое название торговых роботов - эксперты. Эксперты и технические индикаторы для терминала MetaTrader 5 пишутся на языке MQL5, в котором...
Andrey Dik: если в тестере в режиме реальных тиков тиковая история не синхронизирована, то тестер начинает работу в режиме сгенерированных тиков! просьба - останавливать прогон с ошибкой вместо этого.
уже много раз жестко приходилось огорчаться впоследствии, после граальных результатов
уже несколько раз мой монитор чудом оставался жив, избежав моего праведного гнева. билд 2340.
когда баровая история на сервере не соответствует тиковой истории. Тогда нельзя использовать оригинальный символ в Тестере совсем. Обходится это ограничение только через кастомные символы.
Используйте всегда только кастомные. Проблемы не будет совсем. А так.
2470, при Оптимизации проскакивают такие сообщения.
2020.05.3011:49:55.216 Core 2 genetic pass (15, 313) returned result 0in0:00:04.1462020.05.3011:49:55.575 Core 1 genetic pass (15, 283) returned result 0in0:00:04.9072020.05.3011:49:56.241 Core 3 genetic pass (15, 375) returned result 0in0:00:04.5372020.05.3011:49:56.269 Core 6 genetic pass (15, 495) returned result 0in0:00:04.4132020.05.3011:49:57.497 Core 4 genetic pass (15, 419) returned result 1908.000000in0:00:04.8732020.05.3011:49:58.528 Core 6 genetic pass (15, 497) returned result 0in0:00:00.1352020.05.3011:49:58.528 Core 6 genetic pass (15, 502) returned result 0in0:00:02.1222020.05.3011:49:58.824 Core 4 genetic pass (15, 428) returned result 0in0:00:00.2912020.05.3011:49:58.824 Core 4 genetic pass (15, 429) returned result 0in0:00:01.0352020.05.3011:49:59.178 Core 4 genetic pass (15, 433) returned result 0in0:00:00.3522020.05.3011:49:59.178 Core 22 rejected passes returned to queue
2020.05.3011:49:59.178 Core 32 rejected passes returned to queue2020.05.3011:49:59.178 Core 4 genetic pass (15, 345, 1) started
2020.05.3011:49:59.660 Core 2 genetic pass (15, 327) returned result 0in0:00:04.443
В этих двух режимах отображения результатов Оптимизации
ничего полезного не сделать, т.к. отсутствуют всплывающие подсказки с результатом при наведении мыши на соответствующую ячейку/точку.
Просьба доделать эти два режима, как это реализовано в верхнем/дефолтном режиме "График с результатами".
HistorySelect выбирает ордера не с даты их удаления/заливки, а с даты постановки. Что, конечно, неверно. В Терминале правильно отрабатывает. Неприятный баг.
Строка для поиска: Oshibka 008.
Требует наличия input-параметров. Но для данного вида Оптимизации входные параметры не нужны. Просьба учесть.
уже много раз жестко приходилось огорчаться впоследствии, после граальных результатов
если в тестере в режиме реальных тиков тиковая история не синхронизирована, то тестер начинает работу в режиме сгенерированных тиков! просьба - останавливать прогон с ошибкой вместо этого.
уже много раз жестко приходилось огорчаться впоследствии, после граальных результатов
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Бета-версия платформы MetaTrader 5 build 2430: Сервис "Подписки", улучшения в интерфейсе и удобные функции в MetaEditor
fxsaber, 2020.05.17 00:38
когда баровая история на сервере не соответствует тиковой истории. Тогда нельзя использовать оригинальный символ в Тестере совсем. Обходится это ограничение только через кастомные символы.
Используйте всегда только кастомные. Проблемы не будет совсем. А так.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Бета-версия платформы MetaTrader 5 build 2430: Сервис "Подписки", улучшения в интерфейсе и удобные функции в MetaEditor
Renat Fatkhullin, 2020.05.17 11:53
Тестер будем переделывать кардинально.
Если на торговом сервере есть символ, у которого нет истории, то запуск на нем Тестера вызывает бесконечное ожидание.
Из-за этого, в частности, невозможно провести оптимизацию в режиме по всем символам из Обзора рынка.
Просьба в эту строку добавить название сервера.