Индикаторы: Fibo Bar MT5

 

Fibo Bar MT5:

Индикатор, рисующий уровни Фибоначчи по последнему бару.

1

Автор: Taras Slobodyanik

 

76,4% не является правильным уровнем Фибо, он должен быть 78,6%.

176,4% также не является правильным уровнем.

 
Pawel Wojnarowski:

76,4% не является правильным уровнем Фибо, он должен быть 78,6%.

176,4% также не является действительным уровнем.

Да, это не настоящие уровни Фибо. Также как и 78.6 ;)
Реальные уровни это 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ...

Вы можете установить любые, нужные вам, уровни.

 

Что то не тот файл загрузил автор.

Нет настроек цвета линий.

Скачался #property version       "1.00"

 
Automated-Trading:

Fibo Bar MT5:

Автор: Taras Slobodyanik


Косяк в коде?

Видимо вот так должен быть, тогда появляются параметры настройки

//extern string comm0="";                      //-     -   -- ---- FIBO ---- --   -     -

input string comm0="";                      //-     -   -- ---- FIBO ---- --   -     -

extern ENUM_TIMEFRAMES Fibo_Bar=PERIOD_D1;   //Last Bar for Fibo

//input ENUM_TIMEFRAMES Fibo_Bar=PERIOD_D1;   //Last Bar for Fibo

//extern color  fibo_color1=SkyBlue;           //Upper color 

input color  fibo_color1=SkyBlue;           //Upper color

//extern color  fibo_color0=LimeGreen;         //Main color 

input color  fibo_color0=LimeGreen;         //Main color

//extern color  fibo_color2=Orange;            //Lower color 

input color  fibo_color2=Orange;            //Lower color

//extern ENUM_LINE_STYLE fibo_style=STYLE_DOT; //Style lines

input ENUM_LINE_STYLE fibo_style=STYLE_DOT; //Style lines

input  int    fibo_width=1;                  //Line Width


А на этот ругается ... почему?

input ENUM_TIMEFRAMES Fibo_Bar=PERIOD_D1;   //Last Bar for Fibo

 

да, разработчики убрали оператор "extern" из MQL5, нужно заменить на "input"

А на этот ругается ... почему?

удалите 45-ую строку...

пс. у меня в продуктах есть более продвинутая версия этого индикатора

 
Taras Slobodyanik:

да, разработчики убрали оператор "extern" из MQL5, нужно заменить на "input"

удалите 45-ую строку...

пс. у меня в продуктах есть более продвинутая версия этого индикатора


Спасибо за совет! Пытаюсь тестировать МТ5 и все время какие- то косяки.
 
Taras Slobodyanik:

да, разработчики убрали оператор "extern" из MQL5, нужно заменить на "input"

удалите 45-ую строку...

пс. у меня в продуктах есть более продвинутая версия этого индикатора


Что то в 45 строке вот эта скобка }

41 int OnInit()

42  {

43   if(Fibo_Bar==PERIOD_CURRENT) Fibo_Bar=(ENUM_TIMEFRAMES)Period();

44   return(INIT_SUCCEEDED);

45  }

Что надо убрать?

 
убрать надо ту строку на которую ругается компилятор - тут 43-тья
 
Taras Slobodyanik:
убрать надо ту строку на которую ругается компилятор - тут 43-тья


Спасибо! Закомментировал строку.

41 int OnInit()

42  {

43  // if(Fibo_Bar==PERIOD_CURRENT) Fibo_Bar=(ENUM_TIMEFRAMES)Period();

44   return(INIT_SUCCEEDED);

45  }

Заработал индикатор. 

 

Я пытался использовать два индикатора, но один удаляет графики другого, поэтому остается только добавить рандом в Label_prefix и добавить переменную в функцию DeleteObjects. Теперь вы можете использовать два индикатора одновременно


int OnInit()

{

Label_prefix = (MathRand()%12 +1) + Label_prefix;

//if (Fibo_Bar==PERIOD_CURRENT) Fibo_Bar=(ENUM_TIMEFRAMES)Period();

return(INIT_SUCCEEDED);

}


void DeleteObjects ()

{

for (int i=ObjectsTotal(0,0,-1)-1;i>=0;i--)

{

string name=ObjectName(0,i,0,-1);

if (StringFind(name,Label_prefix,0)>=0)

ObjectDelete(0,name);

}

}