Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 13258
- Рейтинг:
- Опубликован:
- 2020.02.13 18:23
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
ИНДИКАТОР ДИВЕРГЕНЦИЙ - РАССМАТРИВАЮТСЯ АНАЛИЗОМ РАСХОЖДЕНИЙ ФРАКТАЛОВ (НЕ БЛИЖЕ 5 БАРОВ) И ИНДИКАТОРА RSI В "ПОДВАЛЕ" БЕРЕТСЯ 5 ФРАКТАЛОВ ПОСЛЕ СТАРТОВОГО И РАССМАТРИВАЕТСЯ ДИВЕРГЕНЦИЯ ЗНАЧЕНИЙ ЦЕНЫ КАЖДОГО ИЗ 5-Х ФРАКТАЛОВ СО СТАРТОВЫМ И СООТВЕТСТВУЮЩИХ ЗНАЧЕНИЙ ИНДИКАТОРОВ ПРИ "СООСНОСТИ" ЭКСТРЕМУМОВ.
Пять фракталов взято, чтобы исключить пропуск паттерна дивергенция, бывают случаи что на первом, втором - его нет, на последующих - в
наличии. Также, в ходе анализа статистической информации было выявлено, что не всегда при наличии дивергенции, как говорят бар в бар, а
именно в его номер совпадают значения фракталов и точек перегиба индикатора RSI, поэтому для исключения ошибки выявления этого паттерна
дивергенции взято возможное "отклонение" точки перегиба индикатора RSI - в "подвале" от значения фрактала на графике цены.
Интерпретация показаний возможна следующая - входа в направлении стрелки (-ок). Закрытие позиций при смене направления отображаемых стрелок.
рис.1
Также информация о наличии/отсутствии дивергенции отображается во вкладке "Эксперты" меню "Терминал".
рис.2
Понятия и определения внешних переменных соответствуют названию:
//--- input parameters input int RSIPeriod = 14; // ПЕРИОД RSI
Тестировать можно на любых таймфреймах, возможно доукомплектование иными индикаторами для определения точек входа по их совместным однонаправленным показаниям.
использование в экспертах
double Buf_0[],Buf_1[]; // Объявление массивов (под буферы индикатора) В СЕЛЛ (ВВЕРХУ) - UP-FRATALS //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double Buf_2[],Buf_3[]; // Объявление массивов (под буферы индикатора) В БАЙ (ВНИЗУ) - DW-FRATALS double Buf_4[],Buf_5[]; // Назначение массива ДИВЕРГЕНЦИЙ
буферы
Buf_0[]
и
Buf_2[]
содержат значения стрелок. Пример, входа в покупку
RSI0=iCustom(Symbol(),0,"I Divergence RSI",RSIPeriod,0,1); // заполнен буфер в селл RSI2=iCustom(Symbol(),0,"I Divergence RSI",RSIPeriod,2,1); // заполнен буфер в бай if (RSI2 > 0) { Close_All_tip (OP_SELL); if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); if (stoploss!=0) SL = NormalizeDouble(Bid - stoploss* Point,Digits); if (OrderSend(Symbol(),OP_BUY, Lots,NormalizeDouble(Ask,Digits),slippage,SL,TP," EA RSI div ",Magic,0,clrBlue)==-1) Print(" ошибка ОТКРЫТИЯ бай, Error = ", GetLastError()); }
Подходит для любых инструментов и таймфреймов, движения которых отрабатывают паттерн дивергенции.
не забудьте откомпилировать

Быстрый просмотр графиков

Движение цены всех младших ТФ внутри свечи одного или нескольких старших ТФ.

Если на выбранном таймфрейме, hi или low последнего бара, равно hi или low другого бара в анализируемом периоде, то индикатор сигнализирует об этом.

Отображение старшего таймфрейма, произвольной размерности и смещения