Скачать MetaTrader 5

Тестер стратегий выдает только часть данных.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Пиши программы на заказ. Зарабатывай с помощью сервиса Фриланс!
Александр Пивушков
69

Написал программу на MQL4

запустил тестер стратегий. в нем указал период - 2 дня. Периоды пробовал разные, например с 07.07 до 08.07

В программе сразу  за void OnTick() идет сначала расчет данных пофиг как, но для наглядности  например так:

       HighestPriceBars30=0.0; // Мин и мах цены баров
       LowestPriceBars30=10^3;
       PositionHighestBar30=0; // Позиции мин и мах баров
       PositionLowestBar30=0;
     // Найдем макс и мин бар и запомним их цены и объем на истории без учета текущего бара - 0
       for(int i=PositionMainBarForAccount30+1; i<=BarsForAccount; i++) // На барах от главного+1 до последнего учитываемого
         {
         if (iHigh("EURUSD",PERIOD_M30,i) > HighestPriceBars30) 
          {
           HighestPriceBars30=iHigh("EURUSD",PERIOD_M30,i);
           PositionHighestBar30=i;
          }
         if (iLow("EURUSD",PERIOD_M30,i) < LowestPriceBars30) 
          {
           LowestPriceBars30=iLow("EURUSD",PERIOD_M30,i);
           PositionLowestBar30=i;
          }
         }
     // Конец Найдем макс и мин бар и запомним их цены и положение на истории без учета текущего бара - 0


выдача данных не суть, но например так:

      Print("  HighestPriceBars30=",HighestPriceBars30,"  PositionHighestBar30=",PositionHighestBar30);


Внимание вопрос - почему в журнале тестера стратегий видна не простыня данных как ожидалось, т.е. печать при каждом тике, а пара - тройка выдачей на какое то рандомное время?

Причем что странно обязательно на какое то одно, тоже рандомное время, на последнем тесте это  например  16:59, тестер выдает, как и нужно, целую простыню данных.

Vladimir Karputov
Модератор
46082
Vladimir Karputov 2016.07.12 12:14  
Александр Пивушков:

Написал программу на MQL4

запустил тестер стратегий. в нем указал период - 2 дня. Периоды пробовал разные, например с 07.07 до 08.07

В программе сразу  за void OnTick() идет сначала расчет данных пофиг как, но для наглядности  например так:


выдача данных не суть, но например так:


Внимание вопрос - почему в журнале тестера стратегий видна не простыня данных как ожидалось, т.е. печать при каждом тике, а пара - тройка выдачей на какое то рандомное время?

Причем что странно обязательно на какое то одно, тоже рандомное время, на последнем тесте это  например  16:59, тестер выдает, как и нужно, целую простыню данных.

Пожалуйста, код на форуме вставляйте правильно: Правильно вставляем код на форуме (я исправил Ваше сообщение).

 

Пропуск принтов - это защита от дурака - чтобы ограничить забивание диска логами. 

Александр Пивушков
69
Александр Пивушков 2016.07.12 12:43  
Karputov Vladimir:

Пожалуйста, код на форуме вставляйте правильно: Правильно вставляем код на форуме (я исправил Ваше сообщение).

 

Пропуск принтов - это защита от дурака - чтобы ограничить забивание диска логами. 

Владимир, спасибо.

Что то такое я допускал. Но какие то фокусы с данными истории все же мне кажется  есть т.к. почему то вот такой код

      TimeLowestBar30 = iTime("EURUSD",PERIOD_M30,PositionLowestBar30); // время мин бара на 30-ти минутах
      PositionLowestBar05=iBarShift("EURUSD",PERIOD_M5,TimeLowestBar30); // определим какой бар на 5-ти минутах соответствует мин на 30 минутах
      TimeLowestBar05 = iTime("EURUSD",PERIOD_M30,PositionLowestBar05); // время мин бара на 30-ти минутах

      TimeMainBarForAccount30 = iTime("EURUSD",PERIOD_M30,PositionMainBarForAccount30); // время учитываемого бара на 30
      PositionMainBarForAccount05=iBarShift("EURUSD",PERIOD_M5,TimeMainBarForAccount30); // позиция учитываемого бара на 5-ти минутке
      TimeMainBarForAccount05 = iTime("EURUSD",PERIOD_M30,PositionMainBarForAccount05); // время учитываемого бара на 5


дает вот такие результаты

