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

aparabolic sar 2 histo_mtf+alerts+arrows - nmc.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 на выбранном таймфрейме и отображает результаты в виде двух гистограмм в отдельном окне. Расчёт выполняется на основе сглаженных значений максимумов и минимумов цен с использованием простого скользящего среднего, что обеспечивает анализ ценовых данных на мультитаймфрейме.

При смене позиции SAR индикатор обновляет значения гистограмм и может запускать пользовательские сценарии уведомлений. Поддерживаются различные типы алертов: текстовые сообщения, звуковые сигналы, push-уведомления и электронная почта. Также индикатор способен отрисовывать стрелки на графике при изменении тренда.

Индикатор работает в платформе MetaTrader 5 и предназначен для технического анализа. Все входные параметры настраиваются пользователем, включая таймфрейм расчёта, параметры ускорения и ограничения SAR, а также визуальные настройки отображения.

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

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

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

#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