Руководство пользователя
Таймсерии
NetTradeX PC
NetTradeX Android
NetTradeX iOS
NetTradeX Mobile
NetTradeX Advisors
-
Руководство по NTTX Advisors
- Терминал NetTradeX Advisors
-
Статьи
-
NetTradeX Language: Введение
- Основы языка
- Функции языка
-
Cистемные объекты языка
- Сделки
- Ордера
- Индикаторы
- Объектно-ориентированное программирование
-
DLL файлы
-
Объект Account
-
Объект Bars
-
Объект Chart
-
Объект datetime
-
Объект History
-
Объект file
-
Объект Globals
-
Объект Math
-
Объект Symbols
-
Объект System
Таймсерии
Для работы с историческими барами в языке 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--; } }