Индикаторы: DnMA

 

DnMA:

динамический МА. Можнонастроить как запаздывание так и опережение от текущей цены.

Author: Dmitiry Ananiev

 
а де Малюночок??
 
Сам намалюй.
 

покрасил индюк, мож кому пригодится)


//DinMaColor
//---- indicator settings
#property indicator_chart_window
#property  indicator_buffers 3
#property  indicator_color1  Yellow
#property  indicator_color2  Blue
#property  indicator_color3  Red
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
//--- input parameters
extern int       Period_main=10;
extern int       Period_plus=20;
//---- indicator buffers
double     ExtBuffer0[];
double     ExtBuffer1[];
double     ExtBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
//DinMaColor добавил расцветку Martingeil
//Вызов с советника
//double din_up = iCustom(Symbol(),0,"DinMaColor",Period_main,Period_plus,1,1):
//if (din_up != EMPTY_VALUE){up=1;}//Тренд верх, линия синяя.
int init()
  {
   IndicatorBuffers(3); 
   //---- drawing settings
   SetIndexStyle(0,DRAW_LINE);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexStyle(2,DRAW_LINE);   
   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
//---- 3 indicator buffers mapping
   SetIndexBuffer(0,ExtBuffer0);
   SetIndexBuffer(1,ExtBuffer1);//буфер синей линии
   SetIndexBuffer(2,ExtBuffer2);//буфер красной линии   
//---- name for DataWindow and indicator subwindow label
   IndicatorShortName("DinMaColor");
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//| DinMa                                                            |
//+------------------------------------------------------------------+
int start()
  {
   int    limit;
   int    counted_bars=IndicatorCounted();
   double ma_main,ma_plus;
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
//---- ma
   for(int i=0; i<limit; i++)
   {
    ma_main= iMA(NULL,0,Period_main,0,MODE_EMA,PRICE_CLOSE,i);
    ma_plus= iMA(NULL,0,Period_plus,0,MODE_EMA,PRICE_CLOSE,i);
    ExtBuffer0[i]=ma_main*2-ma_plus;
   }
//---- dispatch values between 2 buffers
for(i = limit; i >= 0; i--){
    ExtBuffer1[i] = EMPTY_VALUE; if (ExtBuffer0[i]>ExtBuffer0[i+1]){ExtBuffer1[i+1] = ExtBuffer0[i+1]; ExtBuffer1[i] = ExtBuffer0[i];} 
    ExtBuffer2[i] = EMPTY_VALUE; if (ExtBuffer0[i]<ExtBuffer0[i+1]){ExtBuffer2[i+1] = ExtBuffer0[i+1]; ExtBuffer2[i] = ExtBuffer0[i];}    
    }
//---- done
return(0);}
//--------------------------------------------------------------------------------------------------
  
 
А где он окрашен? У меня только сплошной голд!
 
Testrader:
А где он окрашен? У меня только сплошной голд!
Скопируйте код в моем предыдущем посте.
 
если бы ты покрсил разные участки в цвета и они бы не накладывались друг на друг как показано на картинке, то между цветными линиями не было бы соединения. вывод здесь три линии которые накладываются на друг друга.
 
todem:
если бы ты покрсил разные участки в цвета и они бы не накладывались друг на друг как показано на картинке, то между цветными линиями не было бы соединения. вывод здесь три линии которые накладываются на друг друга.
Мне понравилось. Не нравиться - покрась сам.
 
Martingeil:
Testrader:
А где он окрашен? У меня только сплошной голд!
Скопируйте код в моем предыдущем посте.


Может, что-то устарело?!

2012.08.15 11:30:30 2012.08.08 10:10 BorEx12VI EURUSD,M5: din = 0; di1 = 0
2012.08.15 11:30:30 2012.08.08 10:10 Cannot open file 'C:\Program Files\Alpari NZ MT4\experts\indicators\DinMaColor.ex4' on the EURUSD,M5

Благодарю за отклик!