Тестер стратегий МТ4

 

Есть стандартный шаблон с таймером, как его закрутить, чтобы он отрабатывал в тестере стратегий? Как написано сейчас - тестер ничего  не рисует.

//+------------------------------------------------------------------+
//|                                                          ***.mq4 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                            https://www.******.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      ""
#property version   "1.01"
#property strict


ТУТ ВСЯКИЕ СВОЙСТВА


//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
ТУТ ПАРА ТИПОВ С КОНСТАНТАМИ


//--- create timer
   EventSetTimer(60);



   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
ТУТ ОСНОВНОЙ КОД
   
  }
//+------------------------------------------------------------------+


и вообще правильно ли все записывать в таймер? или код смотряший за ценой нужно в тике размещать?

ЗЫ. Если весь код перекинуть в ТИК это сильно нагрузит МТ, если нет, то для чего обычно тогда используют таймер?

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии ( советники ) перед началом использования их в реальной торговле. При...
 
Tavol:

Есть стандартный шаблон с таймером, как его закрутить, чтобы он отрабатывал в тестере стратегий? Как написано сейчас - тестер ничего  не рисует.

и вообще правильно ли все записывать в таймер? или код смотряший за ценой нужно в тике размещать?

ЗЫ. Если весь код перекинуть в ТИК это сильно нагрузит МТ, если нет, то для чего обычно тогда используют таймер?

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(MQLInfoInteger(MQL_TESTER)) OnTimer();
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
ТУТ ОСНОВНОЙ КОД
   
  }
//+------------------------------------------------------------------+
 
Vitaly Muzichenko:

Спасибо, ща опробую. Скажите - это можно оставит и для работы или это подходит только для тестера стратегий? А то я не совсем понимаю смысл написанного)) 

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии ( советники ) перед началом использования их в реальной торговле. При...
 
Tavol:

Спасибо, ща опробую. Скажите - это можно оставит и для работы или это подходит только для тестера стратегий? А то я не совсем понимаю смысл написанного)) 

Можно оставить. Ведь имеется проверка на режим запуска.

 

Скажите еще одно дело. В моей структуре(из первого поста) идет поиск цены и например если я уменьшаю свойство input int Х=15, а ниже в (таймере) прописано:

for(int i=0; i<=Х; i++){

if(iHigh(Symbol(), MyPeriod,0+i)>MyHigh)   MyHigh=iHigh(Symbol(), MyPeriod, 0+i); ......//ищем максимум из Х свечей

то цену он запоминает старую, а  новая не ищется, т.к. новая меньше старой, но самая высокая в новом районе поиска

Что надо исправить? или надо в конце кода обнулить значение максимума?