laguerre_rsi_variation_2_alerts.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «laguerre_rsi_variation_2_alerts.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает вариацию Laguerre RSI: применяет сглаживание Лагера к выбранной цене через четыре уровня (L0–L3), затем суммирует приросты и потери за заданный период для формирования нормализованного значения в диапазоне 0–1. Результат может дополнительно сглаживаться взвешенной формой. Выводятся три буфера: основная линия индикатора и два буфера для отрисовки точек при изменении наклона.
Встроенная система уведомлений срабатывает при смене направления наклона индикатора (с роста на падение или наоборот). Алерты могут отправляться через текстовые окна, звуковые файлы, push-уведомления или электронную почту. Доступна настройка срабатывания на текущем или предыдущем баре, а также выбор звукового файла.
Настройки программы
| Настройка | Описание |
|---|---|
| LaguerreGamma | Коэффициент сглаживания Лагера, определяющий скорость реакции индикатора на изменение цен. |
| LaguerrePrice | Тип цены, используемый для расчёта: Close, Open, High, Low, Median, Typical или Weighted. |
| RSIDataLevel | Уровень данных Лагера (0, 1 или 2), определяющий, какую разницу между уровнями использовать для расчёта. |
| RSIPeriod | Количество баров, используемых для суммирования приростов и потерь при расчёте индикатора. |
| Smooth | Включает или отключает дополнительное сглаживание выходного значения индикатора. |
| alertsOn | Включает или отключает все типы уведомлений индикатора. |
| alertsOnCurrent | Определяет, генерировать ли алерт на текущем незакрытом баре или на предыдущем закрытом баре. |
| alertsMessage | Отображает текстовое окно с уведомлением при срабатывании события. |
| alertsSound | Воспроизводит звуковой файл при срабатывании уведомления. |
| alertsNotify | Отправляет push-уведомление на мобильное устройство MetaTrader при срабатывании события. |
| alertsEmail | Разрешает отправку электронного письма при срабатывании уведомления. |
| soundFile | Путь к звуковому файлу, который воспроизводится при включённых звуковых уведомлениях. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 LimeGreen
#property indicator_color2 Orange
#property indicator_color3 Orange
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
enum prices
{
pr_close, // Close
pr_open, // Open
pr_high, // High
pr_low, // Low
pr_median, // Median
pr_typical, // Typical
pr_weighted // Weighted
};
extern double LaguerreGamma = 0.7;
extern prices LaguerrePrice = pr_close;
extern int RSIDataLevel = 0;
extern int RSIPeriod = 8;
extern bool Smooth = true;
extern bool alertsOn = true;
extern bool alertsOnCurrent = false;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsNotify = false;
extern bool alertsEmail = false;
extern string soundFile = "alert2.wav";
double RSI[];
double RSIda[];
double RSIdb[];
double L0[];
double L1[];
double L2[];
double L3[];
double LR[];
double slope[];
int init()
{
// код доступен только после оплаты
}
int deinit() { return(0); }
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
int i,limit;
if (counted_bars<0) return(-1);
if (counted_bars>0) counted_bars--;
limit = MathMin(Bars-counted_bars,Bars-1);
if (slope[limit] == -1) ClearPoint(limit,RSIda,RSIdb);
for (i=limit; i>=0; i--)
{
double Price=iMA(NULL,0,1,0,MODE_SMA,(int)LaguerrePrice,i);
L0[i] = (1.0 - LaguerreGamma)*Price + LaguerreGamma*L0[i+1];
L1[i] = -LaguerreGamma*L0[i] + L0[i+1] + LaguerreGamma*L1[i+1];
L2[i] = -LaguerreGamma*L1[i] + L1[i+1] + LaguerreGamma*L2[i+1];
L3[i] = -LaguerreGamma*L2[i] + L2[i+1] + LaguerreGamma*L3[i+1];
double cu = 0;
double cd = 0;
for (int k=0; k<RSIPeriod; k++)
{
double diff;
switch (RSIDataLevel)
Показано первые 50% кода (символов: 3518)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.