Перейти к содержанию
Авторизация  

Рекомендуемые сообщения

39743764315_745c80837b_c.jpg

2ТЭ10М-0936 by Pavel888, on Flickr

 

 

 

НАБОР посвящается индикатору Parabolic SAR - который является стандартным в MetaTrader 4. Большинство индикаторов - с открытым кодом (файл mql в наличии). Однако для работы индикатора требуется только файл с разрешением EX. Если указано - что нет скрина - это значит, что индикатор выглядит аналогично вышеозначенному.

Успехов в работе!

 

 

 

ОПИСАНИЕ ИНДИКАТОРА

 

 

 

 

1. Общий вид индикатора, описание.

2. Код индикатора.

3. Базовые настройки индикатора.

4. Формула расчёта индикатора.

5. Видеообзор индикатора.

6. Автор индикатора.

 

 

 

Общий вид индикатора, описание:

03-01-201714-32-36OBSVID.jpg

 

Технический индикатор Параболическая Система SAR (Parabolic SAR) был разработан для анализа трендовых рынков. Индикатор строится на ценовом графике. По своему смыслу данный индикатор аналогичен скользящей средней, с той лишь разницей, что Parabolic SAR движется с большим ускорением и может менять положение относительно цены. На «бычьем тренде» (Up Trend) индикатор располагается ниже цен, на «медвежьем» (Down Trend) — выше.

 

Если цена пересекает линии Parabolic SAR, то происходит разворот индикатора, а следующие его значения располагаются по другую сторону от цены. При этом «перевороте» индикатора точкой отсчета будет служить максимальная или минимальная цена за предыдущий период. Переворот индикатора — это сигнал либо об окончании (переходе в коррекцию или флэт) тренда, либо о его развороте.

 

Parabolic SAR превосходно определяет точки выхода из рынка. Длинные позиции следует закрывать, когда цена опускается ниже линии технического индикатора, а короткие — когда цена поднимается выше линии Parabolic SAR. Часто данный индикатор используют в качестве линии скользящего стопа (trailing stop).

 

Если открыта длинная позиция (то есть цена выше линии Parabolic SAR), то линия индикатора будет перемещаться вверх независимо от того, в каком направлении движутся цены. Величина перемещения линии Parabolic SAR зависит от величины ценового движения.

 

 

 

2. Код индикатора:

 

 

//+------------------------------------------------------------------+
//|                                                    Parabolic.mq4 |
//|                   Copyright 2005-2014, MetaQuotes Software Corp. |
//|                                              http://www.mql4.com |
//+------------------------------------------------------------------+
#property copyright   "2005-2014, MetaQuotes Software Corp."
#property link        "http://www.mql4.com"
#property description "Parabolic Stop-And-Reversal system"
#property strict

//--- indicator settings
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1  Lime
//--- input parameters
input double InpSARStep=0.02;    // Step
input double InpSARMaximum=0.2;  // Maximum
//---- buffers
double       ExtSARBuffer[];
//--- global variables
double       ExtSarStep;
double       ExtSarMaximum;
int          ExtLastReverse;
bool         ExtDirectionLong;
double       ExtLastStep,ExtLastEP,ExtLastSAR;
double       ExtLastHigh,ExtLastLow;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//--- checking input data
   if(InpSARStep<0.0)
     {
      ExtSarStep=0.02;
      Print("Input parametr InpSARStep has incorrect value. Indicator will use value ",
            ExtSarStep," for calculations.");
     }
   else
      ExtSarStep=InpSARStep;
   if(InpSARMaximum<0.0)
     {
      ExtSarMaximum=0.2;
      Print("Input parametr InpSARMaximum has incorrect value. Indicator will use value ",
            ExtSarMaximum," for calculations.");
     }
   else
      ExtSarMaximum=InpSARMaximum;
//--- drawing settings
   IndicatorDigits(Digits);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,159);
//---- indicator buffers
   SetIndexBuffer(0,ExtSARBuffer);
//--- set short name
   IndicatorShortName("SAR("+DoubleToString(ExtSarStep,2)+","+DoubleToString(ExtSarMaximum,2)+")");
//--- set global variables
   ExtLastReverse=0;
   ExtDirectionLong=false;
   ExtLastStep=ExtLastEP=ExtLastSAR=0.0;
   ExtLastHigh=ExtLastLow=0.0;
//----
  }
//+------------------------------------------------------------------+
//| Parabolic SAR                                                    |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long& tick_volume[],
                const long& volume[],
                const int& spread[])
  {
   bool   dir_long;
   double last_high,last_low,ep,sar,step;
   int    i;
//--- check for minimum rates count
   if(rates_total<3)
      return(0);
//--- counting from 0 to rates_total
   ArraySetAsSeries(ExtSARBuffer,false);
   ArraySetAsSeries(high,false);
   ArraySetAsSeries(low,false);
//--- detect current position for calculations 
   i=prev_calculated-1;
//--- calculations from start?
   if(i<1)
     {
      ExtLastReverse=0;
      dir_long=true;
      step=ExtSarStep;
      last_high=-10000000.0;
      last_low=10000000.0;
      sar=0;
      i=1;
      while(i<rates_total-1)
        {
         ExtLastReverse=i;
         if(last_low>low[i])
            last_low=low[i];
         if(last_high<high[i])
            last_high=high[i];
         if(high[i]>high[i-1] && low[i]>low[i-1])
            break;
         if(high[i]<high[i-1] && low[i]<low[i-1])
           {
            dir_long=false;
            break;
           }
         i++;
        }
      //--- initialize with zero
      ArrayInitialize(ExtSARBuffer,0.0);
      //--- go check
      if(dir_long)
        {
         ExtSARBuffer[i]=low[i-1];
         ep=high[i];
        }
      else
        {
         ExtSARBuffer[i]=high[i-1];
         ep=low[i];
        }
      i++;
     }
   else
     {
      //--- calculations to be continued. restore last values
      i=ExtLastReverse;
      step=ExtLastStep;
      dir_long=ExtDirectionLong;
      last_high=ExtLastHigh;
      last_low=ExtLastLow;
      ep=ExtLastEP;
      sar=ExtLastSAR;
     }
//---main cycle
   while(i<rates_total)
     {
      //--- check for reverse
      if(dir_long && low[i]<ExtSARBuffer[i-1])
        {
         SaveLastReverse(i,true,step,low[i],last_high,ep,sar);
         step=ExtSarStep;
         dir_long=false;
         ep=low[i];
         last_low=low[i];
         ExtSARBuffer[i++]=last_high;
         continue;
        }
      if(!dir_long && high[i]>ExtSARBuffer[i-1])
        {
         SaveLastReverse(i,false,step,last_low,high[i],ep,sar);
         step=ExtSarStep;
         dir_long=true;
         ep=high[i];
         last_high=high[i];
         ExtSARBuffer[i++]=last_low;
         continue;
        }
      //---
      sar=ExtSARBuffer[i-1]+step*(ep-ExtSARBuffer[i-1]);
      //--- LONG?
      if(dir_long)
        {
         if(ep<high[i])
           {
            if((step+ExtSarStep)<=ExtSarMaximum)
               step+=ExtSarStep;
           }
         if(high[i]<high[i-1] && i==2)
            sar=ExtSARBuffer[i-1];
         if(sar>low[i-1])
            sar=low[i-1];
         if(sar>low[i-2])
            sar=low[i-2];
         if(sar>low[i])
           {
            SaveLastReverse(i,true,step,low[i],last_high,ep,sar);
            step=ExtSarStep; dir_long=false; ep=low[i];
            last_low=low[i];
            ExtSARBuffer[i++]=last_high;
            continue;
           }
         if(ep<high[i])
            ep=last_high=high[i];
        }
      else // SHORT
        {
         if(ep>low[i])
           {
            if((step+ExtSarStep)<=ExtSarMaximum)
               step+=ExtSarStep;
           }
         if(low[i]<low[i-1] && i==2)
            sar=ExtSARBuffer[i-1];
         if(sar<high[i-1])
            sar=high[i-1];
         if(sar<high[i-2])
            sar=high[i-2];
         if(sar<high[i])
           {
            SaveLastReverse(i,false,step,last_low,high[i],ep,sar);
            step=ExtSarStep;
            dir_long=true;
            ep=high[i];
            last_high=high[i];
            ExtSARBuffer[i++]=last_low;
            continue;
           }
         if(ep>low[i])
            ep=last_low=low[i];
        }
      ExtSARBuffer[i++]=sar;
     }
//---- OnCalculate done. Return new prev_calculated.
   return(rates_total);
  }
//+------------------------------------------------------------------+
//|  save last values to continue further calculations               |
//+------------------------------------------------------------------+
void SaveLastReverse(int reverse,bool dir,double step,double last_low,double last_high,double ep,double sar)
  {
   ExtLastReverse=reverse;
   if(ExtLastReverse<2)
      ExtLastReverse=2;
   ExtDirectionLong=dir;
   ExtLastStep=step;
   ExtLastLow=last_low;
   ExtLastHigh=last_high;
   ExtLastEP=ep;
   ExtLastSAR=sar;
  }
//+------------------------------------------------------------------+

 

 

 

 

3. Базовые настройки индикатора.

03-01-201714-32-04NASTROIKI.jpg

 

Step (шаг) – определяет чувствительность Параболика к изменению цены. По умолчанию, шаг равен 0.02. Чем меньше шаг, тем более достоверные сигналы будет давать индикатор, но они будут немного запаздывать по времени. Чем больше шаг, тем чувствительнее будет индикатор к изменению цены, что выражается в более раннем определении направления тренда, но при этом может увеличиться количество ложных сигналов;

Maximum (максимум) – данный параметр корректирует влияние шага, чтобы избежать искажения результатов при ярко выраженном тренде. По умолчанию, максимум равен 0.2;

Также можно выбрать цвет и размер точек.

 

 

 

4. Формула расчёта индикатора.

 

Расчет.

 

Для длинных позиций:

 

SAR (i) = ACCELERATION * (HIGH (i - 1) - SAR (i - 1)) + SAR (i - 1)

 

Для коротких позиций:

 

SAR (i) = ACCELERATION * (LOW (i - 1) - SAR (i - 1)) - SAR (i - 1)

 

где:

 

SAR (i - 1) — значение индикатора Parabolic SAR на предыдущем баре;

ACCELERATION — фактор ускорения;

HIGH (i - 1) — максимальная цена за предыдущий период;

LOW (i - 1) — минимальная цена за предыдущий период.

 

 

 

5. Видеообзор индикатора.

 

Чем вам поможет индикатор Parabolic SAR ?

 

 

 

 

6. Автор индикатора.

 

Автор Уэллс Уайлдер (Welles Wilder), описал индикатор в книге "Новые концепции в технических торговых системах".

 

[spoiler=Уэллс Уайлдер]UELLSUAILDER.jpg

 

 

 

 

 

 

 

СПИСОК И КОМПЛЕКТАЦИЯ ВСЕХ ИНДИКАТОРОВ

 

 

 

#Parabolic 4TF  EX & MQL

^X_ParabolicRegression_StopAndReverse  EX & MQL

ParabolicRegres  EX & MQL

__channeluonsparabolicusar  EX & MQL

_SAR_Slave  EX & MQL

4 time frame parabolic SAR nmc  EX

AO AC SAR Display  EX

Brooky_Psar_Levels  EX & MQL

Fast_Slow_SAR  EX & MQL

FFx_ParabolicSAR  EX

FXPT_AO_AC_PSAR45_v1  EX & MQL

hull_parabolic_2  EX & MQL

Ma_Parabolic_Alert_2  EX & MQL

Ma_Parabolic_st  EX & MQL

Ma_Parabolic_st2.2  EX & MQL

Ma_Parabolic_v1  EX & MQL

multi_pair_psar_trend_2  EX & MQL

multi_pair_psar_trend_nmc  EX & MQL

Nik_PSAR_2B  EX & MQL

Parabolic SAR Color - Alert(2)email  EX & MQL

parabolic_4cnk  EX & MQL

parabolic_best_tro_modified_version  EX & MQL

Parabolic_best_TRO_MODIFIED_VERSION (2)  EX & MQL

parabolic_rsi_2  EX & MQL

parabolic_rsi_2_mtf  EX & MQL

parabolic_sar_2_histo_mtfalertsarrows_-_nmc  EX & MQL

parabolic_sar_color_and_alerts_v1.2  EX & MQL

parabolic_sar_color_and_alerts_v1.21  EX & MQL

parabolic_sar_mtf  EX & MQL

parabolic_sar2_alerts  EX & MQL

Parabolic_SW  EX & MQL

Parabolic_SW_Pa  EX

Parabolic_ZZ  EX & MQL

Parabolic_ZZ_1  EX & MQL

Parabolic3par  EX & MQL

ParabolicM  EX & MQL

Parabolic-SAR-Color-Alert  EX & MQL

Paradox_SAR_Swing  EX

psar  EX & MQL

SAR Colour  EX & MQL

sar  EX & MQL

SAR_Bar_v1  EX

SARMACD  EX & MQL

signalTable sar  EX & MQL

super_sar  EX & MQL

ZigZagOnParabolic  EX & MQL

 

 

 

 

 

ОПИСАНИЯ И СКРИНЫ ИНДИКАТОРОВ

 

 

 

 

#Parabolic 4TF

30-12-201622-05-39Parabolic4TF.jpg

 

 

^X_ParabolicRegression_StopAndReverse

30-12-201622-06-24X_ParabolicRegression_StopAndReverse.jpg

 

 

ParabolicRegres

без скрина

 

 

__channeluonsparabolicusar

30-12-201622-07-08__channeluonsparabolicusar.jpg

 

 

_SAR_Slave

30-12-201622-07-46_SAR_Slave.jpg

 

 

4 time frame parabolic SAR nmc

30-12-201622-08-314timeframeparabolicSARnmc.jpg

 

 

AO AC SAR Display

30-12-201622-09-33AOACSARDisplay.jpg

 

 

Brooky_Psar_Levels

30-12-201622-10-47Brooky_Psar_Levels.jpg

 

 

Fast_Slow_SAR

30-12-201622-13-09Fast_Slow_SAR.jpg

 

 

FFx_ParabolicSAR

30-12-201622-13-56FFx_ParabolicSAR.jpg

 

 

FXPT_AO_AC_PSAR45_v1

30-12-201622-15-16FXPT_AO_AC_PSAR45_v1.jpg

 

 

hull_parabolic_2

30-12-201622-16-40hull_parabolic_2.jpg

 

 

Ma_Parabolic_Alert_2

30-12-201622-17-40Ma_Parabolic_Alert_2.jpg

 

 

Ma_Parabolic_st

30-12-201622-19-10Ma_Parabolic_st.jpg

 

 

Ma_Parabolic_st2.2

без скрина

 

 

Ma_Parabolic_v1

без скрина

 

 

multi_pair_psar_trend_2

30-12-201622-21-14multi_pair_psar_trend_2.jpg

 

 

multi_pair_psar_trend_nmc

без скрина

 

 

Nik_PSAR_2B

30-12-201622-23-09Nik_PSAR_2B.jpg

 

 

Parabolic SAR Color - Alert(2)email

30-12-201622-23-46ParabolicSARColor-Alert2email.jpg

 

 

parabolic_4cnk

30-12-201622-24-29parabolic_4cnk.jpg

 

 

parabolic_best_tro_modified_version

