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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.