Код модели обращенного Медленного %К


Глава 1 Глава 2 Глава 3

static void PrepareNeurallnputs (float *var, float *cls, int cb) {

// Преобразование исходных цен закрытия

// во входную информацию для нейронной сети.

// var - вывод: массив [1..18] переменных для нейросети

// cls - ввод: массив [1..] цен закрытия

// cb - ввод: индекс текущего дня

static pbars[] = { 0, 0,1,2,3,4,5,6,8,10,12,16,20,24,32,34,

40,48,64,96 };

static float pfac[19], amp;

static int notfirstpass, k;

// инициализируем таблицу фактора корректировки разницы

if(notfirstpass == FALSE) (

for(k = 1; k <= 18; k++)

pfac [k] = 1.0 / sqrt (pbars [k+1] - pbars[k]);

notfirstpass = TRUE;

}


// считаем откорректированные ценовые разницы и квадраты амплитуды

amp = 0.0;

for (k = 1; k <= 18; k++) (

var [k] = pfac [k] *

(cls[cb - pbars[k]] - cls (cb - pbars[k+1] ]);

amp += var [k] * var [k] ;

}

// нормирование вектора ценовых разниц к единице амплитуды

amp = 1.0 / sqrt(amp);

for(k = 1; k <= 18; k++)

var[k] = amp * var[k];

}

static void Model (float *parms, float *dt, float *opn, float *hi, float *lo, float *cls, float *vol, float *oi, float *dlrv, int nb, TRDSIM its, float *eqcls) (

// Выполняет простую торговую модель на нейросетях. Она

// торгует с помощью предсказания обратного Медленного %К.

// File = xl5modOl.c

// parms - набор [1..MAXPRM] параметров

// dt — набор [1..nb] дат в формате ГГММДД

// орn - набор [l..nb] цен открытия

// hi — набор [l..nb] максимальных цен

// 1о — набор [l..nb] минимальных цен

// cls - набор [l..nbj цен закрытия

// vol — набор [l..nb] значений объема

// oi — набор [l..nb] значений открытого интереса

// dlrv - набор [1..пЬ] средних долларовой волатильности

// nb — количество дней в наборе данных

// ts — ссылка на класс торгового симулятора

// eqcls — набор [l..nb] уровней капитала при закрытых позициях

//объявляем локальные переменные

static int rc, cb, ncontracts, maxhold, ordertype;

static int mode, signal, factcount, k, netnum;

static FILE *fil;

static NEURALNET *nnet; static char netname [20];

static float thresh, netout, var[19];

static float mmstp, ptlim, stpprice, limprice, tmp;

static float exitatr[MAXBAR+1], revstoch[MAXBAR+1];

Содержание раздела