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

4 time frame asctrend

4 time frame asctrend.mq5

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

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор для MetaTrader 5, отображающий в отдельном окне состояние сигналов Asctrend на четырёх таймфреймах. Каждый таймфрейм представлен двумя буферами (восходящий и нисходящий сигнал), значения выводятся стрелками на уровнях 1–4. В окне индикатора также создаются текстовые метки с обозначениями выбранных таймфреймов.

Пользователь может задать четыре таймфрейма (текущий, следующий и т.д.), параметр Risk, уникальный идентификатор для меток и настройки оповещений. Оповещения срабатывают, когда на заданном числе таймфреймов сигналы совпадают по направлению; поддерживаются всплывающее сообщение, звук, e-mail и push-уведомление.

Индикатор использует встроенный пользовательский индикатор Asctrend для расчёта значений на каждом из выбранных таймфреймов и агрегирует результаты. Внешний вид стрелок и меток настраивается (цвет, толщина линий, смещение подписей).

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

НастройкаОписание
TimeFrame1 Таймфрейм 1 — Первый анализируемый таймфрейм; может быть задан строкой, например текущий таймфрейм или конкретный период.
TimeFrame2 Таймфрейм 2 — Второй анализируемый таймфрейм; задаётся строкой.
TimeFrame3 Таймфрейм 3 — Третий анализируемый таймфрейм; задаётся строкой.
TimeFrame4 Таймфрейм 4 — Четвёртый анализируемый таймфрейм; задаётся строкой.
Risk Риск — Числовой параметр, влияющий на расчёт значений индикатора Asctrend.
UniqueID Уникальный идентификатор — Уникальный идентификатор индикатора, используемый для именования объектов и отображения краткого имени.
alertsOn Оповещения включены — Включает или отключает оповещения индикатора.
alertsLevel Уровень оповещений — Минимальное число таймфреймов, при котором формируется оповещение.
alertsMessage Всплывающее сообщение — Выводить всплывающее сообщение при срабатывании оповещения.
alertsSound Звуковое оповещение — Проигрывать звуковой сигнал при срабатывании оповещения.
alertsEmail Оповещение по e-mail — Отправлять оповещение по электронной почте при срабатывании условия.
alertsNotify Push-уведомление — Отправлять push-уведомление при срабатывании оповещения.
LinesWidth Толщина линий — Толщина линий для отображения стрелок индикатора.
LabelsColor Цвет меток — Цвет текстовых меток таймфреймов в окне индикатора.
LabelsHorizontalShift Горизонтальное смещение меток — Горизонтальное смещение меток таймфреймов относительно текущего бара.
LabelsVerticalShift Вертикальное смещение меток — Вертикальное смещение меток таймфреймов в окне индикатора.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 8
#property indicator_color1  Blue
#property indicator_color2  Red
#property indicator_color3  Blue
#property indicator_color4  Red
#property indicator_color5  Blue
#property indicator_color6  Red
#property indicator_color7  Blue
#property indicator_color8  Red
#property indicator_minimum 0
#property indicator_maximum 5

extern string TimeFrame1            = "Current time frame";
extern string TimeFrame2            = "next1";
extern string TimeFrame3            = "next2";
extern string TimeFrame4            = "next3";
extern int    Risk                  = 6;
extern string UniqueID              = "4 Time frame Asctrend";
extern bool   alertsOn              = false;
extern int    alertsLevel           = 3;
extern bool   alertsMessage         = true;
extern bool   alertsSound           = false;
extern bool   alertsEmail           = false;
extern bool   alertsNotify          = false;
extern int    LinesWidth            =  0;
extern color  LabelsColor           = DarkGray;
extern int    LabelsHorizontalShift = 5;
extern double LabelsVerticalShift   = 1.5;

double ST1u[];
double ST1d[];
double ST2u[];
double ST2d[];
double ST3u[];
double ST3d[];
double ST4u[];
double ST4d[];

int    timeFrames[4];
bool   returnBars;
bool   calculateValue;
string indicatorFileName;

int init()
{
      // код доступен только после оплаты
   }
int deinit()
{
   for (int t=0; t<4; t++) ObjectDelete(UniqueID+t);
   return(0); 
}

double trend[][2];
#define _up 0
#define _dn 1
int start()
{
      // код доступен только после оплаты
   }
   int i,r,counted_bars=IndicatorCounted();
      if(counted_bars < 0) return(-1);
      if(counted_bars>0) counted_bars--;
         int limit = MathMin(Bars-counted_bars,Bars-1);
         if (returnBars) { ST1u[0] = limit+1; return(0); }
         if (calculateValue) { calculateByST(limit); return(0); }

         if (timeFrames[0] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[0],indicatorFileName,"returnBars",0,0)*timeFrames[0]/Period()));
         if (timeFrames[1] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[1],indicatorFileName,"returnBars",0,0)*timeFrames[1]/Period()));
         if (timeFrames[2] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[2],indicatorFileName,"returnBars",0,0)*timeFrames[2]/Period()));
         if (timeFrames[3] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[3],indicatorFileName,"returnBars",0,0)*timeFrames[3]/Period()));
         if (ArrayRange(trend,0)!=Bars) ArrayResize(trend,Bars);

         bool initialized = false;
         if (!initialized)
         {
            initialized = true;
            int window = WindowFind(UniqueID);
            for (int t=0; t<4; t++)
            {
               string label = timeFrameToString(timeFrames[t]);
               ObjectCreate(UniqueID+t,OBJ_TEXT,window,0,0);
                  ObjectSet(UniqueID+t,OBJPROP_COLOR,LabelsColor);
                  ObjectSet(UniqueID+t,OBJPROP_PRICE1,t+LabelsVerticalShift);
                  ObjectSetText(UniqueID+t,label,8,"Arial");
            }               
         }
         for (t=0; t<4; t++) ObjectSet(UniqueID+t,OBJPROP_TIME1,Time[0]+Period()*LabelsHorizontalShift*60);

   for(i = limit, r=Bars-i-1; i >= 0; i--,r++)
   {
      trend[r][_up] = 0;
      trend[r][_dn] = 0;
      for (int k=0; k<4; k++)
      {
         int y = iBarShift(NULL,timeFrames[k],Time[i]);
            double xst  = iCust

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

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

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

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

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

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

Стоимость полного кода
639₽ ≈ $7.81