dz_laguerre_rsi_with_laguerre_filter_2.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «dz_laguerre_rsi_with_laguerre_filter_2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 5, отображаемый в отдельном окне. Он рассчитывает осциллятор на основе фильтра Лагерра и сглаженного RSI, а также дополнительный фильтр Лагерра. Дополнительно индикатор обращается к внешней библиотеке dynamicZone.dll для расчёта зон вероятностного входа и выхода, которые отображаются на графике. Индикатор не является торговым советником и не выполняет торговых операций.
Настройки программы
| Настройка | Описание |
|---|---|
| RsiGamma | Параметр гамма для расчёта осциллятора Лагерра RSI. Влияет на степень сглаживания ценовых значений. |
| RsiPrice | Индекс цены, используемой для расчёта RSI. 0 — цена закрытия, 1 — открытия, 2 — максимум, 3 — минимум и т.д. |
| RsiSmoothGamma | Параметр гамма для дополнительного сглаживания значений RSI. |
| RsiSmoothSpeed | Скорость сглаживания RSI. Определяет выбор весовых коэффициентов при сглаживании. |
| FilterGamma | Параметр гамма для фильтра Лагерра, применяемого к значениям осциллятора. Влияет на степень сглаживания. |
| FilterSpeed | Скорость сглаживания фильтра Лагерра. Определяет выбор весовых коэффициентов при сглаживании. |
| DzLookBackBars | Количество баров истории, используемых при расчёте вероятностных зон внешней библиотекой dynamicZone.dll. |
| DzBuyProbability | Порог вероятности для зоны покупки, передаваемый во внешнюю библиотеку dynamicZone.dll для расчёта сигнальной линии. |
| DzSellProbability | Порог вероятности для зоны продажи, передаваемый во внешнюю библиотеку dynamicZone.dll для расчёта сигнальной линии. |
| NoTradeZoneBuy | Порог вероятности для зоны отсутствия торговли при покупке, передаваемый во внешнюю библиотеку dynamicZone.dll. |
| NoTradeZoneSell | Порог вероятности для зоны отсутствия торговли при продаже, передаваемый во внешнюю библиотеку dynamicZone.dll. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Green
#property indicator_color2 Green
#property indicator_color3 Red
#property indicator_color4 Red
#property indicator_color5 HotPink
#property indicator_color6 Gold
#property indicator_style6 STYLE_DASHDOTDOT
#property indicator_style1 STYLE_DOT
#property indicator_style2 STYLE_DOT
#property indicator_style3 STYLE_DOT
#property indicator_style4 STYLE_DOT
#property indicator_width5 2
#import "dynamicZone.dll"
double dzBuy(double& sourceArray[],double probabiltyValue, int lookBack, int bars, int i );
double dzSell(double& sourceArray[],double probabiltyValue, int lookBack, int bars, int i );
#import
extern double RsiGamma = 0.50;
extern int RsiPrice = 0;
extern double RsiSmoothGamma = 0.001;
extern int RsiSmoothSpeed = 2.0;
extern double FilterGamma = 0.60;
extern int FilterSpeed = 2.0;
extern int DzLookBackBars = 35;
extern double DzBuyProbability = 0.10;
extern double DzSellProbability = 0.10;
extern double NoTradeZoneBuy = 0.35;
extern double NoTradeZoneSell = 0.35;
double lag[];
double fil[];
double sz[];
double bz[];
double sz2[];
double bz2[];
string shortName;
int init()
{
// код доступен только после оплаты
}
int deinit() { return(0); }
int start()
{
// код доступен только после оплаты
}
double workLagRsi[][15];
double LaGuerreRsi(double price, double gamma, double smooth, double smoothSpeed, int i, int instanceNo=0)
{
if (ArrayRange(workLagRsi,0)!=Bars) ArrayResize(workLagRsi,Bars); int r = i; i=Bars-i-1; instanceNo*=5;
workLagRsi[i][instanceNo+0] = (1.0 - gamma)*price + gamma*workLagRsi[i-1][instanceNo+0];
workLagRsi[i][instanceNo+1] = -gamma*workLagRsi[i][instanceNo+0] + workLagRsi[i-1][instanceNo+0] + gamma*workLagRsi[i-1][instanceNo+1];
workLagRsi[i][instanceNo+2Показано первые 50% кода (символов: 4785)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.