Тестер стратегий MetaTrader 5: ошибки, баги, предложения по улучшению работы - страница 40

 
traveller00:
Билд 2280. Берётся символ и период, когда котировок на нём не было. В данном случае это биржа, брокер Открытие, символ 1MFR-1.20, период 01.09.2019-01.12.2019. Запускается любой советник, скажем из примеров Examples\Moving Average\Moving Average.ex5. Ставится генетическая оптимизация (хотя подозреваю, что и на других этот баг есть), критерий без разницы (тиков всё равно нету), каждый тик на основе реальных тиков, прибыль в пипсах. Делаем оптимизацию, получаем по сути набор нулевых проходов. Почему в каждом проходе profit_factor и margin_level заполнены мусором? Не инициализируются где-то переменные нулём? В закладке бэктеста это выглядит как просто пустое место, он ничего не выводит. Если парсить opt-файл руками, будут значения profit_factor = 1.797693134862316e+308 и margin_level = 1.797693134862316e+308.

Это не мусор.

Это - DBL_MAX

Документация по MQL5: Константы, перечисления и структуры / Именованные константы / Константы числовых типов
Документация по MQL5: Константы, перечисления и структуры / Именованные константы / Константы числовых типов
  • www.mql5.com
Каждый простой числовой тип предназначен для определенного круга задач и позволяет оптимизировать работу mql5-программы при правильном применении. Для лучшей читаемости кода и...
 
Видимо, проверка при делении на 0 и автоматическая подстановка такого числа. Ну если не баг, а фича, то ладно.
 

При выборе/поиске предыдущих заданий Тестера нет никакой информации, когда эти задания ставились.


На картинке решил посмотреть через строку поиска, какие манипуляции проводил в Тестере с определенным советником. К сожалению, информация по времени в результатах интерактивного поиска отсутствует.

Возможно добавить время? Если правильно понимаю, то для каждой строки это время соответствующего ini-файла.

 

Что это за настройка?


ЗЫ На кастомный символ изменения настроек символа (например, размер тика) в Тестере не влияют. Более того, это окно в Тестере показыает нулевой размер тика, а на самом деле он имеет отличное значение.

 

Как заставить Тестер учитывать цену тика (SYMBOL_TRADE_TICK_VALUE) кастомного символа?

Как не меняю это значение при создании символа, никак не влияет на результат вычисления профита (как будто TickValue = 1).

 

У пользовательского символа все валюты равны валюте счета. Т.е. режим почти аналогичен "по пипсам", не нужно подключать другие символы для расчета маржи и т.д.

На сервере, где есть комиссия (воспроизводил на ForexTimeFXTM-Demo01, EUR, Hedge) в режиме по реальным тикам после первой торговой операции подключается дополнительно еще один символ из стандартных. И все, конечно, считается гораздо медленнее, чем должно было быть.


На MQ-Demo, где нет комиссии (и это, неправильно, т.к. тест корректности комиссии не провести на главном демо-сервере), работает все правильно.


Воспроизводится данная проблема?

 
На MQ-Demo в Тестере такие настройки
[Tester]
Symbol=AUDUSD
Period=M1
Optimization=0
Model=4
FromDate=2019.12.16
ToDate=2019.12.17
ForwardMode=0
Deposit=100000
Currency=EUR
ProfitInPips=0
Leverage=100
ExecutionMode=0
OptimizationCriterion=6
Visual=0


Настройки символа


Лог одиночного прогона

2019.12.18 09:31:33.404 Tester  AUDUSD: history data begins from 2017.03.10 00:00
2019.12.18 09:31:33.405 Tester  AUDUSD: ticks data begins from 2019.12.16 00:00
2019.12.18 09:31:33.405 Tester  EURAUD: history data begins from 2017.01.02 00:00
2019.12.18 09:31:33.405 Tester  EURAUD: ticks data begins from 2019.12.16 00:00
2019.12.18 09:31:33.405 Tester  EURUSD: history data begins from 1999.01.04 00:00
2019.12.18 09:31:33.405 Tester  EURUSD: ticks data begins from 2019.12.16 00:00
2019.12.18 09:31:33.409 Core 1  agent process started on 127.0.0.1:3000
2019.12.18 09:31:33.409 Core 1  connecting to 127.0.0.1:3000
2019.12.18 09:31:33.910 Core 1  connected
2019.12.18 09:31:33.939 Core 1  authorized (agent build 2281)


Выделил два символа, которые подгружает Тестер. При этом он их не использует (и не должен) во время прогона. Т.е. подгрузка и расход памяти идут в пустую.

 
fxsaber:
На MQ-Demo в Тестере такие настройки


Настройки символа


Лог одиночного прогона


Выделил два символа, которые подгружает Тестер. При этом он их не использует (и не должен) во время прогона. Т.е. подгрузка и расход памяти идут в пустую.

Валюта депозита при этом EUR...
 
Slava:
Валюта депозита при этом EUR...

Да.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Тестер стратегий MetaTrader 5: ошибки, баги, предложения по улучшению работы

fxsaber, 2019.12.18 08:37

На MQ-Demo в Тестере такие настройки
[Tester]
Symbol=AUDUSD
Period=M1
Optimization=0
Model=4
FromDate=2019.12.16
ToDate=2019.12.17
ForwardMode=0
Deposit=100000
Currency=EUR
ProfitInPips=0
Leverage=100
ExecutionMode=0
OptimizationCriterion=6
Visual=0
 
fxsaber:

Да.

А когда пойдёт торговля, то подгрузится ещё один инструмент - EURUSD