Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 42

 
Forexman77 :
Спасибо огромное!
посмотрите второй вариант.. думаю он надежее первого
 
Необходимо обозначить на графике стрелкой пятницу. Попробовал сделать индикатор по шаблону. Ошибок нет, но и стрелка не появляется. В чем может быть причина?
//+------------------------------------------------------------------+
//|                                                   пятый день.mq4 |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Aqua
//--- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,217);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexEmptyValue(0,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),  
    pyatnica,                    
    limit;
 
   if(counted_bars>0)
      counted_bars--;
   
   limit=Bars-counted_bars;
   
   
   for(int i=0;i<limit;i++)
   {
      pyatnica = (DayOfWeek() == 5); 
      
      {
      ExtMapBuffer1[i]=pyatnica;
      }
   }
   return(0);
  }
//+------------------------------------------------------------------+
 
pyatnica = (TimeDayOfWeek (Time[i]) == 5);
if (pyatnica) ExtMapBuffer1[i] = Bid;
и стрелочки будут всю пятницу.
 
TarasBY :
и стрелочки будут всю пятницу.

Только будут за пределами экрана
 

Написал код.

int start()
  {
    int counted_bars=IndicatorCounted(),  
    pyatnica,                    
    limit;
 
   if(counted_bars>0)
      counted_bars--;
   
   limit=Bars-counted_bars;
   
   
   for(int i=0;i<limit;i++)
   {
      pyatnica = (TimeDayOfWeek (Time[i]) == 5);
      if (pyatnica) ExtMapBuffer1[i] = Bid;
      
      {
      ExtMapBuffer1[i]=pyatnica;
      }
   }
   return(0);
  }
ошибку выдает: 'pyatnica' - comparison expression expected.
 
Forexman77 :

Написал код.

ошибку выдает: 'pyatnica' - comparison expression expected.

т.к. у Вас переменная типа int, надо писать так:

if (pyatnica!=0) ExtMapBuffer1[i] = Bid;
а еще, у Вас else пропущено.
 
PapaYozh :

т.к. у Вас переменная типа int, надо писать так:

а еще, у Вас else пропущено.
Спасибо, получилось. Только зачем "pyatnica" в double записывать, это вроде цело число? Попробовал в int тоже работает.
 
Vinin :

Только будут за пределами экрана

Есть такое дело. Время от времени стрелки вверх или вниз улетают. Можно их привязать к оси графика?
 
Forexman77 :

Есть такое дело. Время от времени стрелки вверх или вниз улетают. Можно их привязать к оси графика?

bool pyatnica; // убрать её объявление из int
for(int i=0;i<limit;i++)
   {
      pyatnica = (TimeDayOfWeek (Time[i]) == 5);
      if (pyatnica) ExtMapBuffer1[i] = Bid;
   }
 
Vinin : Только будут за пределами экрана

А как ты догадался, что он опять "ерунду" напишет?! :)))

P.S. Кстати, я сразу не обратил внимания "какого типа pyatnica".