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

elliot oscillator - waves 1.03 (mtf) bt.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор для MetaTrader 4, реализующий анализ Эллиоттовских осцилляторов на основе разности скользящих средних с настраиваемыми периодами и методом усреднения. Отображает результат в отдельном окне графика с использованием гистограммных и линейных буферов, выделяет локальные пики и строит линии тренда между ними. Поддерживает мультитаймфрейм-режим с интерполяцией данных, а также настраиваемые оповещения через сообщения, звук, электронную почту и push-уведомления.

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

НастройкаОписание
Time frame (TimeFrame) Таймфрейм — Выбор таймфрейма для расчётов и отображения данных индикатора
Short period (shortPeriod) Короткий период — Период короткой скользящей средней, используемой в расчёте осциллятора
Long period (longPeriod) Длинный период — Период длинной скользящей средней, используемой в расчёте осциллятора
Price (original should be median) (Price) Цена — Тип цены (или другое значение), используемый для расчёта скользящих средних
Average method to use (original should be SMA) (MaMethod) Метод усреднения — Метод расчёта скользящей средней (например, SMA, EMA и др.)
Unique ID for the indicator (linesIdentifier) Идентификатор линий — Уникальный идентификатор для объектов-линий, создаваемых индикатором на графике
clrNONE; // Zigzag lines color (linesColor) Цвет линий — Цвет линий тренда, соединяющих пики осциллятора
Zigzag lines style (linesStyle) Стиль линий — Стиль отображения линий тренда (сплошной, пунктир и т.д.)
Turn alerts on? (alertsOn) Оповещения включены — Включает или отключает систему оповещений индикатора
Alerts on still opened bar? (alertsOnCurrent) Оповещения на текущем баре — Определяет, проверять ли условие смены сигнала на ещё не закрытом баре
Alerts should display a message? (alertsMessage) Сообщение — Отображать ли всплывающее сообщение при срабатывании оповещения
Alerts should play alert sound? (alertsSound) Звук — Воспроизводить ли звуковой сигнал при срабатывании оповещения
Alerts should send email? (alertsEmail) Email — Отправлять ли уведомление на электронную почту при срабатывании оповещения
Alerts should send notification? (alertsPush) Push-уведомление — Отправлять ли push-уведомление на мобильное устройство при срабатывании оповещения
Interpolate in mtf mode? (Interpolate) Интерполяция — Включает интерполяцию данных при мультитаймфрейм-режиме для более плавной отрисовки
button_note1 Разделитель кнопки 1 — Текстовый разделитель перед настройками кнопки
btn_Subwindow Подокно кнопки — Номер подокна графика, в котором размещается кнопка управления
btn_corner Угол кнопки — Угол привязки кнопки на графике (верхний правый, нижний левый и т.д.)
btn_text Текст кнопки — Текст, отображаемый на кнопке управления индикатором
btn_Font Шрифт кнопки — Шрифт, используемый для текста кнопки
btn_FontSize Размер шрифта кнопки — Размер шрифта текста кнопки
btn_text_ON_color Цвет текста кнопки (вкл) — Цвет текста кнопки в активном (видимом) состоянии
btn_text_OFF_color Цвет текста кнопки (выкл) — Цвет текста кнопки в неактивном (скрытом) состоянии
btn_background_color Фон кнопки — Цвет фона кнопки управления
btn_border_color Цвет рамки кнопки — Цвет границы кнопки
button_x Позиция X кнопки — Горизонтальная координата размещения кнопки на графике
button_y Позиция Y кнопки — Вертикальная координата размещения кнопки на графике
btn_Width Ширина кнопки — Ширина кнопки управления в пикселях
btn_Height Высота кнопки — Высота кнопки управления в пикселях
button_note2 Разделитель кнопки 2 — Текстовый разделитель после настроек кнопки
Получить полный код

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

#property indicator_separate_window

#property indicator_buffers 6
#property indicator_color1  clrDeepSkyBlue
#property indicator_color2  clrPaleVioletRed
#property indicator_color3  clrYellow
#property indicator_color4  clrBlue
#property indicator_color5  clrLimeGreen
#property indicator_color6  clrRed
#property indicator_width1  2
#property indicator_width2  2
#property indicator_width3  5
#property indicator_width4  5
#property indicator_width5  2
#property indicator_width6  2
#property strict

enum enTimeFrames
{
   tf_cu  = PERIOD_CURRENT, // Current time frame
   tf_m1  = PERIOD_M1,      // 1 minute
   tf_m5  = PERIOD_M5,      // 5 minutes
   tf_m15 = PERIOD_M15,     // 15 minutes
   tf_m30 = PERIOD_M30,     // 30 minutes
   tf_h1  = PERIOD_H1,      // 1 hour
   tf_h4  = PERIOD_H4,      // 4 hours
   tf_d1  = PERIOD_D1,      // Daily
   tf_w1  = PERIOD_W1,      // Weekly
   tf_mn1 = PERIOD_MN1,     // Monthly
   tf_n1  = -1,             // First higher time frame
   tf_n2  = -2,             // Second higher time frame
   tf_n3  = -3              // Third higher time frame
};

extern enTimeFrames    TimeFrame        = tf_m15;            // Time frame
extern int             shortPeriod      = 4;                 // Short period
extern int             longPeriod       = 36;                // Long period 
extern ENUM_APPLIED_PRICE Price         = PRICE_CLOSE;       // Price (original should be median)
extern ENUM_MA_METHOD  MaMethod         = MODE_EMA;          // Average method to use (original should be SMA)
extern string          linesIdentifier  = "ewH1";            // Unique ID for the indicator
extern color           linesColor       = clrDarkGray;       // clrNONE; // Zigzag lines color
extern ENUM_LINE_STYLE linesStyle       = STYLE_DOT;         // Zigzag lines style
extern bool            alertsOn         = false;             // Turn alerts on?
extern bool            alertsOnCurrent  = false;             // Alerts on still opened bar?
extern bool            alertsMessage    = true;              // Alerts should display a message?
extern bool            alertsSound      = true;              // Alerts should play alert sound?
extern bool            alertsEmail      = false;             // Alerts should send email?
extern bool            alertsPush       = false;             // Alerts should send notification?
extern bool            Interpolate      = true;              // Interpolate in mtf mode?

extern string             button_note1          = "------------------------------";
extern int                btn_Subwindow         = 3;
extern ENUM_BASE_CORNER   btn_corner            = CORNER_RIGHT_UPPER;
extern string             btn_text              = "Elliot osc";
extern string             btn_Font              = "Arial";
extern int                btn_FontSize          = 8;                        
extern color              btn_text_ON_color     = clrWhite;
extern color              btn_text_OFF_color    = clrRed;
extern color              btn_background_color  = clrDimGray;
extern color              btn_border_color      = clrDarkGray;
extern int                button_x              = 75;                                   
extern int                button_y              = 0;                                   
extern int                btn_Width             = 65;                                
extern int                btn_Height            = 20;                               
extern string             button_note2          = "------------------------------";

bool show_data = true;
bool recalc    = true;

string IndicatorName, IndicatorObjPrefix,buttonId;

double ellBuffer[],ellUBuffer[],ellDBuffer[],mauBuffer[],madBuffer[],peakUp[],peakDn[],trend[],count[];
string indicatorFileName;
#define _mtfCall(_buff,_ind) iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,shortPeriod,longPeriod,Price,MaMethod,linesIdentifier,linesColor,linesStyle,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,alertsPush,Interpolate,button_note1,btn_Subwindow,btn_corner,btn_text,btn_Font,btn_FontSize,btn_text_ON_color,btn_text_OFF_color,btn_background_color,btn_border_color,button_x,button_y,btn_Width,btn_Height,button_note2,_buff,_ind)

string GenerateIndicatorName(const string target) 
{
   string name = target;
   int try = 2;
   while (WindowFind(name) != -1)
   {
      name = target + " #" + IntegerToString(try++);
   }
   return name;
}

int OnInit()
{
      // код доступен только после оплаты
   }
void OnDeinit(const int reason)
{
   string lookFor = linesIdentifier+":";
   for (int i=ObjectsTotal(); i>=0; i--)
      {
         string name = ObjectName(i);
         if (StringFind(name,lookFor)==0) ObjectDelete(name);
      }
      ObjectsDeleteAll(ChartID(), IndicatorObjPrefix);
}

void createButton(string buttonID,string buttonText,int width,int height,string font,int fontSize,color bgColor,color borderColor,color txtColor)
{

      ObjectCreate    (0,buttonID,OBJ_BUTTON,WindowOnDropped(),0,0);
      ObjectSetInteger(0,buttonID,OBJPROP_COLOR,txtColor);
      ObjectSetInteger(0,buttonID,OBJPROP_BGCOLOR,bgColor);
      ObjectSetInteger(0,buttonID,OBJPROP_BORDER_COLOR,borderColor);
      ObjectSetInteger(0,buttonID,OBJPROP_BORDER_TYPE,BORDER_RAISED);
      ObjectSetInteger(0,buttonID,OBJPROP_XSIZE,width);
      ObjectSetInteger(0,buttonID,OBJPROP_YSIZE,height);
      ObjectSetString (0,buttonID,OBJPROP_FONT,font);
      ObjectSetString (0,buttonID,OBJPROP_TEXT,buttonText);
      ObjectSetInteger(0,buttonID,OBJPROP_FONTSIZE,fontSize);
      ObjectSetInteger(0,buttonID,OBJPROP_SELECTABLE,0);
      ObjectSetInteger(0,buttonID,OBJPROP_CORNER,btn_corner);
      ObjectSetInteger(0,buttonID,OBJPROP_HIDDEN,1);
      ObjectSetInteger(0,buttonID,OBJPROP_XDISTANCE,9999);
      ObjectSetInteger(0,buttonID,OBJPROP_YDISTANCE,9999);
}

void handleButtonClicks()
{
   if (ObjectGetInteger(0, buttonId, OBJPROP_STATE))
   {
      ObjectSetInteger(0, buttonId, OBJPROP_STATE, false);
      show_data = !show_data;
      GlobalVariableSet(IndicatorName + "_visibility", show_data ? 1.0 : 0.0);
      recalc = true;

   }
}
void OnChartEvent(const int id, 
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
{
   handl

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

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

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

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

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

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

Стоимость полного кода
1 137,80₽ ≈ $13.91