Руководство пользователя

Примеры использования индикаторов
NetTradeX PC
NetTradeX Android
NetTradeX iOS
NetTradeX Mobile
NetTradeX Advisors
Примеры использования индикаторов

Пример 1. Отображение трех линий индикатора Alligator.

int ExtCountedBars=0;
extern int JawsPeriod=13;
extern int JawsShift=8;
extern int TeethPeriod=8;
extern int TeethShift=5;
extern int LipsPeriod=5;
extern int LipsShift=3;
double ExtMapBuffer[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
extern int MA_Period = 3;
extern int ma_method = 0;
extern int ma_shift = 0;
extern int applied_price = 0;
int Initialize()
  {
	Indicator.SetIndexCount(3);
	Indicator.SetIndexDrawStart(0,JawsPeriod-1);
	Indicator.SetIndexDrawStart(1,TeethPeriod-1);
	Indicator.SetIndexDrawStart(2,LipsPeriod-1);
	Indicator.SetIndexBuffer(0,ExtMapBuffer);
	Indicator.SetIndexBuffer(1,ExtMapBuffer2);
	Indicator.SetIndexBuffer(2,ExtMapBuffer3);
	Indicator.SetIndexStyle(0,0,0,1,0xFF0000);
	Indicator.SetIndexStyle(1,0,0,1,0x00FF00);
	Indicator.SetIndexStyle(2,0,0,1,0x0000FF);
	return(0);
  }
int Run()
  {
    ExtCountedBars=Indicator.Calculated;
    if (ExtCountedBars<0) { System.Print("Error"); return(-1); }
    if (ExtCountedBars>0) ExtCountedBars--;
	draw();
	return(0);
  }
int DeInitialize()
  {
   return(0);
  }
void draw()
  {
   int pos=Chart.Bars-ExtCountedBars-1;
   while(pos>=0)
    {
	
	  ExtMapBuffer[pos]=Indicators.Alligator(Chart.Symbol,Chart.Interval,JawsPeriod,JawsShift,TeethPeriod,TeethShift,LipsPeriod,LipsShift,ma_method,applied_price,0,pos);
	  ExtMapBuffer2[pos]=Indicators.Alligator(Chart.Symbol,Chart.Interval,JawsPeriod,JawsShift,TeethPeriod,TeethShift,LipsPeriod,LipsShift,ma_method,applied_price,1,pos);
	  ExtMapBuffer3[pos]=Indicators.Alligator(Chart.Symbol,Chart.Interval,JawsPeriod,JawsShift,TeethPeriod,TeethShift,LipsPeriod,LipsShift,ma_method,applied_price,2,pos);
	  pos--;
    }  
  }

Результат:

Пример 2. Вывод гистограммы индикатора Awesome Oscillator в отдельном окне.

#set_indicator_separate
double ExtMapBuffer[];
double ExtMapBuffer2[];
int ExtCountedBars=0;
int Initialize()
  {
	Indicator.SetIndexCount(2);	
	Indicator.SetIndexBuffer(0,ExtMapBuffer);
	Indicator.SetIndexStyle(0,2,0,2,0xFF0000);
	Indicator.SetIndexBuffer(1,ExtMapBuffer2);
	Indicator.SetIndexStyle(1,2,0,2,0xFF0000);
	Indicator.SetDigits(1);
	return(0);
  }

int Run()
  {
   ExtCountedBars=Indicator.Calculated;
   if (ExtCountedBars<0) { System.Print("Error"); return(-1); }
   if (ExtCountedBars>0) ExtCountedBars--;
   draw();
   return(0);
  }
int DeInitialize()
  {
   return(0);
  }
void draw()
  {
   int pos=Chart.Bars-ExtCountedBars-1;
   while(pos>=0)
    {
		ExtMapBuffer[pos]=Indicators.AO(Chart.Symbol,Chart.Interval,pos);
		ExtMapBuffer2[pos]=0;
		pos--;
    }  
  }

Результат: