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

RSI digital Kahler

rsi_digital_kahler_-_prices__lines__alerts_2_1.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор «RSI digital Kahler» рассчитывает значение RSI на выбранной цене с заданным периодом, применяет сглаживание методом скользящей средней и экспоненциальной средней, а затем определяет направление тренда по взвешенной комбинации быстрой и медленной пропорций. Результат отображается в отдельном окне в виде цветных линий, меняющих цвет в зависимости от направления тренда.

Индикатор поддерживает настраиваемые верхний и нижний уровни, а также четыре режима определения тренда: по наклону линии, по пробою уровней и по направлению тренда. При смене тренда могут отрисовываться вертикальные линии с настраиваемым цветом и стилем.

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

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

НастройкаОписание
Calculating period (rperiod) Период расчёта — Период расчёта
Price (rprice) Цена — Цена
Smoothing period (speriod) Период сглаживания — Период сглаживания
Smoothing method (smethod) Метод сглаживания — Метод сглаживания
Lines width (linesWidth) Толщина линий — Толщина линий
Fast ratio (fastr) Быстрая пропорция — Быстрая пропорция
Slow ratio (slowr) Медленная пропорция — Медленная пропорция
Upper level (levelUp) Верхний уровень — Верхний уровень
Lower level (levelDown) Нижний уровень — Нижний уровень
Alerts and lines should be on? (alertsLinesOnSlope) Режим линий и оповещений — Режим отображения линий и оповещений
Show vertical lines (verticalLinesVisible) Показывать вертикальные линии — Показывать вертикальные линии
Vertical lines unique ID (verticalLinesID) Идентификатор вертикальных линий — Уникальный идентификатор вертикальных линий
Color for down cross (verticalLinesUpColor) Цвет для восходящего пересечения — Цвет для восходящего пересечения
Color for up cross (verticalLinesDownColor) Цвет для нисходящего пересечения — Цвет для нисходящего пересечения
Lines style (verticalLinesStyle) Стиль линий — Стиль линий
Lines width (verticalLinesWidth) Толщина вертикальных линий — Толщина вертикальных линий
Turn alerts on? (alertsOn) Включить оповещения — Включить оповещения
Alerts on current (still opened) bar (alertsOnCurrent) Оповещения на текущей свече — Оповещения на текущей (открытой) свече
Alerts should show pop-up message (alertsMessage) Всплывающие сообщения — Оповещения должны показывать всплывающее сообщение
Alerts should play alert sound (alertsSound) Звуковое оповещение — Оповещения должны воспроизводить звук
Alerts should send push notification (alertsPushNotif) Push-уведомления — Оповещения должны отправлять push-уведомление
Alerts should send email (alertsEmail) Email-уведомления — Отправлять email
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1  clrSilver
#property indicator_color2  clrDeepSkyBlue
#property indicator_color3  clrDeepSkyBlue
#property indicator_color4  clrSandyBrown
#property indicator_color5  clrSandyBrown
#property indicator_width1  3
#property indicator_width2  3
#property indicator_width3  3
#property indicator_width4  3
#property indicator_width5  3
#property strict

enum enPrices
{
   pr_close,      // Close
   pr_open,       // Open
   pr_high,       // High
   pr_low,        // Low
   pr_median,     // Median
   pr_typical,    // Typical
   pr_weighted,   // Weighted
   pr_average,    // Average (high+low+open+close)/4
   pr_medianb,    // Average median body (open+close)/2
   pr_tbiased,    // Trend biased price
   pr_haclose,    // Heiken ashi close
   pr_haopen ,    // Heiken ashi open
   pr_hahigh,     // Heiken ashi high
   pr_halow,      // Heiken ashi low
   pr_hamedian,   // Heiken ashi median
   pr_hatypical,  // Heiken ashi typical
   pr_haweighted, // Heiken ashi weighted
   pr_haaverage,  // Heiken ashi average
   pr_hamedianb,  // Heiken ashi median body
   pr_hatbiased   // Heiken ashi trend biased price
};
enum enMode
{
   mo_cls,  // Color change on slope
   mo_cl1,  // Color change on levels break into the zones
   mo_cl2,  // Color change on levels break - trend direction
   mo_cl3   // Color change on levels break - counter trend direction
};

extern int                rperiod    = 14;          // Calculating period
extern enPrices           rprice     = pr_close;    // Price
extern int                speriod    = 14;          // Smoothing period
extern ENUM_MA_METHOD     smethod    = MODE_SMA;    // Smoothing method
extern int                linesWidth =  3;          // Lines width
extern double             fastr      =  8;          // Fast ratio
extern double             slowr      = 22;          // Slow ratio
extern double             levelUp                  =  0.8;           // Upper level
extern double             levelDown                = -0.8;           // Lower level
extern enMode             alertsLinesOnSlope       = mo_cls;         // Alerts and lines should be on?
extern bool               verticalLinesVisible     = false;          // Show vertical lines
extern string             verticalLinesID          = "RSIC Lines1";  // Vertical lines unique ID
extern color              verticalLinesUpColor     = clrDeepSkyBlue; // Color for down cross
extern color              verticalLinesDownColor   = clrSandyBrown;  // Color for up cross
extern ENUM_LINE_STYLE    verticalLinesStyle       = STYLE_DOT;      // Lines style
extern int                verticalLinesWidth       = 0;              // Lines width
extern bool               alertsOn                 = false;          // Turn alerts on?
extern bool               alertsOnCurrent          = true;           // Alerts on current (still opened) bar
extern bool               alertsMessage            = true;           // Alerts should show pop-up message
extern bool               alertsSound              = false;          // Alerts should play alert sound
extern bool               alertsPushNotif          = false;          // Alerts should send push notification
extern bool               alertsEmail              = false;          // Alerts should send email

double buffer[];
double bufferda[];
double bufferdb[];
double bufferua[];
double bufferub[];
double trend[];
double work[];

int init()
{
      // код доступен только после оплаты
   }
int deinit() 
{ 
   string lookFor       = verticalLinesID+":";
   int    lookForLength = StringLen(lookFor);
      for (int i=ObjectsTotal()-1; i>=0; i--)
      {
         string name = ObjectName(i);
         if (StringSubstr(name,0,lookForLength) == lookFor) ObjectDelete(name);
      }
   return(0);
}

int start()
{
      // код доступен только после оплаты
   }
   int counted_bars=IndicatorCounted();
      if(counted_bars<0) return(-1);
      if(counted_bars>0) counted_bars--;
           int limit=MathMin(Bars-counted_bars,Bars-1);

   if (trend[limit]==-1) CleanPoint(limit,bufferda,bufferdb);
   if (trend[limit]== 1) CleanPoint(limit,bufferua,bufferub);
   for(int i=limit; i>=0; i--) 
   {
      work[i]       = iRsi(getPrice(rprice,Open,Close,High,Low,i),rperiod,i);
      double fast_k = work[i];
      double slow_k = iMAOnArray(work,0,speriod,0,smethod,i);
      double temp   = 0;
         if ((slowr*slow_k+fastr*fast_k)/(fastr+slowr)>50.0) temp= 1;
         if ((slowr*slow_k+fastr*fast_k)/(fastr+slowr)<50.0) temp=-1;
            buffer[i]   = iEma(temp,rperiod,i);
            bufferda[i] = EMPTY_VALUE;
            bufferdb[i] = EMPTY_VALUE;
            bufferua[i] = EMPTY_VALUE;
            bufferub[i] = EMPTY_VALUE;
            trend[i]    = 0;

         if (i<Bars-1)
         {         
            switch (alertsLinesOnSlope)
            {
               case mo_cls: 
                  trend[i] = trend[i+1];
                     if (buffer[i]>buffer[i+1]) trend[i] =  1;
                     if (buffer[i]<buffer[i+1]) trend[i] = -1;
                     break;
               case mo_cl1: 
                     if (buffer[i]>levelUp)   trend[i] =  1;
                     if (buffer[i]<levelDown) trend[i] = -1;
                     break;
               case mo_cl2: 
                  trend[i] = trend[i+1];
                     if (buffer[i]>levelUp)   trend[i] =  1;
                     if (buffer[i]<levelDown) trend[i] = -1;
                     break;
               case mo_cl3: 
                  trend[i] = trend[i+1];
                     if (buffer[i]<levelUp   && buffer[i+1]>levelUp)   trend[i] = -1;
                     if (buffer[i]>levelDown && buffer[i+1]<levelDown) trend[i] =  1;
               }                     
            if (trend[i] == -1) PlotPoint(i,bufferda,bufferdb,buffer);
            if (trend[i] ==  1) Plo

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

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

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

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

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

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

Стоимость полного кода
936,10₽ ≈ $11.44