Как обновлять график синтетического инструмента в реальном времени?

 

Коллеги, приветствую.

Создал пользовательский инструмент - календарный спред ask(Si-12.22)/ask(Si-03.23) и построил его график на м1.

Через 5-6 минут реального мониторинг график ушел "в планку"

Если принудительно обновить график (пункт Обновить в меню графика), то данные мгновенные достраиваются

Вопрос: как сделать чтобы график в планку не уходил, а обновлялся 

 
Vladimir Chamin:

Коллеги, приветствую.

Создал пользовательский инструмент - календарный спред ask(Si-12.22)/ask(Si-03.23) и построил его график на м1.

Через 5-6 минут реального мониторинг график ушел "в планку"

Если принудительно обновить график (пункт Обновить в меню графика), то данные мгновенные достраиваются

Вопрос: как сделать чтобы график в планку не уходил, а обновлялся 

ChartSetSymbolPeriod(0, _Symbol, PERIOD_CURRENT);

Такой вариант конечно не айс, но другой на ум не приходит.

 
Aleksandr Slavskii #:

Такой вариант конечно не айс, но другой на ум не приходит.

Благодарю, Александр.
 
Aleksandr Slavskii #:

Такой вариант конечно не айс, но другой на ум не приходит.

Александр, ваше решение подошло, благодарю!

 
Aleksandr Slavskii #:

Такой вариант конечно не айс, но другой на ум не приходит.

Здравствуйте.
Что с этим сделать нужно ? 
Прописать где то ?
 
Roman Kutemov #:
Здравствуйте.
Что с этим сделать нужно ? 
Прописать где то ?

Вот шаблон, что и куда вставлять в индикаторе.

#property indicator_chart_window
int priv = 0;
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
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[])
  {
   if(prev_calculated <= 0)
     {
      EventSetTimer(1);
      priv = 0;
     }

   priv = rates_total;

   return(rates_total);
  }
//+------------------------------------------------------------------+
void OnTimer()
  {
   if(priv <= 0)//если выходные и нет новых тиков
      ChartSetSymbolPeriod(0, _Symbol, PERIOD_CURRENT);
   else
      EventKillTimer();
  }
//+------------------------------------------------------------------+
 
Aleksandr Slavskii #:

Вот шаблон, что и куда вставлять в индикаторе.

Индикатор вешать на пользовательский инструмент ?
 
Roman Kutemov #:
Индикатор вешать на пользовательский инструмент ?

Сорри. Не посмотрел на тему. Судя по вашим вопросам в других темах, у вас ошибка в коде и вам не  нужен  ChartSetSymbolPeriod.

 
Aleksandr Slavskii #:

Сорри. Не посмотрел на тему. Судя по вашим вопросам в других темах, у вас ошибка в коде и вам не  нужен  ChartSetSymbolPeriod.

Я без кода ). 
Пользуюсь штатным инструментом мт5 для создания пользовательского инструмента.
 
Roman Kutemov #:
Я без кода ). 
Пользуюсь штатным инструментом мт5 для создания пользовательского инструмента.

Понятно. Штатный должен работать без всяких вставок кода.