#Ultimate MACD Divergence
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «#ultimate macd divergence.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.