24398f5c

выходим из сделок, используя модифицированный


// выходим из сделок, используя модифицированный стандартный выход // вместе с нейросетевым выходом exitsignal = rulel[cb] && rule2[cb] && rule3[cb]; if(entryposted > 0} { // инициализация и выходы для длинных позиций в день входа limprice = entryprice + ptlim * exitatr[cb]; stpprice = entryprice - mmstp * exitatr[cb]; ts.exitlonglimit{'A' , limprice); ts.exitlongstop('B', stpprice); if(exitsignal) 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(exitsignal) ts.exitshortclose('F') ; } else ( // выходы после дня входа if(ts.position()> 0) [ // длинные позиции ts.exitlonglimit('G' , limprice) ; ts.exitlongstop('H', stpprice); if(cb- entrybar >= maxhold) exitsignal) ts.exitlongclose('I') ; } else if(ts.position() < 0) [ // короткие позиции ts.exitshortlimit('J' , limprice); ts.exitshortstop('K' , stpprice); if(cb- entrybar >= maxhold exitsignal) ts.exitshortclose('L'); } ) } // обрабатываем следующий день } Вышеприведенный код демонстрирует логику как входов, так и выходов. Параметр modeltype управляет выбором длинных или коротких позиций для тестирования. Параметры ptlim и mmstp задают соответственно целевую прибыль и защитную остановку; они фиксированы на тех же уровнях, что и в предыдущем тесте нейронной сети. Каждое из трех правил рассчитывается как серия значений ИСТИНА/ЛОЖЬ, и если все три принимают значение ИСТИНА, то подается сигнал на выход exitsig. В текст программы добавлен оператор if, который подает сигнал на выход по цене закрытия, если (if) все три правила дают значение ИСТИНА (exitsig = ИСТИНА). Эволюция правил для длинных и коротких позиций проводилась аналогично эволюции правил для входов, описанной в гл. 12. Использовались 12 хромосом с тремя генами- правилами каждая. Для получения правил выхода из длинных и коротких позиций проводится эволюция 2500 поколений с использованием OptEvolve. Затем для тестирования в пределах и вне пределов выборки отбирались по 10 лучших длинных и коротких решений. Содержание Назад Вперед