Pj-over RSI
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «pj-over_rsi_mtf_alerts.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «Pj-over RSI» рассчитывает значение RSI на выбранном временном интервале и отображает четыре гистограммы в отдельном окне, разделяя зоны перекупленности и перепроданности, а также направления тренда. При пересечении RSI определённых порогов относительно уровней перекупленности и перепроданности индикатор строит соответствующие бары в буферах UpBuffer1, DnBuffer1, UpBuffer2 и DnBuffer2.
Продукт поддерживает систему уведомлений с несколькими типами оповещений: всплывающие сообщения на графике, звуковые сигналы, push-уведомления и электронная почта. Уведомления срабатывают при изменении направления тренда на указанном баре, при этом дублирование оповещений предотвращается отслеживанием предыдущих событий.
Настройки включают период RSI, уровни перекупленности и перепроданности, а также индивидуальные переключатели для каждого типа уведомлений. Индикатор работает как отдельное окно с четырьмя цветными гистограммами и поддерживает выбор временного интервала из стандартных таймфреймов MetaTrader 5.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Временной интервал, на котором рассчитывается индикатор RSI. Поддерживается выбор стандартных таймфреймов (M1–MN) или текущего таймфрейма. |
| PeriodeRSI | Период расчёта индикатора RSI (количество баров для усреднения). |
| OverboughtLevel | Уровень перекупленности RSI, выше которого отображается зона сильных быков. |
| OversoldLevel | Уровень перепроданности RSI, ниже которого отображается зона сильных медведей. |
| alertsOn | Главный переключатель включения/выключения всех уведомлений. |
| alertsOnCurrent | Переключатель проверки текущего бара (true) или предыдущего бара (false) для срабатывания уведомлений. |
| alertsMessage | Включает отображение всплывающих сообщений на графике при срабатывании событий. |
| alertsSound | Включает воспроизведение звукового файла при срабатывании событий. |
| alertsNotify | Включает отправку push-уведомлений на мобильное устройство. |
| alertsEmail | Включает отправку электронных писем при срабатывании событий. |
| soundFile | Путь к звуковому файлу, который воспроизводится при включённом звуковом уведомлении. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 MediumBlue
#property indicator_color2 Crimson
#property indicator_color3 SkyBlue
#property indicator_color4 Orange
#property indicator_width1 4
#property indicator_width2 4
#property indicator_width3 4
#property indicator_width4 4
#property indicator_minimum 0
#property indicator_maximum 1
extern string TimeFrame = "current time frame";
extern int PeriodeRSI = 17;
extern int OverboughtLevel = 70;
extern int OversoldLevel = 30;
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 UpBuffer1[];
double DnBuffer1[];
double UpBuffer2[];
double DnBuffer2[];
double trend1[];
double trend2[];
int timeFrame;
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=MathMax(Bars-counted_bars,3*timeFrame/Period());
for(int i=limit; i>=0; i--)
{
int y = iBarShift(NULL,timeFrame,Time[i]);
double RSI0 = iRSI(NULL,timeFrame,PeriodeRSI,PRICE_CLOSE,y);
if (RSI0>(OverboughtLevel+OversoldLevel)/2 && RSI0<OverboughtLevel) trend1[i] = 1;
if (RSI0>=OverboughtLevel) trend2[i] = 1;
if (RSI0<=(OverboughtLevel+OversoldLevel)/2 && RSI0>OversoldLevel) trend1[i] =-1;
if (RSI0<OversoldLevel) trend2[i] =-1;
UpBuffer1[i] = EMPTY_VALUE;
UpBuffer2[i] = EMPTY_VALUE;
DnBuffer1[i] = EMPTY_VALUE;
DnBuffer2[i] = EMPTY_VALUE;
if (trend1[i] == 1) UpBuffer2[i] = 1;
if (trend2[i] == Показано первые 50% кода (символов: 3897)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.