Тема закрыта

 

 

если разговор идет о пересечении баром заданного уровня, т.е. High бара выше уровня и Low бара ниже уровня, без " рисую горизонтальную линию на любом таймфрейме" , а с помощью выставления настройки в скрипте, вот держите бесплатно:

extern double  price = 1.31900;
extern int     day   = 100;

int start(){
   int i,limit,count;
   limit = MathMin(Bars,iBarShift(NULL,0,TimeCurrent()-day*1440*60));
   count = 0;
   for(i=0;i<=limit;i++)
      if(High[i]>price && Low[i]<price) count++;
   Print("Пересечений баров = ",count,", последний расчетный бар = ",limit);
return(0);
}
ну или обратитесь в сервис работа, там сделают профессионально https://www.mql5.com/ru/job
 
#property copyright "Copyright © DmitriyN-2012"
#property link      "https://www.mql5.com/ru/users/dmitriyn"
#property indicator_chart_window      

extern double Uroven=1.32528;  // Заданный уровень
extern int KolichestvoBar=100; // Бар тому назад  
int KolPeres;
         
int start()
{ 
   KolPeres=0;
   for(int j = 0; j < (KolichestvoBar-1); j++)           
   { 
   if ((High[j] >= Uroven) && (Low[j] <= Uroven)) KolPeres=KolPeres+1;
   }                
   string S0 = "\n" + "Уровень цены = "+ DoubleToStr(Uroven,5)+ "\n";
   string S1 = "Длина линии (количество бар) = "+ KolichestvoBar+ "\n";    
   string S2 = "Количество пересечений = "+ KolPeres;    
   Comment(S0,S1,S2);          
}

Индикатор:

 

Причина обращения: