Parabolic SAR

 
Здравствуйте. Сколько буферов у индикатора Parabolic SAR? Дело в том, что я в советнике использую данный индикатор(iSAR) и мне хотелось бы знать, у нижних точек и верхних буферы разные или он один? 
 
Igor Knyazkov:
Здравствуйте. Сколько буферов у индикатора Parabolic SAR? Дело в том, что я в советнике использую данный индикатор(iSAR) и мне хотелось бы знать, у нижних точек и верхних буферы разные или он один? 
У него один буфер. Те точки что ниже цены означают что тренд вверх, те что выше цены означают что тренд вниз.
 
Igor Knyazkov:
Здравствуйте. Сколько буферов у индикатора Parabolic SAR? Дело в том, что я в советнике использую данный индикатор(iSAR) и мне хотелось бы знать, у нижних точек и верхних буферы разные или он один? 

Справка:

iSAR

Возвращает хэндл индикатора Parabolic Stop and Reverse system. Всего один буфер.

 Пример работы с iSAR:

//+------------------------------------------------------------------+
//|                                                    Test_iSAR.mq5 |
//|                              Copyright © 2016, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//---
int    handle_iSAR;                          // variable for storing the handle of the iSAR indicator
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create handle of the indicator iSAR
   handle_iSAR=iSAR(Symbol(),Period(),0.02,0.2);
//--- if the handle is not created
   if(handle_iSAR==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code
      PrintFormat("Failed to create handle of the iSAR indicator for the symbol %s/%s, error code %d",
                  Symbol(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early
      return(INIT_FAILED);
     }
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   double sar_0=iSARGet(0);
   double sar_3=iSARGet(3);
//---
   Comment("SAR 0 ",DoubleToString(sar_0,Digits()),"\n",
           "SAR 3 ",DoubleToString(sar_3,Digits()),"\n");
  }
//+------------------------------------------------------------------+
//| Get value of buffers for the iSAR                                |
//+------------------------------------------------------------------+
double iSARGet(const int index)
  {
   double SAR[1];
//--- reset error code
   ResetLastError();
//--- fill a part of the iSARBuffer array with values from the indicator buffer that has 0 index
   if(CopyBuffer(handle_iSAR,0,index,1,SAR)<0)
     {
      //--- if the copying fails, tell the error code
      PrintFormat("Failed to copy data from the iSAR indicator, error code %d",GetLastError());
      //--- quit with zero result - it means that the indicator is considered as not calculated
      return(0.0);
     }
   return(SAR[0]);
  }
//+------------------------------------------------------------------+

 

 
 

Файлы:
Test_iSAR.mq5  6 kb
 
Спасибо за помощь.
 

Буфер один.
Я использую цену выше-ниже как сигнал. 

extern int TF = 15;
extern double SARstep = 0.01;
extern double SARstepMax = 0.03;
//
int Signal = -1;
//
void start() {
//
   double sar = iSAR(Symbol(),TF,SARstep,SARstepMax,1);
     if(Bid > sar) Signal = 0;
       if(Ask < sar) Signal = 1;

А зачем знать сколько буферов?
Индикатор стандартный и в коде записывается как стандартный.

И на будущее, буферы считаются с нуля и их можно вычислить во вкладке индикатора "цвета" 

 

 
Natashe4ka:

Буфер один.
Я использую цену выше-ниже как сигнал. 

extern int TF = 15;
extern double SARstep = 0.01;
extern double SARstepMax = 0.03;
//
int Signal = -1;
//
void start() {
//
   double sar = iSAR(Symbol(),TF,SARstep,SARstepMax,1);
     if(Bid > sar) Signal = 0;
       if(Ask < sar) Signal = 1;

А зачем знать сколько буферов?
Индикатор стандартный и в коде записывается как стандартный.

И на будущее, буферы считаются с нуля и их можно вычислить во вкладке индикатора "цвета" 

 

Я думал, что у верхних точек и нижних свои буфера. За совет спасибо.