critical levels.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «critical levels.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, отображающий на графике горизонтальные уровни цены в виде линий и стрелок. Он строит дневные, недельные и месячные максимумы и минимумы, точки пивота стандартного и фибоначчиевского типов для разных таймфреймов, а также уровни круглых чисел вокруг текущей цены. Обновление уровней может происходить автоматически с заданной периодичностью или при каждом тике, видимость объектов настраивается для конкретных таймфреймов.
Настройки программы
| Настройка | Описание |
|---|---|
| NumDailyHLs | Количество дневных уровней — Количество последних дневных максимумов и минимумов, используемых для построения уровней |
| ColorDailyHLs | Цвет дневных уровней — Цвет линий дневных максимумов и минимумов |
| ColorWeeklyHLs | Цвет недельных уровней — Цвет линий недельных максимумов и минимумов |
| ColorMonthlyHLs | Цвет месячных уровней — Цвет линий месячных максимумов и минимумов |
| ColorDailyPivotStd | Цвет дневного пивота стандартный — Цвет линий дневных точек пивота стандартного типа |
| ColorWeeklyPivotStd | Цвет недельного пивота стандартный — Цвет линий недельных точек пивота стандартного типа |
| ColorMonthlyPivotStd | Цвет месячного пивота стандартный — Цвет линий месячных точек пивота стандартного типа |
| ColorDailyPivotFibo | Цвет дневного пивота Фибоначчи — Цвет линий дневных точек пивота по Фибоначчи |
| ColorWeeklyPivotFibo | Цвет недельного пивота Фибоначчи — Цвет линий недельных точек пивота по Фибоначчи |
| ColorMonthlyPivotFibo | Цвет месячного пивота Фибоначчи — Цвет линий месячных точек пивота по Фибоначчи |
| ColorRoundNumbers | Цвет уровней круглых чисел — Цвет линий уровней круглых чисел вокруг текущей цены |
| LineLength | Длина линии — Длина горизонтальных линий уровней в барах |
| RefreshPeriod | Период обновления — Таймфрейм, по которому определяется момент автоматического обновления уровней на графике |
| Visibility | Видимость — Список таймфреймов, на которых отображаются объекты индикатора через запятую |
Поиск по коду файла
#property indicator_chart_window
#include <hanover --- function header.mqh>
/*
extern int NumDailyHLs = 10;
extern color ColorDailyHLs = Gray;
extern color ColorWeeklyHLs = Silver;
extern color ColorMonthlyHLs = White;
extern string ColorDailyPivotStd = "DeepSkyBlue";
extern string ColorWeeklyPivotStd = "DodgerBlue";
extern string ColorMonthlyPivotStd = "RoyalBlue";
extern string ColorDailyPivotFibo = "Lime";
extern string ColorWeeklyPivotFibo = "Green";
extern string ColorMonthlyPivotFibo = "DarkGreen";
extern string ColorRoundNumbers = "Red";
*/
extern int NumDailyHLs = 10;
extern color ColorDailyHLs = Gray;
extern color ColorWeeklyHLs = Silver;
extern color ColorMonthlyHLs = White;
extern string ColorDailyPivotStd = "";
extern string ColorWeeklyPivotStd = "";
extern string ColorMonthlyPivotStd = "";
extern string ColorDailyPivotFibo = "DodgerBlue";
extern string ColorWeeklyPivotFibo = "";
extern string ColorMonthlyPivotFibo = "";
extern string ColorRoundNumbers = "Red";
extern int LineLength = 5;
extern string RefreshPeriod = "H1";
extern string Visibility = "M1,M5,M15,M30,H1,H4,D1,W1,MN";
string ccy, sym, IndiName;
int dig, tf, tmf, obj, vis, RefreshEveryXMins;
double spr, pnt, tickval, bidp, askp, minlot, lswap, sswap;
datetime prev_time;
bool FirstTime;
int init() {
// код доступен только после оплаты
}
int deinit() {
del_obj();
return(0);
}
int start() {
// код доступен только после оплаты
}
void del_obj() {
int k=0;
while (k<ObjectsTotal()) {
string objname = ObjectName(k);
if (StringSubstr(objname,0,StringLen(IndiName)) == IndiName)
ObjectDelete(objname);
else
k++;
}
return(0);
}
void plot_line(double price, color clr, int width, int style, int start=0, bool label=false, string desc="") {
obj++;
string objname = IndiName + NumberToStr(obj,"Z4");
ObjectCreate(objname,OBJ_TREND,0,Time[0]+start*60*Period(),price,Time[0]+(start+LineLength)*60*Period(),price);
ObjectSet(objname,OBJPROP_COLOR,clr);
ObjectSet(objname,OBJPROP_WIDTH,width);
ObjectSet(objname,OBJPROP_STYLE,style);
ObjectSet(objname,OBJPROP_RAY,false);
ObjectSet(objname,OBJPROP_TIMEFRAMES,vis);
ObjectSetText(objname,desc,8,"Arial",Red);
if (label) {
obj++;
objname = IndiName + NumberToStr(obj,"Z4");
ObjectCreate(objname,OBJ_ARROW,0,Time[0]+(start+LineLength+1)*60*Period(),price);
ObjectSet(objname,OBJPROP_COLOR,clr);
ObjectSet(objname,OBJPROP_WIDTH,1);
ObjectSet(objname,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
ObjectSet(objname,OBJPROP_TIMEFRAMES,vis);
}
return(0);
}
void plot_obj() {
double close;
for (int i=1; i<=NumDailyHLs; i++) {
double high = iHigh(ccy,StrToTF("D1"),i);
color col = ColorDailyHLs;
string descr = "Daily high";
int bar = BarConvert(i,"D1","W1");
if (high == iHigh(ccy,StrToTF("W1"),bar)) {
col = ColorWeeklyHLs;
descr = "Weekly high";
}
bar = BarConvert(i,"D1","MN");
if (high == iHigh(ccy,StrToTF("MN"),bar)) {
col = ColorMonthlyHLs;
descr = "Weekly high";
}
plot_line(high,col,1,STYLE_SOLID,0,false,descr);
double low = iLow(ccy,StrToTF("D1"),i);
col = ColorDailyHLs;
descr = "Daily low";
bar = BarConvert(i,"D1","W1");
if (low == iLow(ccy,StrToTF("W1"),bar)) {
col = ColorWeeklyHLs;
descr = "Weekly low";
}
bar = BarConvert(i,"D1","MN");
if (low == iLow(ccy,StrToTF("MN"),bar)) {
col = ColorMonthlyHLs;
descr = "Monthly low";
}
plot_line(low,col,1,STYLE_SOLID,0,false,descr);
}
if (ColorDailyPivotStd > "") {
col = StrToColor(ColorDailyPivotStd);
high = iHigh(ccy,StrToTF("D1"),1);
low = iLow(ccy,StrToTF("D1"),1);
close = iClose(ccy,StrToTF("D1"),1);
double PP = (high+low+close)/3;
double S1 = 2*PP-high;
double S2 = PP-(high-low);
double S3 = 2*PP-(2*high-low);
double R1 = 2*PP-low;
double R2 = PP+(high-low);
double R3 = 2*PP+(high-2*low);
plot_line(PP,col,2,STYLE_SOLID,0,false,"Daily Pivot (std)");
plot_line(S1,col,1,STYLE_DOT,0,false,"Daily S1 (std)");
plot_line(S2,col,1,STYLE_DOT,0,false,"Daily S2 (std)")Показано первые 50% кода (символов: 8634)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.