Скачать MetaTrader 5

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

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

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

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

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

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

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

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

Vitaly
203
Vitaly  
S4kam   :

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

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

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

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

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

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


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

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

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

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

Dmitry Voronkov
5812
Dmitry Voronkov  
S4kam:

 

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

Какой жанр?

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

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

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

o_o
Модератор
23863
o_o  
S4kam писал(а)  :

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


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

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

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

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

 

   MqlRates low_array[];

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

   if(copy<=0)

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

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

 

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

ругается на CopyLow 

Сергей
770
Сергей  
vdv2001:

Какой жанр?

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

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

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

нужны High и Low более меня ничего не интересует... в базе нет ничего такого
o_o
Модератор
23863
o_o  
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 в случае ошибки.
 

Dmitry Voronkov
5812
Dmitry Voronkov  
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 - количество попыток чтения данных

Сергей
770
Сергей  
vdv2001:

  

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

спасибо vdv2001 за конкретный ответ )))) респект
Сергей
770
Сергей  
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 


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