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

Таймсерии
NetTradeX PC
NetTradeX Android
NetTradeX iOS
NetTradeX Mobile
NetTradeX Advisors
Таймсерии

Для работы с историческими барами в языке NetTradeX используются специальные массивы-таймсерии. Особенность этих массивов - обратная индексация: последний элемент имеет индекс 0, предпоследний - 1 и т.д. Названия у массивов предопределенные и программисту не нужно их объявлять.

Существуют следующие массивы-таймсерии:

  • Open - цена открытия бара
  • High - максимальная цена бара
  • Low - минимальная цена бара
  • Close - цена закрытия бара
  • Time - время открытия бара
  • Volume - тиковый объем бара

Пример. Найдем максимальное и минимальное значение среди всех баров за последний час и выведем соответствующие линии на графике:

int ExtCountedBars = 0;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
int Initialize()
{
	Indicator.SetIndexCount(2);		
	Indicator.SetIndexBuffer(0,ExtMapBuffer1);
	Indicator.SetIndexStyle(0,0,0,2,0xFF0000);
	Indicator.SetIndexBuffer(1,ExtMapBuffer2);
	Indicator.SetIndexStyle(1,0,0,2,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()
{
	double high = High[0];
	double low = Low[0];
	datetime currentTime = System.Time;
	for(int i=0; i<Chart.Bars && ((Time[i]+3600)>currentTime); i++)
	{
		if(High[i]>high)
		{
			high = High[i];
		}	
		if(Low[i]<low)
		{
			low = Low[i];
		}
	}
	int pos=Chart.Bars-1;
	while(pos>=0)
	{
		ExtMapBuffer1[pos]=high;
		ExtMapBuffer2[pos]=low;
		pos--;
	}   
}