шаг цены

 

Всем доброго времени суток. Может кто подсказать если нельзя привязать график к определенному шагу цены может можно автоматически показывать его в виде информации? Тоесть шаг шкалы на графике меняется постоянно и его просто вывести в виде информации на график. Может есть уже готовый индикитор или скрипт?

 
См. Ренкобары!
 
borilunad:
См. Ренкобары!

Спасибо меня простой график устраивает. Просто нужен шаг цены если в мт4 нет возможности привязать график к определеному шагу автоматом.

 
ghenghea:

Спасибо меня простой график устраивает. Просто нужен шаг цены если в мт4 нет возможности привязать график к определеному шагу автоматом.

Не а, только в оффлайне.
 
extern color Color1=Green, Color2=Blue, Color3=Red;
extern int Level1=10, Level2=30, Level3=70;

extern int BoxWidth=10; // Ширина прямоугольника в барах 
extern double VShift=0.03; 
int init()
  {
   Level1=2*((Ask-Bid)/Point);
   if (Digits==3 || Digits==5) {
   Level2*=10; 
   Level3*=10;} 
   
   return(0);
  }
int deinit()
  {
   ObjectDelete(WindowExpertName()+"_1");
   ObjectDelete(WindowExpertName()+"_2");   
   ObjectDelete(WindowExpertName()+"_3");      
   WindowRedraw();
   
   return(0);
  }
int start()
  {
      
         double TopValue=WindowPriceMax()-(WindowPriceMax()-WindowPriceMin())*VShift;      
      
         int RightBar=WindowFirstVisibleBar()-WindowBarsPerChart()+1;
         
         Level1=2*((Ask-Bid)/Point);
         
         datetime Time1=fMyTime(RightBar);
         datetime Time2=fMyTime(RightBar+BoxWidth);
         fObjRectangle(WindowExpertName()+"_3",Time1,TopValue,Time2,TopValue-Point*Level3,Color3,1,0,0,true);
         
         Time1=fMyTime(RightBar+BoxWidth+1);
         Time2=fMyTime(RightBar+BoxWidth+1+BoxWidth);
         fObjRectangle(WindowExpertName()+"_2",Time1,TopValue,Time2,TopValue-Point*Level2,Color2,1,0,0,true);
         
         Time1=fMyTime(RightBar+BoxWidth+1+BoxWidth+1);
         Time2=fMyTime(RightBar+BoxWidth+1+BoxWidth+1+BoxWidth);
         fObjRectangle(WindowExpertName()+"_1",Time1,TopValue,Time2,TopValue-Point*Level1,Color1,1,0,0,true);
                  
   return(0);
  }

int fMyTime(int aShift){
      if(aShift<0){
         return(Time[0]+Period()*60*MathAbs(aShift));
      }
   return(Time[aShift]);
}


void fObjRectangle(
   string aObjectName,  // 1 имя
   datetime aTime_1,    // 2 время 1
   double aPrice_1,     // 3 цена 1
   datetime aTime_2,    // 4 время 2
   double aPrice_2,     // 5 цена 2
   color aColor=Red,    // 7 цвет
   int aWidth=1,        // 8 толщина
   int aWindowNumber=0, // 9 окно
   int aStyle=0,        // 10 0-STYLE_SOLID, 1-STYLE_DASH, 2-STYLE_DOT, 3-STYLE_DASHDOT, 4-STYLE_DASHDOTDOT
   bool aBack=false     // 11 фон
   ){
      if(ObjectFind(aObjectName)!=aWindowNumber){
         ObjectCreate(aObjectName,OBJ_RECTANGLE,aWindowNumber,aTime_1,aPrice_1,aTime_2,aPrice_2);
      }      
   ObjectSet(aObjectName,OBJPROP_TIME1,aTime_1);
   ObjectSet(aObjectName,OBJPROP_PRICE1,aPrice_1);   
   ObjectSet(aObjectName,OBJPROP_TIME2,aTime_2);       
   ObjectSet(aObjectName,OBJPROP_PRICE2,aPrice_2); 
   ObjectSet(aObjectName,OBJPROP_COLOR,aColor);
   ObjectSet(aObjectName,OBJPROP_WIDTH,aWidth);
   ObjectSet(aObjectName,OBJPROP_BACK,aBack);
   ObjectSet(aObjectName,OBJPROP_STYLE,aStyle);                
}
Небольшой индикатор эксперт, два задаваемых уровня и двойной спред.