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

MTF Visualization v1.6

mtf_visualization_v1.6.mq5
Вы автор или правообладатель?

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

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

О программе

Индикатор для MetaTrader 4, отображающий свечные модели более высоких таймфреймов на графике текущего периода с помощью объектов-линий и надписей. Поддерживает визуализацию тел и теней свечей для нескольких таймфреймов с настраиваемыми цветами и толщинами линий. Индикатор может отображать уровни пивотов для дневного, недельного и месячного таймфреймов, а также статистику изменения цены за год, месяц, неделю и день в пунктах и процентах.

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

НастройкаОписание
updirection Направление отрисовки — Переключатель, определяющий порядок отображения таймфреймов на графике
FrameLabel Подпись списка таймфреймов — Текстовая строка-подсказка с перечнем доступных таймфреймов
enable_TMF Включение таймфреймов — Строка из цифр 1 и 0, определяющая, какие таймфреймы отображаются на графике
stats Статистика — Переключатель отображения статистических данных о изменении цены за различные периоды
pivots Пивоты — Переключатель отображения уровней пивотов для дневного, недельного и месячного таймфреймов
MNPivotclr Цвет пивота MN — Цвет линии уровня пивота месячного таймфрейма
offset Сдвиг начала — Числовой множитель сдвига начальной точки отрисовки по времени
step Шаг — Интервал между последовательными элементами визуализации
UpCandleColor Цвет бычьей свечи — Цвет объекта свечи при росте цены
DownCandleColor Цвет медвежьей свечи — Цвет объекта свечи при падении цены
widthHL Толщина теней — Толщина линии, обозначающей тени свечи
widthOC Толщина тела — Толщина линии, обозначающей тело свечи
year_width_factor Множитель толщины года — Множитель толщины линий для годового таймфрейма
Получить полный код

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

#property indicator_chart_window

extern bool updirection=true;
extern string   FrameLabel="Enable Timeframe:(1=true)...M1,M5,M15,M30,H1,H4,D1,W1,MN,Year";
extern string enable_TMF="1,1,1,1,1,1,1,1,1,1";
extern bool   stats=false;
extern bool pivots=false;
extern color MNPivotclr=White,W1Pivotclr=Yellow,D1Pivotclr=Red;
extern double offset=10;
extern double step=6;
extern color   UpCandleColor=Lime;
extern color   DownCandleColor=Red;
extern int     widthHL = 1;
extern int     widthOC = 5;
extern int year_width_factor=2;

int BaseTF,nextTF,width_OC,width_HL;
string BaseTMFR;
int timeFrame[]={1,5,15,30,60,240,1440,10080,43200,99};
string TimeFrames[]={"M1","M5","M15","M30","H1","H4","D1","W1","MN","Year"};
string StatsLabel[]={"Year","D1","W1","MN","High","Close","Low","Range"};
double P1,P2,P3,P4,Points_Per_Pixel,SizeY,MNPivot,W1Pivot,D1Pivot;

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

void deinit()
  {

   DeleteObjects();
  }

int start()

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

   double dif=MathAbs(Time[1]-Time[2]);
   datetime dtStart=Time[0]+dif*offset;

   int i,j,shift,control;
   j=nextTF;

   int Bar_Year_High=iHighest(Symbol(),PERIOD_MN1,MODE_HIGH,Month(),0);
   int Bar_Year_Low=iLowest(Symbol(),PERIOD_MN1,MODE_LOW,Month(),0);

   double YearHigh=iHigh(Symbol(),PERIOD_MN1,Bar_Year_High);
   double YearLow=iLow(Symbol(),PERIOD_MN1,Bar_Year_Low);

   double YearOpen=iOpen(Symbol(),PERIOD_MN1,Month()-1);
   double YearClose=Bid;

   while(j<(ArraySize(timeFrame)))
     {
      shift=j;

      if(updirection==0)shift=(ArraySize(timeFrame)-(j-nextTF)-1);

      control=0;

      if(StringSubstr(enable_TMF,2*shift,1)=="1")
        {
         control=1;

         if(timeFrame[shift]!=99)
           {
            P1=iOpen(NULL, timeFrame[shift],0);
            P2=iClose(NULL, timeFrame[shift],0);
            P3=iLow(NULL, timeFrame[shift],0);
            P4=iHigh(NULL, timeFrame[shift],0);
            width_OC=widthOC;
            width_HL=widthHL;
           }

         else

           {
            P1=YearOpen;
            P2=YearClose;
            P3=YearLow;
            P4=YearHigh;
            width_OC=widthOC*year_width_factor;
            width_HL=widthHL*year_width_factor;
           }

         datetime T=dtStart+dif*i*step;

         string name="Body#"+i;

         color clr=DownCandleColor; if(P1<=P2) clr=UpCandleColor;

         objTrendLine(name,T,P1,T,P2,0,width_OC,clr,STYLE_SOLID,False);

         name="Tail#"+i;

         objTrendLine(name,T,P3,T,P4,0,width_HL,clr,STYLE_SOLID,False);

         ObjectSetText(name,TimeFrames[shift],5,"Arial",White);

         if(timeFrame[shift]==99) ObjectSetText(name,TimeFrames[shift]+"  "+Year(),5,"Arial",White);

         if(pivots && (TimeFrames[shift]=="D1" || TimeFrames[shift]=="W1" || TimeFrames[shift]=="MN"))

           {
            D1Pivot= (iHigh(NULL, 1440,1)+ iLow(NULL, 1440,1)+iClose(NULL, 1440,1))/3;
            W1Pivot= (iHigh(NULL, 10080,1)+ iLow(NULL, 10080,1)+iClose(NULL, 10080,1))/3;
            MNPivot= (iHigh(NULL, 43200,1)+ iLow(NULL, 43200,1)+iClose(NULL, 43200,1))/3;

            if(TimeFrames[shift]=="D1") objTrendLine("D1Pivot",Time[0],D1Pivot,dtStart,D1Pivot,0,2,D1Pivotclr,STYLE_SOLID,False);
            ObjectSetText("D1Pivot","D1 - Pivot",5,"Arial",White);

            if(TimeFrames[shift]=="W1") objTrendLine("W1Pivot",Time[0],W1Pivot,dtStart,W1Pivot,0,2,W1Pivotclr,STYLE_SOLID,False);
            ObjectSetText("W1Pivot","W1 - Pivot",5,"Arial",White);

            if(TimeFrames[shift]=="MN") objTrendLine("MNPivot",Time[0],MNPivot,dtStart,MNPivot,0,2,MNPivotclr,STYLE_SOLID,False);
            ObjectSetText("MNPivot","MN - Pivot",5,"Arial",White);
           }
        }
      if(control==1) i++;
      j++;
     }

   if(stats)

     {
      double ActualBid=Bid;
      double YPos=30;
      string Name;
      double PercChange;
      double Open_Price_D1,Close_Price_D1,High_Price_D1,Low_Price_D1,Open_Price_W1,Open_Price_MN1,Day_R

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

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

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

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

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

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

Стоимость полного кода
663,30₽ ≈ $8.11