dz_rsioma_-_oma_pre-filtered_nmc_2.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «dz_rsioma_-_oma_pre-filtered_nmc_2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 5, рассчитывающий аналитическую линию на основе нескольких методов RSI (RSI, Wilders RSI, RSX, Cuttler RSI) с последующим сглаживанием оптимальной скользящей средней (OMA). Результирующая линия анализируется через внешнюю библиотеку dynamicZone.dll для определения зон вероятности покупки и продажи, а также через пользовательскую скользящую среду. Индикатор отображает три буфера динамических зон, линию RSI, её сглаженную версию и среднюю линию в отдельном окне.
Поддерживается анализ на различных таймфреймах с возможностью интерполяции значений между барами. Индикатор рисует стрелки трендовых изменений и отправляет пользовательские уведомления (всплывающие сообщения, звуковые сигналы, email) при пересечении средней линии или изменении направления наклона. Внешняя DLL обеспечивает расчёт вероятностных зон на основе заданных параметров и количества анализируемых баров.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм, на котором выполняется расчёт индикатора |
| RsiMethod | Метод расчёта индекса относительной силы: 0 — RSI, 1 — Wilders RSI, 2 — RSX, 3 — Cuttler RSI |
| RsiOma_Period | Период оптимальной скользящей средней, применяемой к ценовым данным перед расчётом RSI |
| RsiOma_Price | Тип цены, используемой для расчёта оптимальной скользящей средней перед RSI |
| RsiOma_PriceShift | Сдвиг цены при расчёте оптимальной скользящей средней перед RSI |
| Oma_Speed | Константа скорости сглаживания оптимальной скользящей средней |
| Oma_Adaptive | Включает адаптивный расчёт периода оптимальной скользящей средней в зависимости от волатильности цены |
| MaPeriod | Период скользящей средней, рассчитываемой по линии RSI |
| MaType | Тип скользящей средней, применяемой к линии RSI |
| DzLookBackBars | Количество баров, используемых для расчёта динамических зон |
| DzBuyProbability | Вероятностный порог для расчёта зоны покупки через динамическую зону |
| DzSellProbability | Вероятностностный порог для расчёта зоны продажи через динамическую зону |
| arrowsVisible | Включает или отключает отображение стрелок трендовых изменений на графике |
| arrowsIdentifier | Идентификатор объектов стрелок на графике для их удаления и управления |
| arrowsUpColor | Цвет стрелок, указывающих на восходящее изменение тренда |
| arrowsDnColor | Цвет стрелок, указывающих на нисходящее изменение тренда |
| arrowsUpperGap | Отступ стрелок вверх от цены в единицах ATR |
| arrowsLowerGap | Отступ стрелок вниз от цены в единицах ATR |
| alertsOn | Главный переключатель, включающий или отключающий все уведомления индикатора |
| alertsOnMaCross | Включает уведомления при пересечении ценой средней линии RSI |
| alertsOnSlopeChange | Включает уведомления при изменении направления наклона линии RSI |
| alertsOnCurrent | Определяет, на каком баре проверять события: на текущем или на предыдущем |
| alertsMessage | Включает или отключает всплывающие сообщения при срабатывании событий |
| alertsSound | Включает или отключает звуковые уведомления при срабатывании событий |
| alertsEmail | Включает или отключает отправку email-уведомлений при срабатывании событий |
| soundfile | Имя звукового файла, воспроизводимого при срабатывании звуковых уведомлений |
| Interpolate | Включает или отключает интерполяцию значений между барами на разных таймфреймах |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1 LimeGreen
#property indicator_color2 DarkGray
#property indicator_color3 Red
#property indicator_color4 LimeGreen
#property indicator_color5 Red
#property indicator_color6 Red
#property indicator_color7 Gold
#property indicator_width4 2
#property indicator_width5 2
#property indicator_width6 2
#property indicator_style1 STYLE_DOT
#property indicator_style2 STYLE_DOT
#property indicator_style3 STYLE_DOT
#property indicator_style7 STYLE_DOT
#property indicator_levelcolor MediumOrchid
#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 string TimeFrame = "Current time frame";
extern int RsiMethod = 2;
extern int RsiOma_Period = 14;
extern int RsiOma_Price = 0;
extern int RsiOma_PriceShift = 0;
extern double Oma_Speed = 3;
extern bool Oma_Adaptive = true;
extern int MaPeriod = 10;
extern int MaType = MODE_LWMA;
extern int DzLookBackBars = 35;
extern double DzBuyProbability = 0.20;
extern double DzSellProbability = 0.20;
extern bool arrowsVisible = false;
extern string arrowsIdentifier = "RsiomaArrows1";
extern color arrowsUpColor = DeepSkyBlue;
extern color arrowsDnColor = Red;
extern double arrowsUpperGap = 0.75;
extern double arrowsLowerGap = 0.75;
extern string note = "turn on Alert = true; turn off = false";
extern bool alertsOn = false;
extern bool alertsOnMaCross = true;
extern bool alertsOnSlopeChange = true;
extern bool alertsOnCurrent = true;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsEmail = false;
extern string soundfile = "alert2.wav";
extern bool Interpolate = true;
double rsi[];
double rsida[];
double rsidb[];
double ma[];
double dzu[];
double dzm[];
double dzd[];
double slope[];
string indicatorFileName;
int timeFrame;
bool returnBars;
bool calculateValue;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
string lookFor = arrowsIdentifier+":";
int lookForLength = StringLen(lookFor);
for (int i=ObjectsTotal()-1; i>=0; i--)
{
string objectName = ObjectName(i);
if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
}
return(0);
}
double trend[];
int start()
{
// код доступен только после оплаты
}
void manageArrow(int i)
{
if (arrowsVisible )
{
string lookFor = arrowsIdentifier+":"+Time[i]; ObjectDelete(lookFor);
if (trend[Bars-i-1]!=trend[Bars-i-2])
{
if (trend[Bars-i-1] == 1) drawArrow(i,arrowsUpColor,241,false);
if (trend[Bars-i-1] ==-1) drawArrow(i,arrowsDnColor,242,true);
}
}
}
void drawArrow(int i,color theColor,int theCode,bool up)
{
string name = arrowsIdentifier+":"+Time[i];
double gap = iATR(NULL,0,20,i);
ObjectCreate(name,OBJ_ARROW,0,Time[i],0);
ObjectSet(name,OBJPROP_ARROWCODE,theCode);
ObjectSet(name,OBJPROP_COLOR,theColorПоказано первые 50% кода (символов: 13691)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.