Автоматическая смена ТФ

 

Доброго дня.

Подскажите пожалуйста, есть ли в природе индикатор, который может по заданному времени менять тф к примеру с М5 на H1 и сразу же обратно?

 

вот делал переключение ТФ с помощью 2-х кнопок клавиатуры

https://www.mql5.com/ru/forum/369808

переделайте под свои задачи

 
Igor Makanu:

вот делал переключение ТФ с помощью 2-х кнопок клавиатуры

https://www.mql5.com/ru/forum/369808

переделайте под свои задачи

благодарю, но требуется автоматическое переключение и в программирование не силен, по этому ищу готовое решение.

 

наверное такой код будет работать:

//+------------------------------------------------------------------+
//|                                                    change_tf.mq5 |
//|                                            Copyright 2021, IgorM |
//|                              https://www.mql5.com/ru/users/igorm |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property indicator_chart_window
#property indicator_plots 0
input uint Timer_sec = 3;
input ENUM_TIMEFRAMES TimeFrame_1 = PERIOD_M5;
input ENUM_TIMEFRAMES TimeFrame_2 = PERIOD_H1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
{
   EventSetTimer(Timer_sec);
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
//---

//--- return value of prev_calculated for next call
   return(rates_total);
}
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
{
   ChartSetSymbolPeriod(0, NULL, Period() == TimeFrame_1 ? TimeFrame_2 : TimeFrame_1);
   ChartRedraw();
}
//+------------------------------------------------------------------+
Причина обращения: