Методология тестирования нейронного компонента стратегии выходов 3





// выходим из сделок, используя модифицированный стандартный выход
// вместе с нейросетевым выходом
if(entryposted > 0) (
// инициализация и выходы для длинных позиций в день входа
limprice = entryprice + ptlim * exitatr[cb];
stpprice = entryprice - iranstp * exitatr[cb] ;
ts.exitlonglimit('A', limprice);
ts.exitlongstop('В', stpprice);
if(prd[cb] > thresh) ts.exitlongclose('C' ) ;
)
else if(entryposted < 0) {
// инициализация и выходы для коротких позиций в день входа
limprice = entryprice - ptlim * exitatr[cb);
stpprice = entryprice + mmstp * exitatr[cb];
ts.exitshortlimit('D' , limprice);
ts.exitshortstop('E' , stpprice);
if(prd[cb] < 100.0- thresh) ts.exitshortclose('F') ;
}
else [
// выходы после дня входа
if(ts.position() > 0} { // длинные позиции
ts.exitlonglimit('G' , limprice);
ts.exitlongstop('H', stpprice);
if(cb- entrybar >= maxhold
prd[cb] > thresh) ts.exitlongclose('I');
}
else if (ts.position() < 0) { // короткие позиции
ts.exitshortlimit('J' , limprice);
ts.exitshortstop('K' , stpprice);
if (cb- entrybar >= maxhold
prd[cb] < 100.0- thresh) ts.exitshortclose('L') ;
}
}
} // обрабатываем следующий день
)

Вышеприведенный фрагмент кода описывает логику стратегии выходов. Параметры ptlim и mmstp имеют значения 4,5 и 1,5 соответственно, поскольку эти значения давали лучшую эффективность при торговле портфелем (см. табл. 14- 1 в гл. 14). Параметр thresh, т.е. значение порога для выходов на основе нейронного прогноза, подвергается оптимизации. Логика дополнительного выхода видна в блоке if, где сравниваются порог и прогноз, выданный сетью. Если условие выполняется, то по цене закрытия дня отдается приказ на выход из сделки. Параметр thresh прогоняется от 50 до 80 с шагом 2.