Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Доброго времени суток!
Подскажите пожалуйста где в коде ошибка, не отображаются мувинги на барах тикового объема;(
Ниже выкладываю код и сам индикатор. Заранее всем спасибо!
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_minimum 0
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Red
#property indicator_color4 Blue
#property indicator_color5 Black
#property indicator_color6 DarkGray
extern int Period_MA1 = 8; // Период расчётной МА1
extern int Period_MA2 = 21; // Период расчётной МА2
extern int Period_MA3 = 55; // Период расчётной МА3
extern int Period_MA4 = 144; // Период расчётной МА4
double UpTicks[];
double DownTicks[];
double MA1[];
double MA2[];
double MA3[];
double MA4[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorShortName("VTS_MA("+Symbol()+")");
SetIndexStyle(0,DRAW_HISTOGRAM,0,1);
SetIndexBuffer(0,UpTicks);
SetIndexDrawBegin(0,1);
SetIndexLabel(0,"UpTicks");
SetIndexStyle(1,DRAW_HISTOGRAM,0,1);
SetIndexBuffer(1,DownTicks);
SetIndexDrawBegin(1,1);
SetIndexLabel(1,"DownTicks");
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,MA1);
SetIndexLabel(2,"MA=8");
SetIndexStyle(3,DRAW_LINE,0,1);
SetIndexBuffer(3,MA2);
SetIndexDrawBegin(3,1);
SetIndexLabel(3,"MA=21");
SetIndexStyle(4,DRAW_LINE,0,1);
SetIndexBuffer(4,MA3);
SetIndexDrawBegin(4,1);
SetIndexLabel(4,"MA=55");
SetIndexStyle(5,DRAW_LINE,0,1);
SetIndexBuffer(5,MA4);
SetIndexDrawBegin(5,1);
SetIndexLabel(5,"MA=144");
IndicatorDigits(Digits);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
ObjectDelete("UpTicks1");
ObjectDelete("DownTicks1");
ObjectDelete("UpTicks2");
ObjectDelete("DownTicks2");
Comment("");
return(0);
}
//+------------------------------------------------------------------+
//| Ticks Volume Indicator |
//+------------------------------------------------------------------+
int start()
{
ObjectDelete("UpTicks1");
ObjectDelete("DownTicks1");
ObjectDelete("UpTicks2");
ObjectDelete("DownTicks2");
int i,counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
for(i=0; i<limit; i++)
{
MA1[i]=iMA(NULL,0,8,0,MODE_SMA,Volume[i],i);
MA2[i]=iMA(NULL,0,Period_MA2,0,MODE_SMA,Volume[i],i);
MA3[i]=iMA(NULL,0,Period_MA3,0,MODE_SMA,Volume[i],i);
MA4[i]=iMA(NULL,0,Period_MA4,0,MODE_SMA,Volume[i],i);
}
//----
for(i=0; i<limit; i++)
{
UpTicks[i]=(Volume[i]+(Close[i]-Open[i])/Point)/2;
DownTicks[i]=Volume[i]-UpTicks[i];
}
string BV="BUY VOLUME : "+DoubleToStr(UpTicks[0],0)+"";
string SV="SELL VOLUME: "+DoubleToStr(DownTicks[0],0)+"";
ObjectCreate("UpTicks2", OBJ_LABEL, WindowFind("TicksVolume("+Symbol()+")"), 0, 0);
ObjectSetText("UpTicks2",StringSubstr((BV),0), 7, "Tahoma Bold",Black);
ObjectSet("UpTicks2", OBJPROP_CORNER, 0);
ObjectSet("UpTicks2", OBJPROP_XDISTANCE, 5);
ObjectSet("UpTicks2", OBJPROP_YDISTANCE, 15);
ObjectCreate("DownTicks2", OBJ_LABEL, WindowFind("TicksVolume("+Symbol()+")"), 0, 0);
ObjectSetText("DownTicks2",StringSubstr((SV),0), 7, "Tahoma Bold",Black);
ObjectSet("DownTicks2", OBJPROP_CORNER, 0);
ObjectSet("DownTicks2", OBJPROP_XDISTANCE, 5);
ObjectSet("DownTicks2", OBJPROP_YDISTANCE, 25);
return(0);
}
//+------------------------------------------------------------------+