30-12-201622-25-26parabolic_best_tro_modified_version.jpg

 

 

Parabolic_best_TRO_MODIFIED_VERSION (2)

без скрина

 

 

parabolic_rsi_2

30-12-201622-26-30parabolic_rsi_2.jpg

 

 

parabolic_rsi_2_mtf

30-12-201622-27-20parabolic_rsi_2_mtf.jpg

 

 

parabolic_sar_2_histo_mtfalertsarrows_-_nmc

30-12-201622-28-32parabolic_sar_2_histo_mtfalertsarrows_-_nmc.jpg

 

 

parabolic_sar_color_and_alerts_v1.2

30-12-201622-29-50parabolic_sar_color_and_alerts_v1.2.jpg

 

 

parabolic_sar_color_and_alerts_v1.21

без скрина

 

 

parabolic_sar_mtf

30-12-201622-31-19parabolic_sar_mtf.jpg

 

 

parabolic_sar2_alerts

30-12-201622-32-03parabolic_sar2_alerts.jpg

 

 

Parabolic_SW

30-12-201622-32-42Parabolic_SW.jpg

 

 

Parabolic_SW_Pa

30-12-201622-33-17Parabolic_SW_Pa.jpg

 

 

Parabolic_ZZ

30-12-201622-34-10Parabolic_ZZ.jpg

 

 

Parabolic_ZZ_1

без скрина

 

 

Parabolic3par

30-12-201622-35-41Parabolic3par.jpg

 

 

ParabolicM

без скрина

 

 

Parabolic-SAR-Color-Alert

30-12-201622-38-47Parabolic-SAR-Color-Alert.jpg

 

 

Paradox_SAR_Swing

30-12-201622-39-53Paradox_SAR_Swing.jpg

 

 

psar

30-12-201622-40-47psar.jpg

 

 

SAR Colour

без скрина

 

 

sar

30-12-201622-42-00sar.jpg

 

 

SAR_Bar_v1

03-01-201714-30-39SAR_Bar_v1.jpg

 

 

SARMACD

30-12-201622-44-01SARMACD.jpg

 

 

signalTable sar

30-12-201622-44-52signalTablesar.jpg

 

 

super_sar

30-12-201622-46-03super_sar.jpg

 

 

ZigZagOnParabolic

30-12-201622-48-28ZigZagOnParabolic.jpg

 

 

 

 

 

 

 

ПОЛЕЗНЫЕ ССЫЛКИ

 

 

 

 

Как установить индикатор в терминал МТ4

 

Как тестировать индикатор в терминале МТ4

 

Как настроить уведомления на почту в MT4

 

Как компилировать старые MQ4 файлы под новые билды MetaTrader 4

 

 

 

Расшифровка часто встречающихся сокращений в названии индикаторов.

 

alert - пер. с английского - сигнал. Индикатор при достижении определённых значений, установленных пользователем в настройках, посылает сигнал (разными способами - звуковой, уведомление на почту и так далее).

Пример:

 

18-11-20160-10-39ALERTY.jpg

 

 

arrows - пер. с английского - стрелки. Индикатор может отображать стрелками на графике возможное движение цены в этом направлении.

Пример:

 

18-11-20160-11-42STRELKI.jpg

 

 

Histogram (Hist) - пер. с английского - гистограмма. Показания индикатора в виде гистограммы.

Пример:

 

18-11-20160-10-12GISTOGRAMMA.jpg

 

 

mtf - Multi Time Frame - пер. с английского - мультитаймфреймовый индикатор. Индикатор на установленном таймфрейме отображает данные с более старшего периода. Пока свеча старшего периода не закрыта - индикатор может менять свои показания.

Пример:

 

18-11-20160-12-54MTF.jpg

 

 

 

 

 

 

 

ИСТОРИЯ ОБНОВЛЕНИЙ

 

 

 

1

 

 

 

 

 

 

НАБОР_Parabolic_SAR_2017.01.06.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация  

×
×
  • Создать...