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

#SpudFibo

# spudfibo_multi-period.mq5
Вы автор или правообладатель?

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

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

О программе

Этот пользовательский индикатор для MetaTrader 5 строит на графике три инструмента Фибоначчи, опираясь на диапазон предыдущего периода. Верхний и нижний веера размечают уровни выше и ниже границ выбранного периода, а внутренний веер охватывает сам диапазон. Цвета каждого из трёх вееров задаются отдельными входными параметрами. Индикатор работает в окне графика и не создаёт отдельного подокна.

Период расчёта задаётся вручную числом минут: например, 1440 для дневного, 10080 для недельного и 43200 для месячного. Для недельного периода и для случаев, когда дневная свеча начинается с воскресного бара, границы диапазона дополнительно расширяются с учётом соседнего бара, чтобы охватить полный торговый диапазон. Все построения обновляются на каждом тике и привязаны к времени начала выбранного периода.

Индикатор создаёт графические объекты Фибоначчи, задаёт их уровни и описания, а при удалении с графика очищает созданные объекты. Внутренний веер включён постоянно и не выключается через входные параметры. Настройки позволяют изменить период расчёта и цвета трёх вееров.

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

НастройкаОписание
PeriodeNote Текстовая подсказка со справочными значениями периода в минутах: 1440 для дневного, 10080 для недельного и 43200 для месячного. На расчёт не влияет.
Periode Длина периода расчёта в минутах. Задаёт таймфрейм, по которому берутся границы диапазона для построения вееров Фибоначчи.
UpperFiboColor Цвет уровней верхнего веера Фибоначчи, построенного выше границы выбранного периода.
MainFiboColor Цвет уровней внутреннего веера Фибоначчи, охватывающего диапазон выбранного периода.
LowerFiboColor Цвет уровней нижнего веера Фибоначчи, построенного ниже границы выбранного периода.
Получить полный код

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

#property  indicator_chart_window

extern string PeriodeNote = "D1=1440, W1=10080, MN=43200";
extern int Periode = 1440;
extern color UpperFiboColor = Red;
extern color MainFiboColor = DimGray;
extern color LowerFiboColor = Green;
bool  InnerFibs = true;

double HiPrice, LoPrice, Range;
datetime StartTime;

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

int deinit()
{
   ObjectDelete("FiboUp");
   ObjectDelete("FiboDn");
   ObjectDelete("FiboIn");
   return(0);
}

int DrawFibo()
{
	if(ObjectFind("FiboUp") == -1)
		ObjectCreate("FiboUp",OBJ_FIBO,0,StartTime,HiPrice+Range,StartTime,HiPrice);
	else
	{
		ObjectSet("FiboUp",OBJPROP_TIME2, StartTime);
		ObjectSet("FiboUp",OBJPROP_TIME1, StartTime);
		ObjectSet("FiboUp",OBJPROP_PRICE1,HiPrice+Range);
		ObjectSet("FiboUp",OBJPROP_PRICE2,HiPrice);
	}
   ObjectSet("FiboUp",OBJPROP_LEVELCOLOR,UpperFiboColor);
   ObjectSet("FiboUp",OBJPROP_FIBOLEVELS,10);
   ObjectSet("FiboUp",OBJPROP_FIRSTLEVEL+0,0.0);	ObjectSetFiboDescription("FiboUp",0,"100.0"); 

   ObjectSet("FiboUp",OBJPROP_RAY,false);
   ObjectSet("FiboUp",OBJPROP_BACK,true);

	if(ObjectFind("FiboDn") == -1)
		ObjectCreate("FiboDn",OBJ_FIBO,0,StartTime,LoPrice-Range,StartTime,LoPrice);
	else
	{
		ObjectSet("FiboDn",OBJPROP_TIME2, StartTime);
		ObjectSet("FiboDn",OBJPROP_TIME1, StartTime);
		ObjectSet("FiboDn",OBJPROP_PRICE1,LoPrice-Range);
		ObjectSet("FiboDn",OBJPROP_PRICE2,LoPrice);
	}
   ObjectSet("FiboDn",OBJPROP_LEVELCOLOR,LowerFiboColor); 
   ObjectSet("FiboDn",OBJPROP_FIBOLEVELS,10);
   ObjectSet("FiboDn",OBJPROP_FIRSTLEVEL+0,0.0);	ObjectSetFiboDescription("FiboDn",0,"0.0"); 

   ObjectSet("FiboDn",OBJPROP_RAY,f

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

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

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

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

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

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

Стоимость полного кода
287,10₽ ≈ $3.51