← К каталогу
Исходный код · ID 1494

parabolic-sar-signals.mq5

Похожие материалы по тегам

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор Parabolic SAR Signals для MetaTrader 4 рассчитывает значения параболического SAR и отображает их в отдельном окне в виде гистограмм двух цветов, отражающих направление тренда. В качестве входных данных используются сглаженные значения максимумов и минимумов цен (SMA), что позволяет снизить влияние краткосрочных колебаний на расчёт SAR. Индикатор определяет смену направления тренда и визуально отмечает точки разворота стрелками на графике.

Настройки программы

НастройкаОписание
TimeFrame Таймфрейм — Выбор таймфрейма для расчёта индикатора; поддерживает текстовые обозначения (M1, M5, H1 и т.д.) или числовое значение минут.
AccStep Шаг ускорения — Величина приращения коэффициента ускорения SAR при каждом новом экстремуме в текущем направлении.
AccLimit Лимит ускорения — Максимальное значение коэффициента ускорения SAR, ограничивающее его рост.
PriceHigh Цена высокая — Тип цены для расчёта верхней границы диапазона (по умолчанию HIGH).
PriceLow Цена низкая — Тип цены для расчёта нижней границы диапазона (по умолчанию LOW).
alertsOn Включить оповещения — Общий переключатель системы уведомлений; при выключении все остальные параметры оповещений игнорируются.
alertsOnCurrent Оповещение по текущему бару — Определяет, проверять смену тренда на текущем (последнем) баре или на предыдущем.
alertsMessage Оповещение сообщением — Вывод всплывающего сообщения в терминале при смене направления тренда.
alertsSound Звуковой сигнал — Воспроизведение звукового файла при смене направления тренда.
alertsNotify Push-уведомление — Отправка push-уведомления на мобильное устройство при смене направления тренда.
alertsEmail Email-уведомление — Отправка электронного письма при смене направления тренда.
soundFile Файл звука — Имя звукового файла для воспроизведения при срабатывании оповещения.
ShowArrows Показать стрелки — Включает отрисовку стрелок на графике в точках разворота тренда.
arrowsIdentifier Идентификатор стрелок — Префикс имён графических объектов-стрелок для их последующего поиска и удаления.
arrowsUpperGap Отступ стрелок вверх — Множитель для расстояния от верхней цены до размещения стрелки вверх.
arrowsLowerGap Отступ стрелок вниз — Множитель для расстояния от нижней цены до размещения стрелки вниз.
arrowsUpColor Цвет стрелок вверх — Цвет стрелок, указывающих восходящий тренд.
arrowsDnColor Цвет стрелок вниз — Цвет стрелок, указывающих нисходящий тренд.
arrowsNuColor Цвет нейтральных стрелок — Цвет стрелок в нейтральном состоянии (задаётся, но в текущей версии не используется при отрисовке).
arrowsUpCode Код стрелки вверх — Код символа стрелки вверх из библиотеки графических объектов MetaTrader.
arrowsDnCode Код стрелки вниз — Код символа стрелки вниз из библиотеки графических объектов MetaTrader.
Получить полный код

Поиск по коду файла

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1  LimeGreen
#property indicator_color2  Red
#property indicator_width1  2
#property indicator_width2  2
#property indicator_minimum 0
#property indicator_maximum 1

extern string TimeFrame        = "Current time frame";
extern double AccStep          = 0.01;
extern double AccLimit         = 0.1;
extern int    PriceHigh        = PRICE_HIGH;
extern int    PriceLow         = PRICE_LOW;
extern bool   alertsOn         = true;
extern bool   alertsOnCurrent  = true;
extern bool   alertsMessage    = true;
extern bool   alertsSound      = false;
extern bool   alertsNotify     = true;
extern bool   alertsEmail      = true;
extern string soundFile        = "alert2.wav"; 

extern bool   ShowArrows       = true;
extern string arrowsIdentifier = "sar Arrows";
extern double arrowsUpperGap   = 1.0;
extern double arrowsLowerGap   = 1.0;

extern color  arrowsUpColor    = LimeGreen;
extern color  arrowsDnColor    = Red;
extern color  arrowsNuColor    = Gray;
extern int    arrowsUpCode     = 241;
extern int    arrowsDnCode     = 242;

double sarUp[];
double sarDn[];
double saraUp[];
double saraDn[];
double trend[];
int    timeFrame;

int init()
{
      // код доступен только после оплаты
   }
int deinit()
{
   deleteArrows();

return(0);
}

int start()
{
      // код доступен только после оплаты
   }

double workSar[][7];
#define _high     0
#define _low      1
#define _ohigh    2
#define _olow     3
#define _open     4
#define _position 5
#define _af       6

void iParabolic(double high, double low, double step, double limit, double& pClose, double& pOpen, double& pPosition, double& pChange, int i)
{
   if (ArrayRange(workSar,0)!=Bars) ArrayResize(workSar,Bars); i = Bars-i-1;

      pChange = 0;
         workSar[i][_ohigh] = high;
         workSar[i][_olow]  = low;
            if (i<1)
               {
                  workSar[i][_high]     = high;
                  workSar[i][_low]      = low;
                  workSar[i][_open]     = high;
                  workSar[i][_position] = -1;
                  return;
               }
         workSar[i][_open]     = workSar[i-1][_open];
         workSar[i][_af]       = workSar[i-1][_af];
         workSar[i][_position] = workSar[i-1][_position];
         workSar[i][_high]     = MathMax(workSar[i-1][_high],high);
         workSar[i][_low]      = MathMin(workSar[i-1][_low] ,low );

   if (workSar[i][_position] == 1)
      if (low<=workSar[i][_open])
         {
            workSar[i][_position] = -1;
               pChange = -1;
               pClose  = workSar[i][_high];
                         workSar[i][_high] = high;
                         workSar[i][_low]  = low;
                         workSar[i][_af]   = step;
                         workSar[i][_open] = pClose + workSar[i][_af]*(workSar[i][_low]-pClose);
                            if (workSar[i][_open]<workSar[i  ][_ohigh]) workSar[i][_open] = workSar[i  ][_ohigh];
                            if (workSar[i][_open]<workSar[i-1][_ohigh]) workSar[i][_open] = workSar[i-1][_ohigh];
         }
      else
         {
               pClose = workSar[i][_open];
                    if (workSar[i][_high]>workSar[i-1][_high] && workSar[i][_af]<limit) workSar[i][_af] = MathMin(workSar[i][_af]+step,lim

Показано первые 50% кода (символов: 7001)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
700,10₽ ≈ $8.56