Скачать MetaTrader 5

помогите разобраться с кодом - страница 2

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

Может из за этого 

 iIchimoku(0,0,9,26,52,MODE_KIJUNSEN,i)>iIchimoku(0,0,9,26,52,MODE_,i+27


i это первый бар а в ишимоку  SENKOUSPANA и SENKOUSPANB  сдвинуты на 26 вперед. Мне нужна проекция облака на  первом баре
Константин
66
Константин  
Ну тогда хз, я с ишимоку так близко дел не имел)) https://www.mql5.com/ru/forum/114030
Victor Nikolaev
Модератор
14655
Victor Nikolaev  
Graffmix:
убрал не помогает.


Попробуйте этот вариант. Проще будет разобраться

#property indicator_chart_window

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
  
  ObjectCreate("парад",OBJ_LABEL,0,0,0,0,0);
  ObjectSet("парад",OBJPROP_XDISTANCE,20);
  ObjectSet("парад",OBJPROP_YDISTANCE,20);
  ObjectSet("парад",OBJPROP_CORNER,2);
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
  ObjectDelete("парад");
//----

    
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()// функция старт
{
     
   ObjectSetText("парад","ПАРАД",20,"Arial",Yellow);

   double KIJUNSEN    = iIchimoku(0,0,9,26,52,MODE_KIJUNSEN,0);
   double TENKANSEN   = iIchimoku(0,0,9,26,52,MODE_TENKANSEN,0);
   double SENKOUSPANA = iIchimoku(0,0,9,26,52,MODE_SENKOUSPANA,0);
   double SENKOUSPANB = iIchimoku(0,0,9,26,52,MODE_SENKOUSPANB,0);

   if (Close[0]>TENKANSEN)
      if(TENKANSEN>KIJUNSEN)
         if (KIJUNSEN>SENKOUSPANA)
            if (SENKOUSPANA>SENKOUSPANB)
               ObjectSetText("парад","ПАРАД",20,"Arial",Green);
      

   if (Close[0]<TENKANSEN)
      if(TENKANSEN<KIJUNSEN)
         if (KIJUNSEN<SENKOUSPANA)  
            if (SENKOUSPANA<SENKOUSPANB)
               ObjectSetText("парад","ПАРАД",20,"Arial",Red);          
      //-----

   return(0);
}//выход из функции старт
Victor Nikolaev
Модератор
14655
Victor Nikolaev  

Индикатор до кучи

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_width1 4
#property indicator_width2 4
#property indicator_maximum 1
#property indicator_minimum 0
#property indicator_level1 0

extern int Tenkan=9;
extern int Kijun=26;
extern int Senkou=52;

double UP[], DN[];
int begin;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init() {
   SetIndexBuffer(0,UP);
   SetIndexBuffer(1,DN);
   
   SetIndexStyle (0,DRAW_HISTOGRAM);
   SetIndexStyle (1,DRAW_HISTOGRAM);
   begin=MathMax(Tenkan,Kijun);
   return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit() {
   return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
     
   int counted_bars = IndicatorCounted(); 
   int limit=Bars - counted_bars-1;
   
   
//   if (limit>1) 

   for (int i=limit;i>=0;i--) {
      UP[i]=0;
      DN[i]=0;
      double TENKANSEN   =  iIchimoku(NULL, 0, Tenkan, Kijun, Senkou, MODE_TENKANSEN,  i);
      double KIJUNSEN    =  iIchimoku(NULL, 0, Tenkan, Kijun, Senkou, MODE_KIJUNSEN,   i);
      double SENKOUSPANA =  iIchimoku(NULL, 0, Tenkan, Kijun, Senkou, MODE_SENKOUSPANA, i);
      double SENKOUSPANB =  iIchimoku(NULL, 0, Tenkan, Kijun, Senkou, MODE_SENKOUSPANB, i);

      if (Close[i]>TENKANSEN) {
         if(TENKANSEN>KIJUNSEN)
            if (KIJUNSEN>SENKOUSPANA)
               if (SENKOUSPANA>SENKOUSPANB)
                  UP[i]=1;
      } else 

      if (Close[i]<TENKANSEN) {
         if(TENKANSEN<KIJUNSEN) 
            if (KIJUNSEN<SENKOUSPANA)  
               if (SENKOUSPANA<SENKOUSPANB)
                  DN[i]=1;
      }
   }
      //-----

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