← К каталогу
Исходный код · ID 2218

rsioma_slope_mtfalerts.mq5

Похожие материалы по тегам

!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 2 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 2 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedingvonepointoneone.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.10 optimized.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.09 a (2).mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор для MetaTrader 4, рассчитывающий наклон RSIOMA (RSI скользящей средней) с поддержкой многотаймнового анализа. Сначала вычисляется скользящая средная от RSI, затем применяется дополнительная сглаживающая линия, и определяется направление изменения наклона.

Результаты отображаются в отдельном окне графика в виде трёх буферов: линия наклона и точки разворотов. Для расчёта на других таймфреймах индикатор вызывает сам себя через iCustom.

Встроенная система уведомлений отслеживает смену направления наклона и может отправлять всплывающие сообщения, звуковые сигналы или email-оповещения. Все параметры оповещений настраиваются отдельно.

Настройки программы

НастройкаОписание
TimeFrame Таймфрейм — Таймфрейм для расчёта индикатора. Поддерживает режимы calculateValue и returnBars, а также выбор конкретного таймфрейма.
RsiOma_Period Период RSIOMA — Период расчёта RSI и скользящей средней RSIOMA.
RsiOma_Price Цена RSIOMA — Тип цены, используемый при расчёте скользящей средней RSIOMA.
RsiOma_Mode Метод RSIOMA — Метод сглаживания для расчёта скользящей средней от RSI.
MaPeriod Период скользящей средней — Период дополнительной скользящей средней, применяемой к значениям RSI.
MaType Тип скользящей средней — Метод сглаживания дополнительной скользящей средней.
alertsOn Уведомления включены — Главный переключатель системы уведомлений. При значении false уведомления не срабатывают.
alertsOnCurrent Проверять текущий бар — Определяет, проверять ли текущий бар или предыдущий для срабатывания уведомления.
alertsMessage Всплывающие сообщения — Включает или отключает всплывающие сообщения при смене направления наклона.
alertsSound Звуковые уведомления — Включает или отключает воспроизведение звукового сигнала при смене направления наклона.
alertsEmail Email-уведомления — Включает или отключает отправку email-уведомлений при смене направления наклона.
soundfile Звуковой файл — Имя звукового файла, воспроизводимого при срабатывании уведомления.
Получить полный код

Поиск по коду файла

#property indicator_separate_window
#property indicator_buffers    3
#property indicator_color1     LimeGreen
#property indicator_color2     Red
#property indicator_color3     Red
#property indicator_width1     2
#property indicator_width2     2
#property indicator_width3     2
#property indicator_level1     0

extern string TimeFrame       = "Current time frame";
extern int    RsiOma_Period   = 14;
extern int    RsiOma_Price    = 0;
extern int    RsiOma_Mode     = MODE_LWMA;
extern int    MaPeriod        = 10;
extern int    MaType          = MODE_LWMA;

extern string note            = "turn on Alert = true; turn off = false";
extern bool   alertsOn        = false;
extern bool   alertsOnCurrent = true;
extern bool   alertsMessage   = true;
extern bool   alertsSound     = false;
extern bool   alertsEmail     = false;
extern string soundfile       = "alert2.wav";

double rsi[];
double slp[];
double slpda[];
double slpdb[];
double ma[];
double mab[];
double trend[];
double slope[];

string indicatorFileName;
int    timeFrame;
bool   returnBars;
bool   calculateValue;

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 (returnBars) { rsi[0] = limit+1; return(0); }

   if (calculateValue || timeFrame==Period())
   {

     if  (slope[limit] == -1) ClearPoint(limit,slpda,slpdb);
     for (i=limit; i >= 0; i--) mab[i] = iMA(NULL,0,RsiOma_Period,0,RsiOma_Mode,RsiOma_Price,i);
     for (i=limit; i >= 0; i--) rsi[i] = iRSIOnArray(mab,0,RsiOma_Period,i);
     for (i=limit; i >= 0; i--)
     {
        ma[i]  = iMAOnArray(rsi,0,MaPeriod,0,MaType,i);
        slp[i] = ma[i]-ma[i+1];
        slpda[i] = EMPTY_VALUE;
        slpdb[i] = EMPTY_VALUE;
        slope[i] = slope[i+1];
        trend[i] = trend[i+1]; 

	     if (slp[i] > slp[i+1]) slope[i]= 1; 
	     if (slp[i] < slp[i+1]) slope[i]=-1;
	     if (slope[i] == -1) PlotPoint(i,slpda,slpdb,slp);

     }
     manageAlerts();  
    return(0);
    }

    limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()));
    if (slope[limit]==-1) ClearPoint(limit,slpda,slpdb);
    for (i=limit;i>=0; i--)
    {
       int y = iBarShift(NULL,timeFrame,Time[i]);
            slp[i]   = iCustom(NULL,timeFrame,indicatorFileName,"calculateValue",RsiOma_Period,RsiOma_Price,Rs

Показано первые 50% кода (символов: 4837)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
483,70₽ ≈ $5.91