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