dz_rsioma_-_oma_pre-filtered_nmc.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «dz_rsioma_-_oma_pre-filtered_nmc.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, написанный на языке MQL4. Индикатор рассчитывает аналитические значения на основе модифицированного RSI с применением сглаживания OMA и отображает результаты в отдельном окне графика.
Индикатор поддерживает несколько методов расчёта RSI, а также позволяет задать период и тип скользящей средней для анализа. Для определения зон вероятности покупок и продаж используется внешняя библиотека dynamicZone.dll, принимающая параметры вероятности и глубину анализа.
Продукт включает визуальные элементы в виде стрелок, отображающих изменение тренда, а также систему уведомлений с поддержкой звуковых, текстовых и email-оповещений при наступлении заданных условий. Доступна работа на разных таймфреймах с возможностью интерполяции данных.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Таймфрейм для расчёта индикатора |
| RsiMethod | Метод RSI — Метод расчёта RSI (выбор из доступных вариантов) |
| RsiOma_Period | Период OMA — Период расчёта OMA для сглаживания RSI |
| RsiOma_Price | Цена OMA — Ценовой тип, используемый для расчёта OMA |
| RsiOma_PriceShift | Сдвиг цены OMA — Сдвиг цены при расчёте OMA |
| Oma_Speed | Скорость OMA — Скорость сглаживания OMA |
| Oma_Adaptive | Адаптивный режим OMA — Включает или отключает адаптивный режим расчёта OMA |
| MaPeriod | Период скользящей средней — Период скользящей средней, применяемой к данным RSI |
| MaType | Тип скользящей средней — Тип скользящей средней |
| DzLookBackBars | Глубина анализа зон — Количество баров для анализа глубины зон вероятности |
| DzBuyProbability | Вероятность покупки — Параметр вероятности для определения зон покупок |
| DzSellProbability | Вероятность продаж — Параметр вероятности для определения зон продаж |
| arrowsVisible | Отображение стрелок — Включает или отключает отображение стрелок на графике |
| arrowsIdentifier | Идентификатор стрелок — Идентификатор объектов стрелок на графике |
| arrowsUpColor | Цвет стрелок вверх — Цвет стрелок, указывающих восходящее движение |
| arrowsDnColor | Цвет стрелок вниз — Цвет стрелок, указывающих нисходящее движение |
| arrowsUpperGap | Отступ стрелок вверх — Отступ стрелок вверх от цены |
| arrowsLowerGap | Отступ стрелок вниз — Отступ стрелок вниз от цены |
| alertsOn | Включить уведомления — Главный переключатель системы уведомлений |
| alertsOnMaCross | Уведомления при пересечении СС — Включает или отключает уведомления при пересечении скользящей средней |
| alertsOnSlopeChange | Уведомления при изменении наклона — Включает или отключает уведомления при изменении направления наклона |
| alertsOnCurrent | Проверка на текущем баре — Определяет, на каком баре проверять условия для уведомлений |
| alertsMessage | Текстовые уведомления — Включает или отключает всплывающие текстовые уведомления |
| alertsSound | Звуковые уведомления — Включает или отключает звуковые уведомления |
| alertsEmail | Email-уведомления — Включает или отключает отправку email-уведомлений |
| soundfile | Звуковой файл — Имя звукового файла для уведомлений |
| Interpolate | Интерполяция — Включает или отключает интерполяцию значений между барами |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 LimeGreen
#property indicator_color2 Red
#property indicator_color3 LimeGreen
#property indicator_color4 Red
#property indicator_color5 Red
#property indicator_color6 Gold
#property indicator_width3 2
#property indicator_width4 2
#property indicator_width5 2
#property indicator_style1 STYLE_DOT
#property indicator_style2 STYLE_DOT
#property indicator_style6 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 dzd[];
double trend[];
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);
}
int start()
{
// код доступен только после оплаты
}
void manageArrow(int i)
{
if (arrowsVisible )
{
string lookFor = arrowsIdentifier+":"+Time[i]; ObjectDelete(lookFor);
if (trend[i]!=trend[i+1])
{
if (trend[i] == 1) drawArrow(i,arrowsUpColor,241,false);
if (trend[i] ==-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);
if (up)
ObjectSet(name,OBJPROP_PRICE1,High[i]+gap*arrowsUpperGap);
else ObjectSet(name,OBJPROP_PRICE1,Low[i] -gap*arrowsLowerGap);
}
double workOma[][7];
#define F01 0
#define F02 1
#define F03 2
#define F04 3
#define F05 4
#define F06 5
#define prc 6
double iOma(double price, double averagePeriod, double constant, bool adaptive, int Показано первые 50% кода (символов: 13023)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.