Требуется небольшая помощь в коде индикатора

 
Проблема следующая: Мне нужно модифицировать код так чтобы объект фибо отображался
1)на предыдущих барах(в истории)
2)сделать ограничение на кол-во отображаемых баров в истории.



на этом простом примере

//+------------------------------------------------------------------+
//| Custom Moving Average.mq4 |
//| Copyright © 2005, MetaQuotes Software Corp. |
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link "https://www.metaquotes.net//"

#property indicator_chart_window

int i,s,x1;
double y1,y2;
color col=Black;


//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
//---------------------------------------------------------
int init()
{

fibo();

return(0);
}
//---------------------------------------------------------
int deinit()
{
ObjectDelete("fibo1");
return(0);
}
//---------------------------------------------------------
int start()

{

fibo();

return(0);
}
//+------------------------------------------------------------------+

int fibo()

{
x1=Time[0];
y1=Open[0];
y2=Open[30];

ObjectCreate("fibo1", OBJ_FIBO, 0, x1, y1, x1, y2);
ObjectSet("fibo1",OBJPROP_COLOR,Black);
ObjectSet("fibo1",OBJPROP_LEVELCOLOR,col);
ObjectSet("fibo1",OBJPROP_RAY,0);



return(0);
}

Надеюсь на вашу профессиональную помощь
 
Diav:
2)сделать ограничение на кол-во отображаемых баров в истории.

Что вы подразумеваете под этим?

x1=Time[0];
y1=Open[0];
y2=Open[30]; - вместо красного ставьте нужные номера баров

 
x1=Time[0];
y1=Open[0];
y2=Open[30]; - вместо красного ставьте нужные номера баров


Подразумиваю, что нужно вставить

//---- indicator parameters
extern int x1=0; эти значения не главное, получается что только настоящий бар отображается,  нужно чтоб индикатор отображал объект фибо на каждом баре ограничиваясь только параметром CountBars
extern int y1=0;
extern int y2=30;
extern int CountBars=3000;  //вот этот параметр нужно ввести
 

Вы можете прикрепить на график неограниченное количество индикаторов с разными параметрами)))

 
Integer:

Вы можете прикрепить на график неограниченное количество индикаторов с разными параметрами)))



Ну конечно))) тогда я вручную раставлю объекты фибо)))

Iteger объясените пожалуйста как сделать индикатор в котором на каждый бар можно нацепить объект...

Я просто никак немогу понять как пишется та или иная формула для построения индикатора.
 

for(i=0;i<CountBars;i++){

x1=Time[0];
y1=Open[0];
y2=Open[i];

ObjectCreate("fibo1"+Time[i]/*уникальное имя для каждого объекта*/, OBJ_FIBO, 0, x1, y1, x1, y2);


}

 
Integer:

for(i=0;i<CountBars;i++){


   x1=Time[0];
   y1=Open[0];
   y2=Open[i];


    ObjectCreate("fibo1"+Time[i]/*уникальное имя для каждого объекта*/, OBJ_FIBO, 0, x1, y1, x1, y2);



}



Но всё равно индикатор составляет все обекты на настоящий бар, как сделать же так чтоб он рисовал обекты в истории а не на нынешнем баре??
 
В таком случае, когда уже все разжевано, осталось только чуть-чуть подумать, остается только один вариант - нанять программиста.
 
Integer:
В таком случае, когда уже все разжевано, осталось только чуть-чуть подумать, остается только один вариант - нанять программиста.

=) Да, вы правы, но я все же пытаюсь научиться сам...

если есть совет, по поводу самообучения, то обязательно скажите)))


Спасибо за внимание к моей проблеме
Причина обращения: