Руководство пользователя
Примеры использования индикаторов
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
Примеры использования индикаторов
Пример 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--;
}
}
Результат:
