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

#Ultimate MACD Divergence

#ultimate macd divergence.mq5

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

xauusd_gold_perfect.mq4MQL4 / MetaTrader 4 · 2 общих теговtm sniper pro.pineTradingView · 2 общих теговsniper pro.mq5MQL5 / MetaTrader 5 · 2 общих теговpro +.pineTradingView · 2 общих теговofada_gold_trader_v230.mq5MQL5 / MetaTrader 5 · 2 общих теговmulti strategy algo combined by enigma mode.pineTradingView · 2 общих тегов
Вы автор или правообладатель?

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

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

О программе

Ultimate MACD Divergence — это пользовательский индикатор для MetaTrader 5, который рассчитывает аналитическую линию MACD и гистограмму на основе экспоненциальных скользящих средних с настраиваемыми периодами и коэффициентами. Поддерживается выбор базовой цены расчёта: Close, OBV, RSI, MFI, Momentum и CCI, что позволяет адаптировать анализ под разные торговые стратегии.

Индикатор специализируется на обнаружении классических и скрытых дивергенций (бычьих и медвежьих) между линией MACD, гистограммой и ценой. Для наглядности отображает стрелки на пиках и впадинах MACD-линии, гистограммы и цены, а также рисует линии дивергенций прямо на графике.

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

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

НастройкаОписание
macdsettings Группа основных настроек MACD.
IndicatorPrefix Префикс, добавляемый к именам объектов индикатора на графике.
Fastmaperiod Период быстрой экспоненциальной скользящей средней для расчёта MACD.
Slowmaperiod Период медленной экспоненциальной скользящей средней для расчёта MACD.
Signalmaperiod Период сигнальной экспоненциальной скользящей средней для расчёта сигнала MACD.
SpeedFactor Скоростной коэффициент MACD (рекомендуемое значение = 2). Используется в формуле расчёта скользящей средней.
AccelerationFactor Коэффициент ускорения MACD (рекомендуемое значение = 0). Используется в формуле расчёта скользящей средней.
prise0 Базовая цена для MACD: Close.
prise1 Базовая цена для MACD: OBV.
prise2 Базовая цена для MACD: RSI.
prise3 Базовая цена для MACD: MFI.
prise4 Базовая цена для MACD: Momentum.
prise5 Базовая цена для MACD: CCI.
RSIPeriod Период индикатора Relative Strength Index, используемого как базовая цена для MACD.
MFIPeriod Период индикатора Money Flow Index, используемого как базовая цена для MACD.
MOMPeriod Период индикатора Momentum, используемого как базовая цена для MACD.
CCIPeriod Период индикатора Commodity Channel Index, используемого как базовая цена для MACD.
macdline Отображение линии MACD на графике.
macdsignal Отображение сигнальной линии на графике.
mhzf Коэффициент масштабирования гистограммы MACD.
LookBackMax Максимальное количество баров назад для расчёта MACD.
MaxDivBarScan Максимальное количество баров назад для поиска стрелок и дивергенций.
divparameters Группа параметров дивергенций.
bt1 Метод обнаружения дивергенций: сопоставление линии MACD и цены.
bt2 Метод обнаружения дивергенций: сопоставление гистограммы MACD и цены.
bt3 Метод обнаружения дивергенций: приоритет линии MACD над ценой.
bt4 Метод обнаружения дивергенций: приоритет гистограммы MACD над ценой.
bt5 Метод обнаружения дивергенций: приоритет цены над линией MACD.
bt6 Метод обнаружения дивергенций: приоритет цены над гистограммой MACD.
dlipt Длина дивергенции в пиках/впадинах (от 2 до 4).
SDF Минимальное значение (в пипсах) фильтра между средней точкой и короткой стороной дивергенции.
LDF Минимальное значение (в пипсах) фильтра между средней точкой и длинной стороной дивергенции.
shlmp Отображение/скрытие средних точек дивергенций.
MLPTArrows Отображение стрелок на пиках и впадинах линии MACD.
MHPTArrows Отображение стрелок на пиках и впадинах гистограммы MACD.
PPTArrows Отображение стрелок на пиках и впадинах цены.
ppamargin Отступ стрелок пиков цены от уровня цены.
ptamargin Отступ стрелок впадин цены от уровня цены.
scd Включение/выключение поиска классических дивергенций.
shd Включение/выключение поиска скрытых дивергенций.
alertettings Группа настроек уведомлений и алертов.
Message_Alerts Включение текстовых уведомлений-алертов.
Send_Email Включение отправки алертов по электронной почте.
also Кнопка включения/выключения звуковых сигналов алертов.
Push_Notifications Включение push-уведомлений об алертах.
AlertShift Сдвиг бара для срабатывания алертов (значение не менее 2).
fsb0 Группа кнопок метода обнаружения дивергенций.
DDMSBW Ширина окна кнопок переключения метода обнаружения дивергенций.
SBCDDM Угловое положение окна кнопок метода обнаружения дивергенций.
sbddmf Шрифт кнопок метода обнаружения дивергенций.
sbddmfs Размер шрифта кнопок метода обнаружения дивергенций.
sbddmtxc0 Цвет текста неактивных кнопок метода обнаружения дивергенций.
sbddmtxc1 Цвет текста активных кнопок метода обнаружения дивергенций.
sbddmbgc Цвет фона кнопок метода обнаружения дивергенций.
sbddmbc Цвет фона кнопок метода обнаружения дивергенций.
sbddmw Ширина кнопок метода обнаружения дивергенций.
sbddmh Высота кнопок метода обнаружения дивергенций.
sbddmsm Отступ между кнопками метода обнаружения дивергенций.
fsb1 Группа кнопок выбора типа цены MACD.
MPTSBW Ширина окна кнопок выбора типа цены MACD.
SBCMTP Угловое положение окна кнопок выбора типа цены MACD.
sbmtpf Шрифт кнопок выбора типа цены MACD.
sbmtpfs Размер шрифта кнопок выбора типа цены MACD.
sbmtptxc0 Цвет текста неактивных кнопок выбора типа цены MACD.
sbmtptxc1 Цвет текста активных кнопок выбора типа цены MACD.
sbmtpbgc Цвет фона кнопок выбора типа цены MACD.
sbmtpbc Цвет рамки кнопок выбора типа цены MACD.
sbmtpw Ширина кнопок выбора типа цены MACD.
sbmtph Высота кнопок выбора типа цены MACD.
sbmtpsm Отступ между кнопками выбора типа цены MACD.
fsb2 Группа дополнительных настроек.
EXTSBW Ширина окна кнопок дополнительных настроек.
SBCEXT Угловое положение окна кнопок дополнительных настроек.
sbextf Шрифт кнопок дополнительных настроек.
sbextfs Размер шрифта кнопок дополнительных настроек.
sbexttxc0 Цвет текста неактивных кнопок дополнительных настроек.
sb1exttxc1 Цвет текста активной кнопки 1 в дополнительных настройках.
sb2exttxc1 Цвет текста активной кнопки 2 в дополнительных настройках.
sb3exttxc1 Цвет текста активной кнопки 3 в дополнительных настройках.
sb4exttxc1 Цвет текста активной кнопки 4 в дополнительных настройках.
sb5exttxc1 Цвет текста активной кнопки 5 в дополнительных настройках.
sb6exttxc1 Цвет текста активной кнопки 6 в дополнительных настройках.
sbextbgc Цвет фона кнопок дополнительных настроек.
sbextbc Цвет рамки кнопок дополнительных настроек.
sbextw Ширина кнопок дополнительных настроек.
sbexth Высота кнопок дополнительных настроек.
sbextsm Отступ между кнопками дополнительных настроек.
linesettings Группа визуальных настроек стилей и цветов.
dmf Шрифт подписей средних точек дивергенций.
dmfs Размер шрифта подписей средних точек дивергенций.
dmmdbu Отступ средних точек бычьих дивергенций.
dmmdbe Отступ средних точек медвежьих дивергенций.
dmfcbu Цвет шрифта средних точек бычьих дивергенций.
dmfcbe Цвет шрифта средних точек медвежьих дивергенций.
MACD_Color Цвет линии MACD.
MACDLS Стиль линии MACD на графике.
MACDLW Толщина линии MACD.
Signal_Color Цвет сигнальной линии MACD.
SLS Стиль сигнальной линии MACD.
SLW Толщина сигнальной линии MACD.
Получить полный код

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

#property strict
#property indicator_separate_window
#property indicator_buffers 10
#import "user32.dll"
int RegisterWindowMessageW(string lpString);
int PostMessageW(int hWnd,int Msg,int wParam,int lParam);
#import
#define cmd_update_window 0x822c
#define wm_command        0x0111

enum sbcddm   //Switch Buttons Corner (Divergence Detection Method)
     {
     d0,      // Centered Upper
     d1,      // Centered Lower
     d2,      // Left Upper
     d3,      // Left Lower
     d4,      // Right Upper
     d5,      // Right Lower
     };

enum sbcmtp   //Switch Buttons Corner (MACD Type/Price)
     {
     m0,      // Centered Upper
     m1,      // Centered Lower
     m2,      // Left Upper
     m3,      // Left Lower
     m4,      // Right Upper
     m5,      // Right Lower
     };

enum sbcext   //Switch Buttons Corner (Other Settings)
     {
     e0,      // Centered Upper
     e1,      // Centered Lower
     e2,      // Left Upper
     e3,      // Left Lower
     e4,      // Right Upper
     e5,      // Right Lower
     };

extern string   macdsettings                    = "__________________     Main Settings     __________________"; //___________________     MACD     ___________________
extern string   IndicatorPrefix                 = "#Ultimate MACD Divergence: ";    // Indicator Prefix
extern int      Fastmaperiod                    = 13;                               // Fast Ema Period
extern int      Slowmaperiod                    = 21;                               // Slow Ema Period
extern int      Signalmaperiod                  = 8;                                // Signal Ema Period
extern double   SpeedFactor                     = 2.0618;                           // MACD Speed Factor (Reference Value=2)
extern double   AccelerationFactor              = 0.618;                            // MACD Acceleration Factor (Reference Value=0)
extern string   prise0                          = "MACD @ Price Close";             // MACD Price/Type Button: (Price)
extern string   prise1                          = "MACD @ OBV Close";               // MACD Price/Type Button: (OBV)
extern string   prise2                          = "MACD @ RSI Close";               // MACD Price/Type Button: (RSI)
extern string   prise3                          = "MACD @ MFI Close";               // MACD Price/Type Button: (MFI)
extern string   prise4                          = "MACD @ MOM Close";               // MACD Price/Type Button: (MOM)
extern string   prise5                          = "MACD @ CCI Close";               // MACD Price/Type Button: (CCI)
extern int      RSIPeriod                       = 13;                               // Relative Strength Index Period
extern int      MFIPeriod                       = 13;                               // Money Flow Index Period
extern int      MOMPeriod                       = 13;                               // Momentum Period
extern int      CCIPeriod                       = 13;                               // CCI Period
extern bool     macdline                        = true;                             // Show MACD Line
extern bool     macdsignal                      = true;                             // Show Signal Line
extern string   mhzf                            = "MACD Histogram Zoom Factor";     // Histogram Zoom Factor Button; (3.50)
extern int      LookBackMax                     = 1000;                             // Max Look Back Bars MACD
extern int      MaxDivBarScan                   = 500;                              // Max Look Back Bars Arrows & Divergences
extern string   divparameters                   = "_________________     Main Parameters     _________________"; //_________________     Divergence     _________________
extern string   bt1                             = "Matching  (Macd Line & Price)";      // Divergence Detection Method Button: (L >< P)
extern string   bt2                             = "Matching  (Macd Histogram & Price)"; // Divergence Detection Method Button: (H >< P)
extern string   bt3                             = "Prioritization  (Macd Line Forced @ Price)";  // Divergence Detection Method Button: (L -> P)
extern string   bt4                             = "Prioritization  (Macd Histogram Forced @ Price)";  // Divergence Detection Method Button: (H -> P)
extern string   bt5                             = "Prioritization  (Price Forced @ Macd Line (Renko Charts))";  // Divergence Detection Method Button: (P -> L)
extern string   bt6                             = "Prioritization  (Price Forced @ Macd Histogram (Renko Charts))";  // Divergence Detection Method Button: (P -> H)
extern string   dlipt                           = "Divergence Length In Peaks/Troughs"; // Divergence Length Button: (MAX 4/MIN 2)
extern double   SDF                             = 2.618;                            // Filter Value (Min (pip) Between Midpoint & Short Side)
extern double   LDF                             = 2.618;                            // Filter Value (Min (pip) Between Midpoint & Long Side)
extern string   shlmp                           = "Show/Hide Midpoints";            //Midpoints Button: (MP)  
extern bool     MLPTArrows                      = true;                             // Show Arrows On MACD Line Peaks/Troughs
extern bool     MHPTArrows                      = true;                             // Show Arrows On MACD Histogram Peaks/Troughs
extern bool     PPTArrows                       = true;                             // Show Arrows On Price Peaks/Troughs
extern double   ppamargin                       = 80.0;                             // Price Peak Arrows Marginal Distance
extern double   ptamargin                       = 140.0;                            // Price Trough Arrows Marginal Distance
extern string   scd                             = "Classical Divergences ON/OFF";   //Scan Classical Divergences: Button (SCD)
extern string   shd                             = "Hidden Divergences ON/OFF";      //Scan Hidden Divergences: Button (SHD)
extern string   alertettings                    = "________________    Overall Parameters    ________________";  //____________________     Alerts     ____________________
extern bool     Message_Alerts                  = false;                            // Alert Messages   
extern bool     Send_Email                      = false;                            // Alert Email   
extern string   also                            = "Alert Sound ON/OFF";             // Alert Sound Button: (AS)
extern bool     Push_Notifications              = false;                            // Alert Push Norifications   
extern int      AlertShift                      = 2;                                // Alert Bar Shift (>=2)
extern string   fsb0                            = "__________________     Switch Buttons     __________________";//__________     Divergence Detection Method     __________
extern int      DDMSBW                          = 0;                                // Switch Buttons Window
extern sbcddm   SBCDDM                          = d1;                               // Switch Buttons Corner
extern string   sbddmf                          = "Tahoma";                         // Switch Buttons Font
extern int      sbddmfs                         = 9;                                // Switch Buttons Font Size
extern color    sbddmtxc0                       = C'52,52,52';                      // Switch Buttons Txt Color Inactive
extern color    sbddmtxc1                       = clrTeal;                          // Switch Buttons Txt Color Active
extern color    sbddmbgc                        = clrBlack;                         // Switch Buttons Background Color
extern color    sbddmbc                         = C'60,60,60';                      // Switch Buttons Border Color
extern int      sbddmw                          = 70;                               // Switch Buttons Width
extern int      sbddmh                          = 22;                               // Switch Buttons Height
extern int      sbddmsm                         = 3;                                // Switch Buttons Step Margin
extern string   fsb1                            = "__________________     Switch Buttons     __________________";//_______________     MACD Price/Type     _______________
extern int      MPTSBW                          = 0;                                // Switch Buttons Window
extern sbcmtp   SBCMTP                          = m3;                               // Switch Buttons Corner
extern string   sbmtpf                          = "Tahoma";                         // Switch Buttons Font
extern int      sbmtpfs                         = 9;                                // Switch Buttons Font Size
extern color    sbmtptxc0                       = C'52,52,52';                      // Switch Buttons Txt Color Inactive
extern color    sbmtptxc1                       = clrDarkOrange;                    // Switch Buttons Txt Color Active
extern color    sbmtpbgc                        = clrBlack;                         // Switch Buttons Background Color
extern color    sbmtpbc                         = C'60,60,60';                      // Switch Buttons Border Color
extern int      sbmtpw                          = 55;                               // Switch Buttons Width
extern int      sbmtph                          = 22;                               // Switch Buttons Height
extern int      sbmtpsm                         = 3;                                // Switch Buttons Step Margin
extern string   fsb2                            = "__________________     Switch Buttons     __________________";//_______________     Other Settings     _______________
extern int      EXTSBW                          = 0;                                // Switch Buttons Window
extern sbcext   SBCEXT                          = e5;                               // Switch Buttons Corner
extern string   sbextf                          = "Tahoma";                         // Switch Buttons Font
extern int      sbextfs                         = 9;                                // Switch Buttons Font Size
extern color    sbexttxc0                       = C'52,52,52';                      // Switch Buttons Txt Color Inactive
extern color    sb1exttxc1                      = C'84,111,28';                     // Switch Button1 Txt Color Active
extern color    sb2exttxc1                      = clrSaddleBrown;                   // Switch Button2 Txt Color Active
extern color    sb3exttxc1                      = clrBlue;                          // Switch Button3 Txt Color Active
extern color    sb4exttxc1                      = C'79,51,232';                     // Switch Button4 Txt Color Active
extern color    sb5exttxc1                      = clrGreen;                         // Switch Button5 Txt Color Active
extern color    sb6exttxc1                      = clrMaroon;                        // Switch Button6 Txt Color Active
extern color    sbextbgc                        = clrBlack;                         // Switch Buttons Background Color
extern color    sbextbc                         = C'60,60,60';                      // Switch Buttons Border Color
extern int      sbextw                          = 55;                               // Switch Buttons Width
extern int      sbexth                          = 22;                               // Switch Buttons Height
extern int      sbextsm                         = 3;                                // Switch Buttons Step Margin
extern string   linesettings                    = "_________________     Overall Settings     _________________";//___________________     Styles     ___________________
extern string   dmf                             = "Segoue UI";                      // Divergences Midpoint Font
extern int      dmfs                            = 8;                                // Divergences Midpoint Font Size
extern double   dmmdbu                          = 30;                               // Divergences Midpoint Marginal Distance (Bullish)
extern double   dmmdbe                          = 90;                               // Divergences Midpoint Marginal Distance (Bearish)
extern color    dmfcbu                          = clrYellow;                        // Divergences Midpoint Font Color (Bullish)
extern color    dmfcbe                          = clrOrchid;                        // Divergences Midpoint Font Color (Bearish)
extern color    MACD_Color                      = clrDarkSlateGray;                 // MACD Line Color
extern ENUM_LINE_STYLE MACDLS                   = STYLE_SOLID;                      // MACD Line Style
extern int      MACDLW                          = 0;                                // MACD Line Width
extern color    Signal_Color                    = clrIndigo;                        // Signal Line Color
extern ENUM_LINE_STYLE SLS                      = STYLE_DOT;                        // Signal Line Style
extern int      SLW                             = 0;                                // MACD Line Width
extern color    Histo_AZ_Color0                 = C'0,0,151';                       // Histogram Above Zero Color Increasing
extern color    Histo_AZ_Color1                 = C'50,41,95';                      // Histogram Above Zero Color Decreasing
extern int      HAZW0                           = 1;                                // Histogram Above Zero Width Increasing
extern int      HAZW1                           = 0;                                // Histogram Above Zero Width Decreasing
extern color    Histo_BZ_Color0                 = C'81,0,0';                        // Histogram Below Zero Color Increasing
extern color    Histo_BZ_Color1                 = C'164,51,51';                     // Histogram Below Zero Color Decreasing
extern int      HBZW0                           = 1;                                // Histogram Below Zero Width Increasing
extern int      HBZW1                           = 0;                                // Histogram Below Zero Width Decreasing
extern color    MLPAC                           = clrLime;                          // Arrow Color MACD Line Peaks
extern int      MLPAW                           = 1;                                // Arrow Width MACD Line Peaks
extern color    MLTAC                           = clrRed;                           // Arrow Color MACD Line Troughs
extern int      MLTAW                           = 1;                                // Arrow Width MACD Line Troughs
extern color    MHPAC                           = clrDodgerBlue;                    // Arrow Color MACD Histogram Peaks
extern int      MHPAW                           = 1;                                // Arrow Width MACD Histogram Peaks
extern color    MHTAC                           = clrDarkOrange;                    // Arrow Color MACD Histogram Troughs
extern int      MHTAW                           = 1;                                // Arrow Width MACD Histogram Troughs
extern color    PPAC                            = clrDodgerBlue;                    // Arrow Color Price Peaks
extern int      PPAW                            = 1;                                // Arrow Width Price Peaks
extern color    PTAC                            = clrDarkOrange;                    // Arrow Color Price Troughs
extern int      PTAW                            = 1;                                // Arrow Width Price Troughs
extern color    CBUDLC                          = C'0,96,0';                        // Classical Bullish Divergence Line Color
extern ENUM_LINE_STYLE CBUDLS                   = STYLE_SOLID;                      // Classical Bullish Divergence Line Style
extern int      CBUDLW                          = 0;                                // Classical Bullish Divergence Line Width
extern color    HBUDLC                          = C'103,137,33';                    // Hidden Bullish Divergence Line Color
extern ENUM_LINE_STYLE HBUDLS                   = STYLE_DOT;                        // Hidden Bullish Divergence Line Style
extern int      HBUDLW                          = 0;                                // Hidden Bullish Divergence Line Width
extern color    CBEDLC                          = C'191,0,0';                       // Classical Bearish Divergence Color
extern ENUM_LINE_STYLE CBEDLS                   = STYLE_SOLID;                      // Classical Bearish Divergence Line Style
extern int      CBEDLW                          = 0;                                // Classical Bearish Divergence Line Width
extern color    HBEDLC                          = C'183,0,183';                     // Hidden Bearish Divergence Color
extern ENUM_LINE_STYLE HBEDLS                   = STYLE_DOT;                        // Hidden Bearish Divergence Line Style
extern int      HBEDLW                          = 0;                                // Hidden Bearish Divergence Line Width

datetime cbeta,cbetb,cbetc,cbetd,cbuta,cbutb,cbutc,cbutd,hbeta,hbetb,hbetc,hbetd,hbuta,hbutb,hbutc,hbutd;
string   Identifier=IndicatorPrefix+"@"+Symbol()+"(M"+IntegerToString(Period(),0)+")"+": ",ptxt,sn,sntxt,ISN;
double   macd[],signal[],macdh[],macdhpi[],macdhpd[],macdhni[],macdhnd[],fastema[],slowema[],macdhzf=3.5,zf,
         macdlp[],macdlt[],macdhp[],macdht[],price[],cpmax,cpmin,pip,w,ddmbxw,mptbxw,extbxw;
int      cheight,iwin=ChartWindowFind(),cwidth,limit,idx0,idx1,idx6,idx7,idx8,idx9,ddmbc,mptbc;
int      m0pidx[],m1pidx[],m2pidx[],m3pidx[],m4pidx[],m5pidx[],ddmbx0,ddmby0,mptbx0,mptby0,
         m0tidx[],m1tidx[],m2tidx[],m3tidx[],m4tidx[],m5tidx[],extbx0,extby0,extbc;
string   CBEDCP0,CBEDCP1,CBEDCP2,CBEDSM0,CBEDSM1,CBEDSM2,CBEDSH0,CBEDSH1,CBEDSH2,
         HBEDCP0,HBEDCP1,HBEDCP2,HBEDSM0,HBEDSM1,HBEDSM2,HBEDSH0,HBEDSH1,HBEDSH2,
         CBUDCP0,CBUDCP1,CBUDCP2,CBUDSM0,CBUDSM1,CBUDSM2,CBUDSH0,CBUDSH1,CBUDSH2,
         HBUDCP0,HBUDCP1,HBUDCP2,HBUDSM0,HBUDSM1,HBUDSM2,HBUDSH0,HBUDSH1,HBUDSH2;
string   cbecapc0,cbecapc1,cbecapc2,cbecapsm0,cbecapsm1,cbecapsm2,cbecapsh0,cbecapsh1,cbecapsh2,
         hbecapc0,hbecapc1,hbecapc2,hbecapsm0,hbecapsm1,hbecapsm2,hbecapsh0,hbecapsh1,hbecapsh2,
         cbucapc0,cbucapc1,cbucapc2,cbucapsm0,cbucapsm1,cbucapsm2,cbucapsh0,cbucapsh1,cbucapsh2,
         hbucapc0,hbucapc1,hbucapc2,hbucapsm0,hbucapsm1,hbucapsm2,hbucapsh0,hbucapsh1,hbucapsh2;
string   cbeiccp,cbeicsm,cbeicsh,cbuiccp,cbuicsm,cbuicsh,hbuiccp,hbuicsm,hbuicsh,hbeiccp,hbeicsm,hbeicsh,
         cbedcp,cbedsm,cbedsh,cbudcp,cbudsm,cbudsh,hbedcp,hbedsm,hbedsh,hbudcp,hbudsm,hbudsh,astxt,dltxt;
double   cbema,cbemb,cbemc,cbemd,cbeha,cbehb,cbehc,cbehd,cbepa,cbepb,cbepc,cbepd,
         hbema,hbemb,hbemc,hbemd,hbeha,hbehb,hbehc,hbehd,hbepa,hbepb,hbepc,hbepd,
         cbuma,cbumb,cbumc,cbumd,cbuha,cbuhb,cbuhc,cbuhd,cbupa,cbupb,cbupc,cbupd,
         hbuma,hbumb,hbumc,hbumd,hbuha,hbuhb,hbuhc,hbuhd,hbupa,hbupb,hbupc,hbupd;
bool     ppeak,lpeak,hpeak,ptrou,ltrou,htrou,SCD=true,SHD=true,AS=true,MP=true,DL=true; static datetime atime;
color    ddmb0c,ddmb1c,ddmb2c,ddmb3c,ddmb4c,ddmb5c,mptb0c,mptb1c,mptb2c,mptb3c,mptb4c,mptb5c,ascol,mpcol,dlcol,
         extb0c,extb1c,extb2c,extb3c,extb4c,extb5c,scdcol,shdcol;
int      AppliedPrice=(int)GlobalVariableGet(IndicatorPrefix+"AP-Flag"),
         DDM=(int)GlobalVariableGet(IndicatorPrefix+"DDM-Flag");

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

  int deinit(){DO();DB();
  return(0);}

   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      [])
   {
      // код доступен только после оплаты
   }

   void DCBUD(){int llimit=0,a=0,b=0,c=0,d=0;LLBU(llimit);
   cbudcp="Classical Bullish Divergence Chart Price @ i(" ; cbuiccp=IndicatorPrefix+"CBUD Chart Price: " ;
   cbudsm="Classical Bullish Divergence Subwin Macd @ i(" ; cbuicsm=IndicatorPrefix+"CBUD SubWin Macd: " ;
   cbudsh="Classical Bullish Divergence Subwin Histo @ i("; cbuicsh=IndicatorPrefix+"CBUD SubWin Histo: ";
   for(int i=0; i<=llimit ;i++){ddmbu(a,b,c,d,i);
   cbuma=macd[a]; cbumb=macd[b]; cbumc=macd[c]; cbumd=macd[d]; cbupa=price[a];cbupb=price[b];cbupc=price[c];cbupd=price[d];
   cbuha=macdh[a];cbuhb=macdh[b];cbuhc=macdh[c];cbuhd=macdh[d];cbuta=Time[a]; cbutb=Time[b]; cbutc=Time[c]; cbutd=Time[d];
   string ia =IntegerToString(a),    ib =IntegerToString(b),    ic =IntegerToString(c),    id =IntegerToString(d);
   string ita=IntegerToString(cbuta),itb=IntegerToString(cbutb),itc=IntegerToString(cbutc),itd=IntegerToString(cbutd);
   CBUDCP0 =cbuiccp +"(2T) "+ita;   CBUDSM0  =cbuicsm+"(2T) "+ita;   CBUDSH0  =cbuicsh+"(2T) "+ita;
   CBUDCP1 =cbuiccp +"(3T) "+itb;   CBUDSM1  =cbuicsm+"(3T) "+itb;   CBUDSH1  =cbuicsh+"(3T) "+itb;
   CBUDCP2 =cbuiccp +"(4T) "+itc;   CBUDSM2  =cbuicsm+"(4T) "+itc;   CBUDSH2  =cbuicsh+"(4T) "+itc;
   cbucapc0=cbudcp  +ia+"-" +ib+")";cbucapsm0=cbudsm + ia+"-"+ib+")";cbucapsh0=cbudsh + ia+"-"+ib+")";
   cbucapc1=cbudcp  +ia+"-" +ic+")";cbucapsm1=cbudsm + ia+"-"+ic+")";cbucapsh1=cbudsh + ia+"-"+ic+")";
   cbucapc2=cbudcp  +ia+"-" +id+")";cbucapsm2=cbudsm + ia+"-"+id+")";cbucapsh2=cbudsh + ia+"-"+id+")";
   bool pab=cbupa<=cbupb, pac=cbupa<=cbupc, pad=cbupa<=cbupd, mab=cbuma>cbumb, mac=cbuma>cbumc, mad=cbuma>cbumd,
        hab=cbuha>cbuhb, hac=cbuha>cbuhc, had=cbuha>cbuhd; for(int e=a;e<=d;e++){
   if((e<=b&&price[e]<price[a])||budf(a,b,0))pab=false;if((e<=c&&price[e]<price[a])||budf(a,c,0))pac=false;
   if((e<=d&&price[e]<price[a])||budf(a,d,0))pad=false;
   if(e<=b&&macd [e]<macd [b])mab=false;if(e<=c&&macd [e]<macd [c])mac=false;if(e<=d&&macd [e]<macd [d])mad=false;
   if(e<=b&&macdh[e]<macdh[b])hab=false;if(e<=c&&macdh[e]<macdh[c])hac=false;if(e<=d&&macdh[e]<macdh[d])had=false;}
   if(DDM==0||DDM==2||DDM==4){if(DL||!DL){if(pab&&mab){CBUDDLCP0();CBUDDLMP0();alt(a,1,i);budf(a,b,2);}
   if(DL){if(pac&&mac){CBUDDLCP1();CBUDDLMP1();alt(a,1,i);budf(a,c,2);}if(pad&&mad){CBUDDLCP2();CBUDDLMP2();alt(a,1,i);budf(a,d,2);}}}}
   if(DDM==1||DDM==3||DDM==5){if(DL||!DL){if(pab&&hab){CBUDDLCP0();CBUDDLHP0();alt(a,1,i);budf(a,b,2);}
   if(DL){if(pac&&hac){CBUDDLCP1();CBUDDLHP1();alt(a,1,i);budf(a,c,2);}if(pad&&had){CBUDDLCP2();CBUDDLHP2();alt(a,1,i);budf(a,d,2);}}}}}}

   void DCBED(){int llimit=0,a=0,b=0,c=0,d=0;LLBE(llimit);
   cbedcp="Classical Bearish Divergence Chart Price @ i(" ; cbeiccp=IndicatorPrefix+"CBED Chart Price: " ;
   cbedsm="Classical Bearish Divergence Subwin Macd @ i(" ; cbeicsm=IndicatorPrefix+"CBED SubWin Macd: " ;
   cbedsh="Classical Bearish Divergence Subwin Histo @ i("; cbeicsh=IndicatorPrefix+"CBED SubWin Histo: ";
   for(int i=0; i<=llimit ;i++){ddmbe(a,b,c,d,i);
   cbe

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

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

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

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

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

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

Стоимость полного кода
5 223,20₽ ≈ $65.08