Navigation:Home > Content >

i-$_MTF_MA_3MA.mq4

Time: 2013-02-11 | Download file:i-$_MTF_MA_3MA.mq4

//+----------------------------------------------------------------------------+
//|                                                         i-$_MTF MA_3MA.mq4 |
//|                                                                            |
//| Индикатор: Рисует 3 МovingАverage с других таймфреймов.                    |
//|                                                            LUKA.  19.02.13 |
//+----------------------------------------------------------------------------+
/* method MA
MODE_SMA  0 Простое скользящее среднее 
MODE_EMA  1 Экспоненциальное скользящее среднее 
MODE_SMMA 2 Сглаженное скользящее среднее 
MODE_LWMA 3 Линейно-взвешенное скользящее среднее 

applied price
PRICE_CLOSE    0 Цена закрытия 
PRICE_OPEN     1 Цена открытия 
PRICE_HIGH     2 Максимальная цена 
PRICE_LOW      3 Минимальная цена 
PRICE_MEDIAN   4 Средняя цена, (high+low)/2 
PRICE_TYPICAL  5 Типичная цена, (high+low+close)/3 
PRICE_WEIGHTED 6 Взвешенная цена закрытия, (high+low+close+close)/4 
*/
//+----------------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 White
#property indicator_color2 White
#property indicator_color3 White
#property indicator_style1 2
#property indicator_style2 0
#property indicator_style3 2
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 1
//+----------------------------------------------------------------------------+

extern int  TimeFrame  = 60;
extern bool MA_1       = True;
extern int  Period_Ma1 = 34;
extern bool MA_2       = True;
extern int  Period_Ma2 = 34;
extern bool MA_3       = True;
extern int  Period_Ma3 = 34;
       int  ma_method1 = MODE_SMMA;
       int  ma_method2 = MODE_SMMA;
       int  ma_method3 = MODE_SMMA;
       int  price1     = PRICE_HIGH;
       int  price2     = PRICE_MEDIAN;
       int  price3     = PRICE_LOW;
//+----------------------------------------------------------------------------+
double BufferMA1[];
double BufferMA2[];
double BufferMA3[];
//+----------------------------------------------------------------------------+
//|                                                                            |>
//+----------------------------------------------------------------------------+
int init() {
//----
   IndicatorShortName("i-$_MTF MA_3MA");
   //---- indicator line
   SetIndexBuffer(0, BufferMA1);
   SetIndexStyle (0, DRAW_LINE);
   SetIndexLabel (0, "MA1");
   SetIndexBuffer(1, BufferMA2);
   SetIndexStyle (1, DRAW_LINE);
   SetIndexLabel (1, "MA2");
   SetIndexBuffer(2, BufferMA3);
   SetIndexStyle (2, DRAW_LINE);
   SetIndexLabel (2, "MA3");
//----
   return (0);
}

//+----------------------------------------------------------------------------+
//|                                                                            |>
//+----------------------------------------------------------------------------+ 

int start() {
//----
   double val1, val2, val3;
   int i,shift, y, counted_bars=IndicatorCounted();

   if (counted_bars<0) 
   return (-1);

   int limit=Bars-counted_bars;
   //limit=Bars-counted_bars+TimeFrame/Period();
   
   for (i=limit, y=limit; i >=0; i--) {
      y=iBarShift(NULL, TimeFrame, Time[i]); {
         if (MA_1) {
            val1=iMA(NULL, TimeFrame, Period_Ma1, 0, ma_method1, price1, y);
            BufferMA1[i]=val1;
         }  
         else {
            BufferMA1[i]=0.0;
         }   
         if (MA_2) {
            val2=iMA(NULL, TimeFrame, Period_Ma2, 0, ma_method2, price2, y);
            BufferMA2[i]=val2;
         } 
         else {
            BufferMA2[i]=0.0;
         }    
         if (MA_3) {
            val3=iMA(NULL, TimeFrame, Period_Ma3, 0, ma_method3, price3, y);
            BufferMA3[i]=val3; 
         } 
         else {
            BufferMA3[i]=0.0;
         }   
         //---- теперь все перерисуем
         WindowRedraw();  
      } 
   }
//----   
  return (0);
}

//+----------------------------------------------------------------------------+
//|                                                                            |>
//+----------------------------------------------------------------------------+

Recommend