Библиотеки: Tester - страница 2

 
Реter Konow:

По сути, теперь в МТ5 два тестера,  - штатный для автоматических советников, и Ваш для полу-автоматических. Причем, полу-автоматы можно тестировать в обоих тестерах по очередно. Сначала проверить и оптимизировать автоматическую часть, потом - разобрать нюансы решений автоматики на сложных участках и доработать. Это дает Ваш тестер.

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

 
fxsaber:

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

Офигеть...)) Вот раз и тестер сделали!))  Непреодолимый барьер МТ5 между платформой и тестером больше не существует. И как все легко получилось! Не ожидал... 

ЗЫ. Точнее, ожидал и знал, но не представлял, что будет так просто.

 
fxsaber:

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

если хотите чтобы рунет заметил это, реально крутое решение.... имхо только пример демонстрации работы Илана 

;)

 
Может я не разобрался, но не хватает начального запаса баров: что указано во входном параметре, прямо оттуда бары начинаются, а предыдущих нет.
 
Stanislav Korotky:
Может я не разобрался, но не хватает начального запаса баров: что указано во входном параметре, прямо оттуда бары начинаются, а предыдущих нет.

Этого не делал. Добавьте эти строки в Tester.mqh

      if (this.Symb.IsExist()) // Если символ создан
      {
        this.Symb.On();

        this.Symb += BeginTick;
        
        // Добавляем 10К баров начальной истории
        MqlRates Rates[];        
        ::CopyRates(_Symbol, PERIOD_M1, this.StartTime, 10000, Rates);
        this.Symb += Rates;
 
Реter Konow:

не пойму как реализован механизм прогона истории графика с барами и тиками. Это синтетики так задействованы?

Здесь лаконичный пример.

 
fxsaber:

Здесь лаконичный пример.

Ок, выглядит очень просто. Ну, с тестированием индикаторов понятно, а как закидывать советники? На график ставиться эксперт "Tester", а пользовательский эксперт как поставить? На другой график? Или я чего то не понимаю?

Стоп! Это получается что весь тестер подключается к советнику в качестве библиотеки?!

ЗЫ. Советник сам себя тестирует???

 
Реter Konow:

Ок, выглядит очень просто. Ну, с тестированием индикаторов понятно, а как закидывать советники? На график ставиться эксперт "Tester", а пользовательский эксперт как поставить? На другой график? Или я чего то не понимаю?

Нужно создать "живой" символ, как в примере или на основе Tester. Далее запустить с Tester-строками советник для отладки.

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

 
Реter Konow:

Стоп! Это получается что весь тестер подключается к советнику в качестве библиотеки?!

ЗЫ. Советник сам себя тестирует???

Все верно. Посмотрите на этого советника

Ручная торговля

// Полноценная ручная торговля на исторических данных + реал-тайм

#define REPORT_BROWSER      // Создание отчета с запуском браузера - требует разрешения DLL.
#define TESTER_CUSTOM // Запуск советника в пользовательском Тестере
#include <fxsaber\Tester\Tester.mqh> // https://www.mql5.com/ru/code/24848

#include <IgorM\TradePanel_C#\TradePanel_C#.mqh> // https://www.mql5.com/ru/code/24829

void OnChartEvent( const int id, const long &lparam, const double &dparam, const string &sparam ) {}
void OnTick() {}
void OnTimer() {}
int OnInit() { return(INIT_SUCCEEDED); }
void OnDeinit( const int ) {}

Результат запуска этого советника показан на картинке к данному описанию.

Красным выделен весь его код - пустышка. Все благодаря тому, что и сама панелька подключается к любому советнику одной строкой.
 
fxsaber:

Все верно.

Дошло до меня))