2016.07.12 12:04:10.835    2016.07.07 05:29  Indicator15 EURUSD,M30:  PositionLowestBar30=3 PositionLowestBar05=23  TimeLowestBar30=2016.07.07 03:30:00  TimeLowestBar05=2016.07.06 17:30:00
2016.07.12 12:04:10.835	   2016.07.07 05:29  Indicator15 EURUSD,M30:  PositionMainBarForAccount30=1 PositionMainBarForAccount05=11  TimeMainBarForAccount30=2016.07.07 04:30:00  TimeMainBarForAccount05=2016.07.06 23:30:00


т.е. я ищу позицию бара на пяти минутке преобразуя его из позиции на 30-ти минутке по времени. Время должно примерно совпадать, а оно сильно отличается  например

TimeLowestBar30=2016.07.07 03:30:00 
TimeLowestBar05=2016.07.06 17:30:00

TimeMainBarForAccount30=2016.07.07 04:30:00
TimeMainBarForAccount05=2016.07.06 23:30:00
Vladimir Karputov
Модератор
46082
Vladimir Karputov 2016.07.12 13:17  
Александр Пивушков:

Владимир, спасибо.

Что то такое я допускал. Но какие то фокусы с данными истории все же мне кажется  есть т.к. почему то вот такой код


дает вот такие результаты


т.е. я ищу позицию бара на пяти минутке преобразуя его из позиции на 30-ти минутке по времени. Время должно примерно совпадать, а оно сильно отличается  например

Извините, давно уже на "4" не работаю :).
Slawa
Модератор
6841
Slawa 2016.07.12 13:41  
Александр Пивушков:

Внимание вопрос - почему в журнале тестера стратегий видна не простыня данных как ожидалось, т.е. печать при каждом тике, а пара - тройка выдачей на какое то рандомное время?

Причем что странно обязательно на какое то одно, тоже рандомное время, на последнем тесте это  например  16:59, тестер выдает, как и нужно, целую простыню данных.

Что такое "в журнале тестера стратегий"? Во вкладке журнала в клиентском терминале, в просмотрщике журнала или в log-файле, открытом при помощи блокнота?
Александр Пивушков
69
Александр Пивушков 2016.07.12 13:52  
Slawa:
Что такое "в журнале тестера стратегий"? Во вкладке журнала в клиентском терминале, в просмотрщике журнала или в log-файле, открытом при помощи блокнота?
вкладке журнала в клиентском терминале
Александр Пивушков
69
Александр Пивушков 2016.07.12 13:55  
Karputov Vladimir:
Извините, давно уже на "4" не работаю :).

а на 5-ке такое будет работать?

На сколько сложно переделать прогу на 4-ке под 5-ку?

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

можете протестировать приведенный код на 5-ке? на предмет работоспособности.

Slawa
Модератор
6841
Slawa 2016.07.12 13:55  
Александр Пивушков:
вкладке журнала в клиентском терминале

Всё не успевает помещаться во вкладку журнале. Тем более, что количество записей во вкладке ограничено.

В log-файле - всё, ничего не теряется. Открывайте просмотрщик логов прямо из контекстного меню журнала

Slawa
Модератор
6841
Slawa 2016.07.12 13:57  
Александр Пивушков:

а на 5-ке такое будет работать?

На сколько сложно переделать прогу на 4-ке под 5-ку?

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

можете протестировать приведенный код на 5-ке? на предмет работоспособности.

https://www.mql5.com/ru/job
Фриланс-сервис на MQL5.com
Фриланс-сервис на MQL5.com
  • www.mql5.com
Заказы на разработку программ для трейдинга
Александр Пивушков
69
Александр Пивушков 2016.07.12 14:06  
Slawa:

Всё не успевает помещаться во вкладку журнале. Тем более, что количество записей во вкладке ограничено.

В log-файле - всё, ничего не теряется. Открывайте просмотрщик логов прямо из контекстного меню журнала

правой щелкнул - Просмотр, показывается больше раза в 3 чем в окне журнала в клиенте, но далеко не все.

Может действительно нельзя каждый тик выводить данные?

Александр Пивушков
69
Александр Пивушков 2016.07.12 14:12  

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

походу все таки дело в исторических данных.

странно, ибо на графике, в терминале, эти данные цены на искомые дни есть..

Я в онлайн чате форекс брокера пообщался, посоветовали переставить терминал. Я его скачал с mql4.com и поставил. глобально ничего не поменялось.

тогда посоветовали обратиться сюда :)

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий