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

stochastic divergence_mtfalerts.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, написанный на языке MQL4. Он рассчитывает значения индикатора Стохастик и отображает его в отдельном окне с основными уровнями 80 и 20.

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

Продукт оснащён гибкой системой уведомлений, поддерживающей всплывающие сообщения, звуковые сигналы, email-рассылки и push-уведомления. Дополнительно отслеживает смену направления тренда стохастика и может отправлять соответствующие алерты при изменении тренда.

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

НастройкаОписание
TimeFrame Таймфрейм — Таймфрейм для расчёта индикатора (текстовое указание)
StoKPeriod Период основной линии — Период расчёта основной линии стохастика
StoDPeriod Период сигнальной линии — Период расчёта сигнальной линии стохастика
StoSlowing Замедление стохастика — Замедление (сглаживание) стохастика
StoPrice Тип цены для расчёта — Цена, используемая для расчёта стохастика (0 — Close, 1 — Low, 2 — High)
SignalMode Режим сигнальной линии — Указывает метод сигнальной линии стохастика (например, SMA)
arrowSize Размер стрелок — Размер стрелок, отображаемых при дивергенциях
drawDivergences Отображать дивергенции — Включает отображение стрелок и линий дивергенций на графике
ShowClassicalDivergence Показывать классические дивергенции — Включает отображение классических бычьих и медвежьих дивергенций
ShowHiddenDivergence Показывать скрытые дивергенции — Включает отображение скрытых бычьих и медвежьих дивергенций
drawIndicatorTrendLines Трендовые линии индикатора — Включает отрисовку трендовых линий в окне индикатора
drawPriceTrendLines Трендовые линии цены — Включает отрисовку трендовых линий на графике цены
drawLinesIdentificator Идентификатор линий — Префикс идентификатора для именования графических объектов линий
arrowsDisplacement Смещение стрелок — Смещение стрелок дивергенции относительно значения стохастика
divergenceAlert Алерт при дивергенции — Включает отправку алертов при обнаружении дивергенции
divergenceAlertsMessage Всплывающие сообщения при дивергенции — Включает всплывающие сообщения при обнаружении дивергенции
divergenceAlertsSound Звуковой сигнал при дивергенции — Включает звуковой сигнал при обнаружении дивергенции
divergenceAlertsEmail Email-уведомления при дивергенции — Включает отправку email-уведомлений при дивергенции
divergenceAlertsNotify Push-уведомления при дивергенции — Включает push-уведомления при обнаружении дивергенции
divergenceAlertsSoundName Звуковой файл дивергенции — Имя звукового файла для уведомлений о дивергенции
alertsOn Алерты по тренду включены — Включает общую систему алертов по смене тренда
alertsOnCurrent Алерты на текущем баре — Определяет, отслеживать ли алерты на текущем баре или на предыдущем
alertsMessage Всплывающие сообщения о тренде — Включает всплывающие сообщения при смене тренда стохастика
alertsSound Звуковой сигнал о тренде — Включает звуковой сигнал при смене тренда стохастика
alertsNotify Push-уведомления о тренде — Включает push-уведомления при смене тренда стохастика
alertsEmail Email-уведомления о тренде — Включает отправку email-уведомлений при смене тренда стохастика
soundFile Звуковой файл тренда — Имя звукового файла для алертов смены тренда
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1  Aqua
#property indicator_color2  Magenta
#property indicator_color3	 LightSeaGreen
#property indicator_color4	 Red
#property indicator_level1	 80
#property indicator_level2	 20
#property indicator_maximum 100
#property indicator_minimum 0

extern string TimeFrame                 = "Current time frame";
extern int    StoKPeriod                = 14;
extern int    StoDPeriod                = 3;
extern int    StoSlowing                = 3;
extern int    StoPrice                  = 0;
extern int    SignalMode                = MODE_SMA;
extern int    arrowSize                 = 1; 
extern bool   drawDivergences           = true;
extern bool   ShowClassicalDivergence   = true;
extern bool   ShowHiddenDivergence      = true;
extern bool   drawIndicatorTrendLines   = true;
extern bool   drawPriceTrendLines       = true;
extern string drawLinesIdentificator    = "momdiverge1";
extern double arrowsDisplacement        = 1.0;
extern bool   divergenceAlert           = true;
extern bool   divergenceAlertsMessage   = true;
extern bool   divergenceAlertsSound     = true;
extern bool   divergenceAlertsEmail     = false;
extern bool   divergenceAlertsNotify    = false;
extern string divergenceAlertsSoundName = "alert1.wav";

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"; 

double bullishDivergence[];
double bearishDivergence[];
double top[];
double bot[];
double sto[];
double sig[];
double trend[];

string indicatorName;
string labelNames;

string indicatorFileName;
bool   calculateValue;
bool   returnBars;
int    timeFrame;

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

int deinit()
{
   int length=StringLen(labelNames);
   for(int i=ObjectsTotal()-1; i>=0; i--)
   {
      string name = ObjectName(i);
      if(StringSubstr(name,0,length) == labelNames)  ObjectDelete(name);   
   }
   return(0);
}

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

void CatchBullishDivergence(int shift)
{

   bullishDivergence[shift] = EMPTY_VALUE;
   ObjectDelete(labelNames+"l"+DoubleToStr(Time[shift],0));
   ObjectDelete(labelNames+"l"+"os" + DoubleToStr(Time[shift],0));  
   bot[shift]=0;          
   if(!IsIndicatorLow(shift)) return;  
   bot[shift]=1;      

   int currentLow = shift;
   int lastLow    = GetIndicatorLastLow(shift+1);
   if (sto[currentLow] > sto[lastLow] && Low[currentLow] < Low[lastLow])
   {
     if (ShowClassicalDivergence)
     {
        bullishDivergence[currentLow] = sto[currentLow] - arrowsDisplacement;
        if (drawPriceTrendLines)    DrawPriceTrendLine("l",Time[currentLow],Time[lastLow],Low[currentLow],Low[lastLow],Green,STYLE_SOLID);
        if (drawIndicatorTrendLines)DrawIndicatorTrendLine("l",Time[currentLow],Time[lastLow],sto[currentLow],sto[lastLow],Green,STYLE_SOLID);
        if (divergenceAlert)        DisplayAlert("Classical bullish divergence",currentLow);  
     }

   }

   if (sto[currentLow] < sto[lastLow] && Low[currentLow] > Low[lastLow])
   {
     if (ShowHiddenDivergence)
     {
        bullishDivergence[currentLow] = sto[currentLow] - arrowsDisplacement;
        if (drawPriceTrendLines)     DrawPriceTrendLine("l",Time[currentLow],Time[lastLow],Low[currentLow],Low[lastLow],Green, STYLE_DOT);
        if (drawIndicatorTrendLines) DrawIndicatorTrendLine("l",Time[currentLow],Time[lastLow],sto[currentLow], sto[la

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

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

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

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

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

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

Стоимость полного кода
796₽ ≈ $9.73