Обсуждение статьи "Основы тестирования в MetaTrader 5" - страница 4

 
olowsam:


Я читал эту замечательную статью и, похоже, где-то была допущена опечатка.

Исправлено, спасибо!
 

Выдержка из статьи:

Обработка событий в тестере

Наличие обработчика OnTick() в эксперте не является обязательным для того, чтобы его можно было подвергнуть проверке на исторических данных в тестере терминала MetaTrader 5. Достаточно того, чтобы в советнике была хотя бы одна функция-обработчик из перечисленных:

    OnTick() - обработчик события прихода нового тика;
    OnTrade() - обработчик торгового события;
    OnTimer() - обработчик события прихода сигнала от таймера;
    OnChartEvent() - обработчик пользовательских событий...


Уважаемые разработчики, просьба прокомментировать, а что с функцией OnTradeTransaction() ?

Есть ли в планах решение по её нормальной работе в Тестере?

 

Здравствуйте.

У меня уже несколько дней возникают проблемы с тестированием индикатора HiLo в тестере стратегий.

Я получаю следующее сообщение об ошибке:

2014.06.05 16:50:18.010 program file Indicators\hilo__1_teste.ex5 read error
2014.06.05 16:50:18.010 program file Indicators\hilo__1_teste.ex5 read error
2014.06.05 16:50:17.126 program file Indicators\hilo__1_teste.ex5 ошибка чтения
2014.06.05 16:50:17.126 загрузка hilo__1_teste EURUSD,H1 не удалась
2014.06.05 16:50:17.126 программный файл Indicators\hilo__1_teste.ex5 ошибка чтения
2014.06.05 16:50:17.126 загрузка hilo__1_teste EURUSD,H1 не удалась
2014.06.05 16:50:17.126 программный файл Indicators\hilo__1_teste.ex5 ошибка чтения
2014.06.05 16:50:17.126 2011.06.06 00:00:32 cannot load custom indicator 'hilo__1_teste' [4802]
2014.06.05 16:50:17.126 loading of hilo__1_teste EURUSD,Daily failed
2014.06.05 16:50:17.126 program file Indicators\hilo__1_teste.ex5 read error
2014.06.05 16:50:17.126 program file Indicators\hilo__1_teste.ex5 read error
...

2014.06.05 16:50:27.007 2011.06.06 00:11:59 Ошибка: индикатор не обработан. (handle=-1 | error code=4802)
2014.06.05 16:50:27.007 2011.06.06 00:11:59 cannot load custom indicator 'hilo__1_teste' [4802]
2014.06.05 16:50:27.007 loading of hilo__1_teste EURUSD,H1 failed
2014.06.05 16:50:27.007 program file Indicators\hilo__1_teste.ex5 read error

Что происходит? Кто-нибудь сталкивался с этой проблемой или может мне помочь?

 

По поводу раздела "Синхронизация баров при тестировании в режиме "Только цены открытия""

Если советник для работы запрашивает данные о цене из последней свечи, то функция синхронизации - нужна. Ведь цены Open разных баров могут сильно отличаться.

А если советник использует данные из SymbolInfoDouble(simbol,SYMBOL_BID) и SymbolInfoDouble(simbol,SYMBOL_ASK) - то можно не усложнять код и ресурсоемкость эксперта.

В данном варианте работы, если новый бар по другому символу не появился, то SymbolInfoDouble(simbol,SYMBOL_BID) вернет последнюю известную цену, т.е. цену Close предыдущего бара. А цена Close предудущего бара от цены Open нового бара отличается на движение цены за 1 тик (между последним тиком предыдущего бара и первым тиком нового бара). Т.е. этой разницей можно пренебречь.

Это можно проверить, вставив строку

Print(_Symbol," = ",SymbolInfoDouble(_Symbol,SYMBOL_BID),"  ",other_symbol," = ",SymbolInfoDouble(other_symbol,SYMBOL_BID));

до и после цикла синхронизации.
Вот пример лога:

2016.09.01 12:31:00   На символе EURUSD открылся новый бар в 2016.09.01 12:31
2016.09.01 12:31:00   EURUSD = 1.11389  USDJPY = 103.534
2016.09.01 12:31:00   Подождем 5 секунд..
2016.09.01 12:31:05   Время открытия последнего бара на своем символе EURUSD: 2016.09.01 12:31
2016.09.01 12:31:05   Время открытия последнего бара на символе USDJPY: 2016.09.01 12:31
2016.09.01 12:31:05   Бары синхронизировались в 2016.09.01 12:31:05
2016.09.01 12:31:05   EURUSD = 1.11389  USDJPY = 103.532

Отличие для USDJPY = 2 пт. Где 103.534 - соответствует цене Close USDJPY предыдущего бара. После цикла синхронизации получили 103.532, которая равна Open нового бара.
 

Ручная торговля утомляет. Я надеюсь, что скоро найду робота, который будет приносить мне больше, чем он мне стоил.

 
Thiago Ferreira:

Здравствуйте.

У меня уже несколько дней возникают проблемы с тестированием индикатора HiLo в тестере стратегий.

Я получаю следующее сообщение об ошибке:

2014.06.05 16:50:18.010 program file Indicators\hilo__1_teste.ex5 read error
2014.06.05 16:50:18.010 program file Indicators\hilo__1_teste.ex5 read error
2014.06.05 16:50:17.126 program file Indicators\hilo__1_teste.ex5 ошибка чтения
2014.06.05 16:50:17.126 загрузка hilo__1_teste EURUSD,H1 не удалась
2014.06.05 16:50:17.126 программный файл Indicators\hilo__1_teste.ex5 ошибка чтения
2014.06.05 16:50:17.126 загрузка hilo__1_teste EURUSD,H1 не удалась
2014.06.05 16:50:17.126 программный файл Indicators\hilo__1_teste.ex5 ошибка чтения
2014.06.05 16:50:17.126 2011.06.06 00:00:32 cannot load custom indicator 'hilo__1_teste' [4802]
2014.06.05 16:50:17.126 loading of hilo__1_teste EURUSD,Daily failed
2014.06.05 16:50:17.126 program file Indicators\hilo__1_teste.ex5 read error
2014.06.05 16:50:17.126 program file Indicators\hilo__1_teste.ex5 read error
...

2014.06.05 16:50:27.007 2011.06.06 00:11:59 Ошибка: индикатор не обработан. (handle=-1 | error code=4802)
2014.06.05 16:50:27.007 2011.06.06 00:11:59 cannot load custom indicator 'hilo__1_teste' [4802]
2014.06.05 16:50:27.007 loading of hilo__1_teste EURUSD,H1 failed
2014.06.05 16:50:27.007 program file Indicators\hilo__1_teste.ex5 read error

Что происходит? Кто-нибудь сталкивался с этой проблемой или может мне помочь?

 

Статья не полная.

В этой статье не хватает самого главного - оптимальных параметров компьютера, на котором будет производиться тестирование.

Например мой робот тестировался на 5ти разных компьютерах.

На одном тест проходил за пару часов, а на другом больше суток. На одном была больше загружена ЦП, а на другом диск. Я искал, но НИГДЕ не нашел оптимальных параметров железа.

Думал, что METAQUOTES разъяснит это, но увы... статья не полная.

 
lasleon:

Статья не полная.

В этой статье не хватает самого главного - оптимальных параметров компьютера, на котором будет производиться тестирование.

Например мой робот тестировался на 5ти разных компьютерах.

На одном тест проходил за пару часов, а на другом больше суток. На одном была больше загружена ЦП, а на другом диск. Я искал, но НИГДЕ не нашел оптимальных параметров железа.

Думал, что METAQUOTES разъяснит это, но увы... статья не полная.

Все просто:
 - больше ядер у процессора, но не загружать все ядра в оптимизаторе, оставить пару минимум
 - выше частота процессора
 - по максимуму память для удержания системных кешей терминала и тестера
 - обязателен SSD, лучше NVMe


 
Renat Fatkhullin:
***
 - обязателен SSD, лучше NVMe

На SSD нужно чтобы стояла вся операционка или можно как-то на SSD поселить только агентов?

 
Vladimir Karputov:

На SSD нужно чтобы стояла вся операционка или можно как-то на SSD поселить только агентов?

Все на SSD, они же сейчас стоят копейки.