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

[Parabolic SAR] НАБОР Parabolic SAR

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

[Parabolic SAR] НАБОР Parabolic SAR


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





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



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

Спойлер



1. Общий вид индикатора, описание.
2. Код индикатора.
3. Базовые настройки индикатора.
4. Формула расчёта индикатора.
5. Видеообзор индикатора.
6. Автор индикатора.



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



Технический индикатор Параболическая Система 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 {
ExtSarStep=0.02;
Print("Input parametr InpSARStep has incorrect value. Indicator will use value ",
ExtSarStep," for calculations.");
}
else
ExtSarStep=InpSARStep;
if(InpSARMaximum {
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 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 {
ExtLastReverse=0;
dir_long=true;
step=ExtSarStep;
last_high=-10000000.0;
last_low=10000000.0;
sar=0;
i=1;
while(i {
ExtLastReverse=i;
if(last_low>low)
last_low=low;
if(last_high)
last_high=high;
if(high>high[i-1] && low>low[i-1])
break;
if(high {
dir_long=false;
break;
}
i++;
}
//--- initialize with zero
ArrayInitialize(ExtSARBuffer,0.0);
//--- go check
if(dir_long)
{
ExtSARBuffer=low[i-1];
ep=high;
}
else
{
ExtSARBuffer=high[i-1];
ep=low;
}
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 {
//--- check for reverse
if(dir_long && low {
SaveLastReverse(i,true,step,low,last_high,ep,sar);
step=ExtSarStep;
dir_long=false;
ep=low;
last_low=low;
ExtSARBuffer[i++]=last_high;
continue;
}
if(!dir_long && high>ExtSARBuffer[i-1])
{
SaveLastReverse(i,false,step,last_low,high,ep,sar);
step=ExtSarStep;
dir_long=true;
ep=high;
last_high=high;
ExtSARBuffer[i++]=last_low;
continue;
}
//---
sar=ExtSARBuffer[i-1]+step*(ep-ExtSARBuffer[i-1]);
//--- LONG?
if(dir_long)
{
if(ep)
{
if((step+ExtSarStep) step+=ExtSarStep;
}
if(high 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)
{
SaveLastReverse(i,true,step,low,last_high,ep,sar);
step=ExtSarStep; dir_long=false; ep=low;
last_low=low;
ExtSARBuffer[i++]=last_high;
continue;
}
if(ep)
ep=last_high=high;
}
else // SHORT
{
if(ep>low)
{
if((step+ExtSarStep) step+=ExtSarStep;
}
if(low sar=ExtSARBuffer[i-1];
if(sar sar=high[i-1];
if(sar sar=high[i-2];
if(sar)
{
SaveLastReverse(i,false,step,last_low,high,ep,sar);
step=ExtSarStep;
dir_long=true;
ep=high;
last_high=high;
ExtSARBuffer[i++]=last_low;
continue;
}
if(ep>low)
ep=last_low=low;
}
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 ExtLastReverse=2;
ExtDirectionLong=dir;
ExtLastStep=step;
ExtLastLow=last_low;
ExtLastHigh=last_high;
ExtLastEP=ep;
ExtLastSAR=sar;
}
//+------------------------------------------------------------------+





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



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), описал индикатор в книге "Новые концепции в технических торговых системах".

Уэллс Уайлдер







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

Спойлер


#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



^X_ParabolicRegression_StopAndReverse



ParabolicRegres
без скрина


__channeluonsparabolicusar



_SAR_Slave



4 time frame parabolic SAR nmc



AO AC SAR Display



Brooky_Psar_Levels



Fast_Slow_SAR



FFx_ParabolicSAR



FXPT_AO_AC_PSAR45_v1



hull_parabolic_2



Ma_Parabolic_Alert_2



Ma_Parabolic_st



Ma_Parabolic_st2.2
без скрина


Ma_Parabolic_v1
без скрина


multi_pair_psar_trend_2



multi_pair_psar_trend_nmc
без скрина


Nik_PSAR_2B



Parabolic SAR Color - Alert(2)email



parabolic_4cnk



parabolic_best_tro_modified_version



Parabolic_best_TRO_MODIFIED_VERSION (2)
без скрина


parabolic_rsi_2



parabolic_rsi_2_mtf



parabolic_sar_2_histo_mtfalertsarrows_-_nmc



parabolic_sar_color_and_alerts_v1.2



parabolic_sar_color_and_alerts_v1.21
без скрина


parabolic_sar_mtf



parabolic_sar2_alerts



Parabolic_SW



Parabolic_SW_Pa



Parabolic_ZZ



Parabolic_ZZ_1
без скрина


Parabolic3par



ParabolicM
без скрина


Parabolic-SAR-Color-Alert



Paradox_SAR_Swing



psar



SAR Colour
без скрина


sar



SAR_Bar_v1



SARMACD



signalTable sar



super_sar



ZigZagOnParabolic







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

Спойлер



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



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


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


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



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

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



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



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



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







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

Спойлер


1






НАБОР_Parabolic_SAR_2017.01.06.zip

Изменено пользователем Pavel888

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


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

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

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

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

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

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

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

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

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

Авторизация  

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