Pavel888 Опубликовано 6 января, 2017 Поделиться [Parabolic SAR] НАБОР Parabolic SAR Опубликовано 6 января, 2017 2ТЭ10М-0936 by Pavel888, on Flickr РУССКИЙ ЯЗЫК/Russian language. НАБОР посвящается индикатору Parabolic SAR - который является стандартным в MetaTrader 4. Большинство индикаторов - с открытым кодом (файл mql в наличии). Однако для работы индикатора требуется только файл с разрешением EX. Если указано - что нет скрина - это значит, что индикатор выглядит аналогично вышеозначенному. Успехов в работе! АНГЛИЙСКИЙ ЯЗЫК/English language. The SET is dedicated to the Parabolic SAR indicator - which is standard in MetaTrader 4. Most of the indicators are open source (mql file is available). However, only a file with EX resolution is required for the indicator to work. If it is indicated that there is no screenshot, it means that the indicator looks similar to the above. Good luck in your work! С уважением, Павел aka Pavel888. ОПИСАНИЕ ИНДИКАТОРА Спойлер 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 - перевод с английского - мультитаймфреймовый индикатор. Индикатор на установленном таймфрейме отображает данные с более старшего периода. Пока свеча старшего периода не закрыта - индикатор может менять свои показания. Пример: Smoothed - перевод с английского - сглаженный. Индикатор на установленном таймфрейме отображается в виде плавных линий. Пример: ИСТОРИЯ ОБНОВЛЕНИЙ Спойлер 1 НАБОР_Parabolic_SAR_2017.01.06.zip 15 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Pavel888 Опубликовано 22 марта, 2019 Автор Поделиться [Parabolic SAR] НАБОР Parabolic SAR Опубликовано 22 марта, 2019 Чем вам поможет индикатор Parabolic SAR ? 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти