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

TDI-With Alerts

tdi.mq5

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

ares_indicator.pineTradingView · 1 общих теговgold_trend_revers.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 1 общих тегов! cycle-identifier.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 1 общих теговprecisionflowea.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

[{"text":"Данный продукт представляет собой пользовательский индикатор для MetaTrader 4, который отображает аналитическую информацию о направлении тренда, силе рынка и волатильности в отдельном окне графика."},{"text":"Индикатор строит несколько линий на основе RSI и скользящих средних, включая линию цен RSI, линию торгового сигнала и волатильные полосы, а также классифицирует текущее состояние рынка по различным категориям."},{"text":"Поддерживается отображение стрелок сигналов и визуальных меток с текстовыми описаниями текущей ситуации. Доступны уведомления через всплывающие сообщения, звуковой сигнал и электронную почту."},{"text":"Параметры позволяют настраивать периоды и типы расчётов линий, отображение визуальных элементов и типы активируемых оповещений."}]

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

НастройкаОписание
NoteGeneral Общие настройки — Заголовочный текстовый параметр для группы общих настроек.
Show_TrendVisuals Визуальные элементы тренда — Включает или отключает отображение визуальных элементов тренда.
Show_SignalArrows Отображение стрелок сигналов — Отображает или скрывает стрелки сигналов на графике.
SHIFT_Sideway Горизонтальное смещение — Горизонтальное смещение визуальных меток на графике.
SHIFT_Up_Down Вертикальное смещение — Вертикальное смещение визуальных меток на графике.
NoteIndic Настройки индикатора — Заголовочный текстовый параметр для группы настроек индикатора.
8-25 (RSI_Period) Период RSI — Период расчёта индикатора RSI.
0-6 (RSI_Price) Тип цены RSI — Тип цены, используемой при расчёте RSI (0–6).
20-40 (Volatility_Band) Период волатильных полос — Период расчёта волатильных полос.
RSI_Price_Line Период линии цен RSI — Период скользящей средней для линии цен RSI.
0-3 (RSI_Price_Type) Тип скользящей средней линии цен RSI — Тип скользящей средней для линии цен RSI (0–3).
Trade_Signal_Line Период линии торгового сигнала — Период скользящей средней для линии торгового сигнала.
SHOW_Trade_Signal_Line2 Отображение второй линии торгового сигнала — Отображает или скрывает вторую линию торгового сигнала.
Trade_Signal_Line2 Период второй линии торгового сигнала — Период скользящей средней для второй линии торгового сигнала.
0-3 (Trade_Signal_Type) Тип скользящей средней линии торгового сигнала — Тип скользящей средней для линии торгового сигнала (0–3).
NoteAlerts Настройки оповещений — Заголовочный текстовый параметр для группы настроек оповещений.
BuySellAlerts Оповещения о покупке/продаже — Активирует отображение оповещений при появлении сигналов на покупку или продажу.
CautionAlerts Предупреждающие оповещения — Активирует оповещения при появлении предупреждающих сигналов о рисках.
MsgAlerts Всплывающие сообщения — Отправляет всплывающие текстовые сообщения на платформу при срабатывании условий.
SoundAlerts Звуковые оповещения — Активирует воспроизведение звукового сигнала при срабатывании условий.
SoundAlertFile Звуковой файл оповещения — Имя звукового файла для воспроизведения при оповещении.
eMailAlerts Оповещения по электронной почте — Активирует отправку уведомлений по электронной почте.
Получить полный код

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

#define vers    "09-Feb-2008"
#define major   2
#define minor   0

#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1 Black
#property indicator_color2 MediumBlue
#property indicator_color3 Yellow
#property indicator_width3 2
#property indicator_color4 MediumBlue
#property indicator_color5 Green
#property indicator_width5 2
#property indicator_color6 Red
#property indicator_color7 Aqua
#property indicator_style7 2

extern string NoteGeneral=" --- General Options --- ";
extern bool Show_TrendVisuals=true;
extern bool Show_SignalArrows=true;
extern int SHIFT_Sideway=-50;
extern int SHIFT_Up_Down=0;

extern string NoteIndic=" --- Indicator Options --- ";
extern int RSI_Period=13;         //8-25
extern int RSI_Price=0;           //0-6
extern int Volatility_Band=34;    //20-40
extern int RSI_Price_Line=2;
extern int RSI_Price_Type=0;      //0-3
extern int Trade_Signal_Line=7;
extern bool SHOW_Trade_Signal_Line2=true;
extern int Trade_Signal_Line2=18;
extern int Trade_Signal_Type=0;   //0-3

extern string NoteAlerts=" --- Alert Options --- ";
extern bool BuySellAlerts=true;
extern bool CautionAlerts=true;
extern bool MsgAlerts= true;
extern bool SoundAlerts= true;
extern string SoundAlertFile="alert.wav";
extern bool eMailAlerts= false;

bool InitialLoad=True;
string prefix="TDIV_";
double RSIBuf[],UpZone[],MdZone[],DnZone[],MaBuf[],MbBuf[],McBuf[];
string Signal="", Signal2="", Signal3="",Signal4="";
color TDI_col,TDI_col2;
int LastAlert=0, LastAlertBar,SigCounter=0;
double BidCur;
datetime TimeCur;

int init()
  {
      // код доступен только после оплаты
   }

int deinit()
  {
   int total=ObjectsTotal();
   for(int i=total-1; i>=0; i--)
     {
      string name=ObjectName(i);
      if (StringFind(name, prefix)==0) ObjectDelete(name);
     }

   return(0);
  }

int start()
  {
      // код доступен только после оплаты
   }
   int Win=WindowFind("TDIVisual");
   if (Win==- 1) Win=0;

   double MA,RSI[];
   ArrayResize(RSI,Volatility_Band);
   int counted_bars=IndicatorCounted();
   int limit=Bars-counted_bars-1;

   for(int i=limit; i>=0; i--)
     {
      RSIBuf[i]=(iRSI(NULL,0,RSI_Period,RSI_Price,i));
      MA=0;
      for(int x=i; x<i+Volatility_Band; x++)
        {
         RSI[x-i]=RSIBuf[x];
         MA+=RSIBuf[x]/Volatility_Band;
        }
      UpZone[i]=(MA + (1.6185 * StDev(RSI,Volatility_Band)));
      DnZone[i]=(MA - (1.6185 * StDev(RSI,Volatility_Band)));
      MdZone[i]=((UpZone[i] + DnZone[i])/2);
     }
   for(i=limit-1;i>=0;i--)
     {
      MaBuf[i]=(iMAOnArray(RSIBuf,0,RSI_Price_Line,0,RSI_Price_Type,i));
      MbBuf[i]=(iMAOnArray(RSIBuf,0,Trade_Signal_Line,0,Trade_Signal_Type,i));
      McBuf[i]=(iMAOnArray(RSIBuf,0,Trade_Signal_Line2,0,Trade_Signal_Type,i));
      BidCur=Close[i]; //Could use bid however no good when using visual back tester
      TimeCur=Time[i];
      if(Show_TrendVisuals)
        {

         if((MaBuf[i]>MbBuf[i])&&(MbBuf[i]<MdZone[i])&&(MaBuf[i]< MdZone[i])&&(MaBuf[i]>32)&&(MaBuf[i]<68))
           {
            Signal2="Weak Buy";
            Signal="?";
            TDI_col=SeaGreen;
           }
         else if((MaBuf[i]<MbBuf[i])&&(MbBuf[i]> MdZone[i])&&(MaBuf[i]> MdZone[i])&&(MaBuf[i]>32)&&(MaBuf[i]<68))
              {
               Signal2="Weak Sell";
               Signal="?";
               TDI_col=Orange;
              }
            else if((MaBuf[i]>MbBuf[i])&&(MbBuf[i]> MdZone[i])&&(MaBuf[i]>32)&&(MaBuf[i]<68))
                 {
                  Signal2="Strong Buy";
                  Signal="?";
                  TDI_col=Lime;
                 }
               else if((MaBuf[i]>MbBuf[i])&&(MaBuf[i]> MdZone[i])&&(MbBuf[i]< MdZone[i])&&(MaBuf[i]>32)&&(MaBuf[i]<68))
                    {
                     Signal2="Medium Buy";
                     Signal="?";
                     TDI_col=Green;
                    }
                  else if((MaBuf[i]<MbBuf[i])&&(MbBuf[i]< MdZone[i])&&(MaBuf[i]>32)&&(MaBuf[i]<68))
                       {
                        Signal2="Strong Sell";
                        Signal="?";
                        TDI_col=Red;
                       }
                     else if((MaBuf[i]<MbBuf[i])&&(MaBuf[i]< MdZone[i])&&(MbBuf[i]> MdZone[i])&&(MaBuf[i]>32)&&(MaBuf[i]<68))
                          {
                           Signal2="Medium Sell";
                           Signal="?";
                           TDI_col=Tomato;
                          }

                        else if(MaBuf[i]>=68)
                             {
                              Signal2="Caution !";
                              Signal="?";
                              TDI_col=Red;
                             }
                           else if(MaBuf[i]<=32)
                                {
                                 Signal2="Caution !";
                                 Signal="?";
                                 TDI_col=Red;
                                }

         if((MbBuf[i]>MdZone[i])&&(MaBuf[i]<MdZone[i]))
           {
            Signal4= "Weak Up";
            Signal3="?";
            TDI_col2=Green;
           }
         else if (MbBuf[i]>MdZone[i])
              {
               Signal4= "Strong UP";
               Signal3="?";
               TDI_col2=Lime;
              }
         if((MbBuf[i]<=MdZone[i])&&(MaBuf[i]>=MdZone[i]))
           {
            Signal4= "Weak Down";
            Signal3="?";
            TDI_col2=Orange;
           }
         else if (MbBuf[i]<=MdZone[i])
              {
               Signal4= "Strong Down";
               Signal3="?";
               TDI_col2=Red;
              }

         if(UpZone[i]-DnZone[i]<20)
           {
            Signal4="Consolidation";
            Signal3="h";
            TDI_col2=Silver;
           }
         string Subj=Symbol()+ ", " + TF2Str(Period()) + " " + Signal2;
         string Msg;

         if (Signal2=="Strong Buy" && Signal4=="Strong UP" && LastAlert!=1)
           {
            Msg=Subj + " @ "+DoubleToStr(Close[i],Digi

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

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

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

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

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

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

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