Как сделать индикатор в котором можно отобразить информацию по всем тайм фреймам?

 

Как сделать индикатор в котором можно отобразить информацию по всем тайм фреймам?

 Идея такая... есть простое условие, которое нужно отслеживать на всех таймфреймах... начиная с Месяцев... до минут

и отобразить на одном экране с ценами или в отдельном окне...

можно в текстовом режиме, можно в виде симафора... допустим красный шар цена низ зеленый шар цена вверх

в итоге 9 шаров по количеству основных таймфреймов...

помогите кто чем может... или ссылку плиз на чтолибо подобное, для переделки под свои цели 

 
S4kam   :

Как сделать индикатор в котором можно отобразить информацию по всем тайм фреймам?

 Идея такая... есть простое условие, которое нужно отслеживать на всех таймфреймах... начиная с Месяцев... до минут

и отобразить на одном экране с ценами или в отдельном окне...

можно в текстовом режиме, можно в виде симафора... допустим красный шар цена низ зеленый шар цена вверх

в итоге 9 шаров по количеству основных таймфреймов...

помогите кто чем может... или ссылку плиз на чтолибо подобное, для переделки под свои цели 


Вот нечто похожее, прикрепил. Это для MT4, нужно убрать расширение txt.
Файлы:
 

понятно, что ничего не понятно... в мт5 всё по другому... дольше переделывать придётся... запутаюсь... мт4 писать уже не хочу... устарело...

ладно попытаюсь просто текстовой строкой...

если есть у кого, что на мт5 прошу ))) 

 
S4kam:

 

если есть у кого, что на мт5 прошу ))) 

Какой жанр?

Работа с объектами?

С буферами индикаторов?

В Code Base смотрел? Там примеры есть! 

 
S4kam писал(а)  :

Как сделать индикатор в котором можно отобразить информацию по всем тайм фреймам?


https://www.mql5.com/ru/docs/series/copyrates

а работа с объектами в 5 никак не отличается от 4. 

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyRates - Документация по MQL5
 

всё это лирика

 

   MqlRates low_array[];

   int copy=CopyLow("EURUSD",PERIOD_MN1,0,100,low_array);

   if(copy<=0)

      Print("Ошибка копирования ценовых данных",GetLastError());

   else Print("Скопировано",ArraySize(low_array),"баров");

 

почему же не работает?

ругается на CopyLow 

 
vdv2001:

Какой жанр?

Работа с объектами?

С буферами индикаторов?

В Code Base смотрел? Там примеры есть! 

нужны High и Low более меня ничего не интересует... в базе нет ничего такого
 
S4kam писал(а)  :

всё это лирика

 

   MqlRates low_array[];

   int copy=CopyLow("EURUSD",PERIOD_MN1,0,100,low_array);

   if(copy<=0)

      Print("Ошибка копирования ценовых данных",GetLastError());

   else Print("Скопировано",ArraySize(low_array),"баров");

 

почему же не работает?

ругается на CopyLow 

А почему же ему не ругатся, если вы вместо double даёте структуру??

 

 

Параметры

symbol_name

[in] Символ.

timeframe

[in] Период.

start_pos

[in] Номер первого копируемого элемента.

count

[in] Количество копируемых элементов.

start_time

[in] Время бара, соответствующее первому элементу.

stop_time

[in] Время бара, соответствующее последнему элементу.

low_array[]

[out] Массив типа double.

Возвращаемое значение

Количество скопированных элементов массива либо -1 в случае ошибки.
 

 
S4kam:
нужны High и Low более меня ничего не интересует... в базе нет ничего такого

  

int rates_total,rates_high,rates_time,index;
   double iHigh[],iLow[];
   datetime iTime[];
// Получаем данные за период времени с time_start до time_end / We obtain the data from time_start to time_end
   int err=0;
   do
     {
      rates_time=CopyTime(NULL,PERIOD_M1,time_start,time_end,iTime);
      rates_high=CopyHigh(NULL,PERIOD_M1,time_start,time_end,iHigh);
      rates_total=CopyLow(NULL,PERIOD_M1,time_start,time_end,iLow);
      err++;
     }
   while((rates_time<=0 || (rates_total!=rates_high && rates_total!=rates_time)) && err<AMOUNT_OF_ATTEMPTS);
   if(err>=AMOUNT_OF_ATTEMPTS)
     {
      return(false);
     }

 AMOUNT_OF_ATTEMPTS - количество попыток чтения данных

 
vdv2001:

  

 AMOUNT_OF_ATTEMPTS - количество попыток чтения данных

спасибо vdv2001 за конкретный ответ )))) респект
 
vdv2001:

  

 AMOUNT_OF_ATTEMPTS - количество попыток чтения данных 

 

   double SetBuyLine,SetSellLine;

   int rates_low,rates_high,begin=0,end=100;

   int indexbuy=0,indexsell=0;

   double iHigh[],iLow[];


// Получаем данные за период

   int err=0;

   do

     {

      rates_high=CopyHigh("EURUSD",PERIOD_MN1,begin,end,iHigh);

      rates_low=CopyLow("EURUSD",PERIOD_MN1,begin,end,iLow);

      err++;

     }

   while((rates_low<=0 || (rates_low!=rates_high)) && err<10);

   if(err>=10)

     {

      return(false);

     }

   for(int i=90;i>0;i--)

   {

      if(iHigh[i]<iHigh[i+1] && iLow[i]<iLow[i+1]) {SetBuyLine=iHigh[i+1];indexbuy=i+1;}

      if(iHigh[i]>iHigh[i+1] && iLow[i]>iLow[i+1]) {SetSellLine=iLow[i+1];indexsell=i+1;}

   }


   Comment(StringFormat("Выводим \nЛиния покупки = %G\nЛиния продажи = %G\nТекущий максимум = %G\nТекущий минимум = %G",SetBuyLine,SetSellLine,iHigh[0],iLow[0]));

 

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

получаю такие числа 0,887

0,857

0,9246

0,8867

что опять я сделал не так...таких цен по евробаку отродясь не было... где ошибка????? помогите люди добрые... в первую очередь прошу автора кода... vdv2001