AutoDayFibs
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «autodayfibs.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
AutoDayFibs — индикатор MetaTrader 5 для автоматического построения уровней Фибоначчи на дневных графиках. Индикатор определяет максимум и минимум текущего торгового дня и рассчитывает уровни Фибоначчи на основе их диапазона. При включении параметра автоматической подстройки уровни обновляются в заданный час, переносясь на новый торговой день.
Индикатор отображает горизонтальные линии для уровней 0.0, 23.6, 38.2, 50.0, 61.8, 76.4, 100.0, 161.8, 261.8 и 423.6 с настраиваемыми цветами, стилями и толщинами. Каждому уровню присваивается текстовая подпись с числовым значением.
AutoDayFibs работает только на таймфреймах ниже дневного (M1–H1), так как для расчёта используются данные графика PERIOD_D1. При недостаточной истории индикатор не отрисовывает уровни. Все графические объекты удаляются при деинициализации.
Настройки программы
| Настройка | Описание |
|---|---|
| AutomaticallyAdjustToToday | Включает или отключает автоматическую подстройку уровней Фибоначчи под текущие цены сегодняшнего дня. При активном значении индикатор определяет новый торговой день и переносит уровни в соответствии с заданным часом. |
| TimeToAdjust | Час, начиная с которого индикатор переносит уровни Фибоначчи на новый торговой день. Принимает значения от 00 до 23. |
| iDaysBackForHigh | Количество дней назад от текущего, от которого берётся уровень максимума для расчёта диапазона Фибоначчи. |
| iDaysBackForLow | Количество дней назад от текущего, от которого берётся уровень минимума для расчёта диапазона Фибоначчи. |
| TextSize | Размер шрифта для текстовых подписей уровней Фибоначчи на графике. |
| Color_fib000 | Цвет горизонтальной линии и подписи уровня Фибоначчи 0.0. |
| Style_fib000 | Стиль линии уровня Фибоначчи 0.0 (сплошная, пунктирная, точечная и т. д.). |
| Width_fib000 | Толщина линии уровня Фибоначчи 0.0. |
| Color_fib236 | Цвет горизонтальной линии и подписи уровня Фибоначчи 23.6. |
| Style_fib236 | Стиль линии уровня Фибоначчи 23.6 (сплошная, пунктирная, точечная и т. д.). |
| Width_fib236 | Толщина линии уровня Фибоначчи 23.6. |
| Color_fib382 | Цвет горизонтальной линии и подписи уровня Фибоначчи 38.2. |
| Style_fib382 | Стиль линии уровня Фибоначчи 38.2 (сплошная, пунктирная, точечная и т. д.). |
| Width_fib382 | Толщина линии уровня Фибоначчи 38.2. |
| Color_fib500 | Цвет горизонтальной линии и подписи уровня Фибоначчи 50.0. |
| Style_fib500 | Стиль линии уровня Фибоначчи 50.0 (сплошная, пунктирная, точечная и т. д.). |
| Width_fib500 | Толщина линии уровня Фибоначчи 50.0. |
| Color_fib618 | Цвет горизонтальной линии и подписи уровня Фибоначчи 61.8. |
| Style_fib618 | Стиль линии уровня Фибоначчи 61.8 (сплошная, пунктирная, точечная и т. д.). |
| Width_fib618 | Толщина линии уровня Фибоначчи 61.8. |
| Color_fib764 | Цвет горизонтальной линии и подписи уровня Фибоначчи 76.4. |
| Style_fib764 | Стиль линии уровня Фибоначчи 76.4 (сплошная, пунктирная, точечная и т. д.). |
| Width_fib764 | Толщина линии уровня Фибоначчи 76.4. |
| Color_fib1000 | Цвет горизонтальной линии и подписи уровня Фибоначчи 100.0. |
| Style_fib1000 | Стиль линии уровня Фибоначчи 100.0 (сплошная, пунктирная, точечная и т. д.). |
| Width_fib1000 | Толщина линии уровня Фибоначчи 100.0. |
| Color_fib1618 | Цвет горизонтальной линии и подписи уровня Фибоначчи 161.8. |
| Style_fib1618 | Стиль линии уровня Фибоначчи 161.8 (сплошная, пунктирная, точечная и т. д.). |
| Width_fib1618 | Толщина линии уровня Фибоначчи 161.8. |
| Color_fib2618 | Цвет горизонтальной линии и подписи уровня Фибоначчи 261.8. |
| Style_fib2618 | Стиль линии уровня Фибоначчи 261.8 (сплошная, пунктирная, точечная и т. д.). |
| Width_fib2618 | Толщина линии уровня Фибоначчи 261.8. |
| Color_fib4236 | Цвет горизонтальной линии и подписи уровня Фибоначчи 423.6. |
| Style_fib4236 | Стиль линии уровня Фибоначчи 423.6 (сплошная, пунктирная, точечная и т. д.). |
| Width_fib4236 | Толщина линии уровня Фибоначчи 423.6. |
Поиск по коду файла
#property version "1.00"
#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots 0
enum Hour //Type of constant
{
H00=0, //00
H01, //01
H02, //02
H03, //03
H04, //04
H05, //05
H06, //06
H07, //07
H08, //08
H09, //09
H10, //10
H11, //11
H12, //12
H13, //13
H14, //14
H15, //15
H16, //16
H17, //17
H18, //18
H19, //19
H20, //20
H21, //21
H22, //22
H23, //23
};
enum Number
{
Number_0,
Number_1,
Number_2,
Number_3
};
enum Width
{
Width_1=1, //1
Width_2, //2
Width_3, //3
Width_4, //4
Width_5 //5
};
enum STYLE
{
SOLID_,//Solid line
DASH_,//Dashed line
DOT_,//Dotted line
DASHDOT_,//Dot-dash line
DASHDOTDOT_ //Dot-dash line with double dots
};
input bool AutomaticallyAdjustToToday = true; //adjustment under the current prices
input Hour TimeToAdjust=H00; //the hour of shifting Fibo
input uint iDaysBackForHigh=0; //number of days back to obtain low
input uint iDaysBackForLow=0; //number of days back to obtain low
input uint TextSize=10; //text font size
input color Color_fib000 = clrBlueViolet; //color for the fib000 level
input STYLE Style_fib000 = SOLID_; //fib000 level style
input Width Width_fib000 = Width_2; //fib000 level line width
input color Color_fib236 = clrBlueViolet; //color for the fib236 level
input STYLE Style_fib236 = SOLID_; //fib236 level line style
input Width Width_fib236 = Width_2; //fib236 level line width
input color Color_fib382 = clrBlueViolet; //color for the fib382 level
input STYLE Style_fib382 = SOLID_; //fib382 level line style
input Width Width_fib382 = Width_2; //fib382 level line width
input color Color_fib500 = clrBlueViolet; //color for the fib500 level
input STYLE Style_fib500 = SOLID_; //fib500 level line style
input Width Width_fib500 = Width_2; //fib500 level line width
input color Color_fib618 = clrBlueViolet; //color for the fib618 level
input STYLE Style_fib618 = SOLID_; //fib618 level line style
input Width Width_fib618 = Width_2; //fib618 level line width
input color Color_fib764 = clrBlueViolet; //color for the fib764 level
input STYLE Style_fib764 = SOLID_; //fib764 level line style
input Width Width_fib764 = Width_2; //fib764 level line width
input color Color_fib1000 = clrBlueViolet; //color for the fib1000 level
input STYLE Style_fib1000 = SOLID_; //fib1000 level line style
input Width Width_fib1000 = Width_2; //fib1000 level line width
input color Color_fib1618 = clrBlueViolet; //color for the fib1618 level
input STYLE Style_fib1618 = SOLID_; //fib1618 level line style
input Width Width_fib1618 = Width_2; //fib1618 level line width
input color Color_fib2618 = clrBlueViolet; //color for the fib2618 level
input STYLE Style_fib2618 = SOLID_; //fib2618 level line style
input Width Width_fib2618 = Width_1; //fib2618 level line width
input color Color_fib4236 = clrBlueViolet; //color for the fib4236 level
input STYLE Style_fib4236 = SOLID_; //fib4236 level line style
input Width Width_fib4236 = Width_2; //fib4236 level line width
double fib000,
fib236,
fib382,
fib500,
fib618,
fib764,
fib1000,
fib1618,
fib2618,
fib4236,
range,
prevRange;
bool objectsExist,highFirst;
int min_rates_total,DaysBackForHigh,DaysBackForLow;
void OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
ObjectDelete(0,"fib000");
ObjectDelete(0,"fib000_label");
ObjectDelete(0,"fib236");
ObjectDelete(0,"fib236_label");
ObjectDelete(0,"fib382");
ObjectDelete(0,"fib382_label");
ObjectDelete(0,"fib500");
ObjectDelete(0,"fib500_label");
ObjectDelete(0,"fib618");
ObjectDelete(0,"fib618_label");
ObjectDelete(0,"fib764");
ObjectDelete(0,"fib764_label");
ObjectDelete(0,"fib1000");
ObjectDelete(0,"fib1000_label");
ObjectDelete(0,"fib1618");
ObjectDelete(0,"fib1618_label");
ObjectDelete(0,"fib2618");
ObjectDelete(0,"fib2618_label");
ObjectDelete(0,"fib4236");
ObjectDelete(0,"fib4236_label");
}
int OnCalculate(
const int rates_total, // amount of history in bars at the current tick
const int prev_calculated,// amount of history in bars at the previous tick
const datetime &time[],
const double &open[],
const double& high[], // price array of maximums of price for the calculation of indicator
const double& low[], // price array of minimums of price for the calculation of indicator
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[]
)
{
// код доступен только после оплаты
}
if(_Period>=PERIOD_D1 || rates_total<min_rates_total) return(0);
ArraySetAsSeries(time,true);
ArraySetAsSeries(high,true);
ArraySetAsSeries(low,true);
if(AutomaticallyAdjustToToday==true)
{
MqlDateTime tm;
TimeToStruct(time[0],tm);
if(tm.hour>=0 && tm.hour<TimeToAdjust)
{
DaysBackForHigh=H01;
DaysBackForLow =H01;
}
else if(tm.hour>=DaysBackForLow && tm.hour<=H23)
{
DaysBackForHigh=H00;
DaysBackForLow =H00;
}
}
double iLow[1],iHigh[1];
if(CopyLow(NULL,PERIOD_D1,DaysBackForLow,1,iLow)<1)return(0);
if(CopyHigh(NULL,PERIOD_D1,DaysBackForHigh,1,iHigh)<1)return(0);
range=iHigh[0]-iLow[0];
for(int iii=0; iii<rates_total; iii++)
{
if(high[iii]==iHigh[0])
{
highFirst=true;
break;
}
else if(low[iii]==iLow[0])
{
highFirst=false;
break;
}
}
if(prevRange!=range)
{
objectsExist=false;
prevRange=range;
}
if(!highFirst)
{
fib000 = iLow[0];
fib236 = (range * 0.236) + iLow[0];
fib382 = (range * 0.3Показано первые 50% кода (символов: 9680)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.