Помогите новичку

 

Здравствуйте уважаемые программисты! Помогите новичку в  реализации индикатора, который бы по аллигатору рисовал зоны тренда как указано на рисунке. Привожу код индикатора который не могу доработать. Если зеленая линия пересекает синюю снизу вверх то рисуется зеленый квадрат, если наоборот то красный. В данном коде я это все описал, но индикатор не работает В чем ошибка? спасибо!




#property indicator_chart_window

int k;

void init() {
  
}

void deinit() {
  DeleteObjects();
  Comment("");
}

void DeleteObjects() {
  for (int i=0; i<=k; i++) {
    ObjectDelete("n"+i);
    ObjectDelete("n1"+i);
  }
}


void start() {
  int limit, i, counter;
  double Range, AvgRange;
    
   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;

   limit=Bars-counted_bars;
  
    for(i = 0; i <= limit; i++) {
    
      counter=i;
      Range=0;
      AvgRange=0;
      for (counter=i ;counter<=i+9;counter++)
      {
         AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
      }
      Range=AvgRange/10;
    
     double jaw_blue_now=iAlligator(NULL,0,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,MODE_GATORJAW,i);
     double jaw_blue_pr=iAlligator(NULL,0,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,MODE_GATORJAW,i+1);
     double jaw_blue_af=iAlligator(NULL,0,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,MODE_GATORJAW,i-1);
    
     double jaw_green_now=iAlligator(NULL,0,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,MODE_GATORLIPS,i);
     double jaw_green_pr=iAlligator(NULL,0,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,MODE_GATORLIPS,i+1);
     double jaw_green_af=iAlligator(NULL,0,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,MODE_GATORLIPS,i-1);
  
    if ((jaw_green_now > jaw_blue_now) && (jaw_green_pr < jaw_blue_pr) && (jaw_green_af > jaw_blue_af)) //тренд вверх
     {
       k++;
       ObjectCreate("n"+k, OBJ_RECTANGLE, 0, Time[i],0, Time[i-5],High[i]*2);
       ObjectSet("n"+k, OBJPROP_STYLE, STYLE_SOLID);
       ObjectSet("n"+k, OBJPROP_COLOR, Honeydew);
       ObjectSet("n"+k, OBJPROP_BACK, True);
     }
      
     if (jaw_green_now > jaw_blue_now) //тренд вверх по ХМА
     {
      
       //ObjectSet("n"+k, OBJPROP_TIME1 , Time[i]);
       //ObjectSet("n"+k, OBJPROP_PRICE1, 0);
  
       ObjectSet("n"+k, OBJPROP_TIME2 , Time[i]);
       ObjectSet("n"+k, OBJPROP_PRICE2, High[i]*2);
    
       }
    
}
    
    return(0);
  
}
  
  
 

Попробуйте вникнуть в это, там и пример есть:

https://www.mql5.com/ru/docs/constants/objectconstants/enum_object/obj_rectangle

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_RECTANGLE
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_RECTANGLE
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_RECTANGLE - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Renat Akhtyamov:

Попробуйте вникнуть в это, там и пример есть:

https://www.mql5.com/ru/docs/constants/objectconstants/enum_object/obj_rectangle

Спасибо! попробую разобраться, но будет не легко))
 
Все равно не получается!! не пойму в чем дело .... Ребята, есть кто опытный решить эту задачу?
 
Tango_X:
Все равно не получается!! не пойму в чем дело .... Ребята, есть кто опытный решить эту задачу?

ну если нет терпения и упорства, тогда здесь будет выгоднее:

https://www.mql5.com/ru/job

Фриланс-сервис на MQL5.com
Фриланс-сервис на MQL5.com
  • www.mql5.com
Заказы на разработку программ для трейдинга