kubi Divergence
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «kubi_divergence.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
kubi Divergence — пользовательский индикатор для MetaTrader 4, предназначенный для обнаружения классических и скрытых дивергенций между составным техническим индикатором и ценовым движением. В основе расчёта лежит усреднённое значение семи аналитических инструментов: стохастика, Williams %R, Momentum, RSI, CCI, MFI и собственной ULT-осцилляции, нормированной через ATR. Индикатор выявляет локальные экстремумы составной линии и сопоставляет их с экстремумами цены, определяя наличие расхождений.
При обнаружении дивергенции на графике отображаются стрелки, а также рисуются трендовые линии как на ценовом графике, так и в окне индикатора. Визуальные параметры — размер стрелок, цвет и стиль линей — настраиваются пользователем. Доступна фильтрация отображения классических и скрытых дивергенций по отдельности.
Индикатор оснащён гибкой системой уведомлений: всплывающие сообщения, звуковые сигналы, email-оповещения и push-уведомления с возможностью настройки звукового файла. Все параметры индикаторов, отображения и алертов доступны через окно настроек, что позволяет адаптировать поведение под конкретный торговый инструмент и стиль анализа.
Настройки программы
| Настройка | Описание |
|---|---|
| StoPeriod | Период стохастика — Период расчёта стохастика |
| StoSlowing | Сглаживание стохастика — Сглаживание стохастика |
| StoPrice | Цена стохастика — Применяемая цена для расчёта стохастика |
| WprPeriod | Период Williams %R — Период расчёта Williams %R |
| MomPeriod | Период Momentum — Период расчёта индикатора Momentum |
| MomPrice | Цена Momentum — Применяемая цена для расчёта Momentum |
| MomModifier | Модификатор Momentum — Модификатор, добавляемый к значению Momentum |
| RsiPeriod | Период RSI — Период расчёта индикатора RSI |
| RsiPrice | Цена RSI — Применяемая цена для расчёта RSI |
| CciPeriod | Период CCI — Период расчёта индикатора CCI |
| CciPrice | Цена CCI — Применяемая цена для расчёта CCI |
| UltFast | Период ATR (быстрый) — Период ATR для быстрой линии ULT |
| UltMiddle | Период ATR (средний) — Период ATR для средней линии ULT |
| UltSlow | Период ATR (медленный) — Период ATR для медленной линии ULT |
| UltFastK | Коэффициент (быстрый) — Весовой коэффициент быстрой линии ULT |
| UltMiddleK | Коэффициент (средний) — Весовой коэффициент средней линии ULT |
| UltSlowK | Коэффициент (медленный) — Весовой коэффициент медленной линии ULT |
| MfiPeriod | Период MFI — Период расчёта индикатора MFI |
| arrowSize | Размер стрелок — Размер стрелок для отображения дивергенций |
| drawDivergences | Рисовать дивергенции — Отображение стрелок дивергенций на графике |
| ShowClassicalDivergence | Показывать классические дивергенции — Отображение классических дивергенций |
| ShowHiddenDivergence | Показывать скрытые дивергенции — Отображение скрытых дивергенций |
| drawIndicatorTrendLines | Трендовые линии индикатора — Отображение трендовых линий в окне индикатора |
| drawPriceTrendLines | Трендовые линии цены — Отображение трендовых линий на ценовом графике |
| drawLinesIdentificator | Идентификатор линий — Идентификатор для именования графических объектов линий |
| arrowsDisplacement | Смещение стрелок — Смещение стрелок от значения индикатора |
| divergenceAlert | Уведомления о дивергенциях — Включение/выключение уведомлений о дивергенциях |
| divergenceAlertsMessage | Всплывающее сообщение — Всплывающее сообщение при дивергенции |
| divergenceAlertsSound | Звуковой сигнал — Звуковой сигнал при дивергенции |
| divergenceAlertsEmail | Email-оповещение — Отправка email-оповещения при дивергенции |
| divergenceAlertsNotify | Push-уведомление — Push-уведомление при дивергенции |
| divergenceAlertsSoundName | Звуковой файл — Имя звукового файла для оповещения |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 LimeGreen
#property indicator_color2 Red
#property indicator_color3 Orange
#property indicator_width1 2
#property indicator_level1 0
#property indicator_level2 20
#property indicator_level3 80
extern int StoPeriod = 14;
extern int StoSlowing = 6;
extern int StoPrice = 0;
extern int WprPeriod = 14;
extern int MomPeriod = 14;
extern int MomPrice = PRICE_CLOSE;
extern double MomModifier = 0;
extern int RsiPeriod = 14;
extern int RsiPrice = PRICE_CLOSE;
extern int CciPeriod = 14;
extern int CciPrice = PRICE_TYPICAL;
extern int UltFast = 7;
extern int UltMiddle = 14;
extern int UltSlow = 28;
extern int UltFastK = 4;
extern int UltMiddleK = 2;
extern int UltSlowK = 1;
extern int MfiPeriod = 14;
extern int arrowSize = 0;
extern bool drawDivergences = true;
extern bool ShowClassicalDivergence = true;
extern bool ShowHiddenDivergence = true;
extern bool drawIndicatorTrendLines = true;
extern bool drawPriceTrendLines = true;
extern string drawLinesIdentificator = "kubidiverge1";
extern double arrowsDisplacement = 3.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";
double value[];
double temp[];
double bullishDivergence[];
double bearishDivergence[];
string indicatorName;
string labelNames;
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)
{
shift++;
bullishDivergence[shift] = EMPTY_VALUE;
ObjectDelete(labelNames+"l"+DoubleToStr(Time[shift],0));
ObjectDelete(labelNames+"l"+"os" + DoubleToStr(Time[shift],0));
if(!IsIndicatorLow(shift)) return;
int currentLow = shift;
int lastLow = GetIndicatorLastLow(shift+1);
if (value[currentLow] > value[lastLow] && Low[currentLow] < Low[lastLow])
{
if (ShowClassicalDivergence)
{
bullishDivergence[currentLow] = value[currentLow] - arrowsDisplacement;
if (drawPriceTrendLines) DrawPriceTrendLine("l",Time[currentLow],Time[lastLow],Low[currentLow],Low[lastLow],Green,STYLE_SOLID);
if (drawIndicatorTrendLines)DrawIПоказано первые 50% кода (символов: 7382)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.