Скачать MetaTrader 5

Кто знает что это за МА(черного цвета)?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
mrDoktor
86
mrDoktor  
Speculator
1453
Speculator  
mrDoktor:
Geldberg Geldstein
3237
Geldberg Geldstein  
Там не только МА, но и ATR и Close, найдете в CodeBase.
Vladimir Karputov
Модератор
59166
Vladimir Karputov  
Speculator_:

Parabolic SAR не рисуется линией

mrDoktor:

Это больше похоже на сглаженную среднюю EMA. 

Andrey F. Zelinsky
32518
Andrey F. Zelinsky  
barabashkakvn:

Parabolic SAR не рисуется линией.

на картинке -- параболик отрисованный линией:

 

-- во вложении -- сам параболик, что поставляется с терминалом 


собственно, что было изменено в коде:

//--- drawing settings
   IndicatorDigits(Digits);
   SetIndexStyle(0,DRAW_LINE);//DRAW_ARROW);
   //SetIndexArrow(0,159);
-- т.е. отрисовка стилем  DRAW_ARROW была заменена на стиль  DRAW_LINE.
Файлы:
Geldberg Geldstein
3237
Geldberg Geldstein  
  for(i=limit; i>=0; i--)
  {
    ATR[i]=iATR(NULL,0,ATRPeriod,i);
    MA[i]=iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i);
    if(Price(i) < MA[i] - ATR[i]) {Trend = +1;}
    if(Price(i) > MA[i] + ATR[i]) {Trend = -1;}
    MAATR[i] = MA[i] + Trend*ATR[i];
  }
Vladimir Karputov
Модератор
59166
Vladimir Karputov  
mrDoktor:
А какая линия у Вас чёрная?
mrDoktor
86
mrDoktor  
G001:
А как этот код использовать?
Geldberg Geldstein
3237
Geldberg Geldstein  
mrDoktor:
А как этот код использовать?
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1  Green
#property indicator_width1  2
#property indicator_color2  Red
#property indicator_width2  2

//----- Input Parameters
//+------------------------------------------------------------------+
extern int ATRPeriod = 21;
extern int MAPeriod  = 21;
extern int MAMethod  = 3; // 0=SMA,1=EMA,2=SSMA,3=LWMA
extern int MAPrice   = 5; // 0=Close,1=Open,2=High,3=Low,4=Median(HL/2),5=Typical(HLC/3),6=Weighted(HLCC/4)
extern int PriceMode = 8; // 0=Close,1=Open,2=High,3=Low,4=Median(HL/2),5=Typical(HLC/3),6=Weighted(HLCC/4),7=Simple(OC/2),8=Quarted(HLOC/4),9=Bookkeeper((C*5+O*2+H+L)/9)
//+------------------------------------------------------------------+
//----- Buffers
double MAATR[];
double ATR[];
double MA[];
//-----
int Trend;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
//----- Drawing Settings
  IndicatorDigits(Digits);
//-----
  IndicatorBuffers(3);
//-----
  SetIndexBuffer(0,MA);
  SetIndexStyle(0,DRAW_LINE);
  SetIndexLabel(0,"MA");
  SetIndexDrawBegin(0,MAPeriod);
//-----
  SetIndexBuffer(1,MAATR);
  SetIndexStyle(1,DRAW_LINE);
  SetIndexLabel(1,"MAATR");
  SetIndexDrawBegin(1,MAPeriod);
//-----
  SetIndexBuffer(2,ATR);
//-----
  return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
{
  return(0);
}
//+------------------------------------------------------------------+
//| Price                                                            |
//+------------------------------------------------------------------+
double Price(int i)
{
  switch(PriceMode)
  {
    case 0  : return(Close[i]);
    case 1  : return(Open[i]);
    case 2  : return(High[i]);
    case 3  : return(Low[i]);
    case 4  : return((High[i]+Low[i])/2.0);
    case 5  : return((Close[i]+High[i]+Low[i])/3.0);
    case 6  : return((2*Close[i]+High[i]+Low[i])/4.0);
    case 7  : return((Open[i]+Close[i])/2.0);
    case 8  : return((Open[i]+Close[i]+High[i]+Low[i])/4.0);
    case 9  : return((Close[i]*5+Open[i]*2+High[i]+Low[i])/9);
    default : return(Close[i]);
  }
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{
//-----
  int i,limit;
  int counted_bars=IndicatorCounted();
  if (counted_bars>0) counted_bars--; 
  limit=Bars-counted_bars;
//-----
  for(i=limit; i>=0; i--)
  {
    ATR[i]=iATR(NULL,0,ATRPeriod,i);
    MA[i]=iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i);
    if(Price(i) < MA[i] - ATR[i]) {Trend = +1;}
    if(Price(i) > MA[i] + ATR[i]) {Trend = -1;}
    MAATR[i] = MA[i] + Trend*ATR[i];
  }
//-----
  return(0);
}
//+------------------------------------------------------------------+
Вставить в компилятор, компилировать, и пользоваться им.
mrDoktor
86
mrDoktor  
G001:
Вставить в компилятор, компилировать, и пользоваться им.

Во от души

Speculator
1453
Speculator  
barabashkakvn:

Parabolic SAR не рисуется линией


Есть такой  Parabolic SAR на этих терминалах

 

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