Функция PrepareNeurallnputs
Функция PrepareNeurallnputs при
наличии индекса текущего дня и серии цен закрытия рассчитывает для данного
факта все входы, необходимые нейронной сети. В списке параметр pbars указывает
на относительный по сравнению с текущим (приравненным к нулю) номер дня из прошлых
данных, используемый для вычисления вышеописанных разностей цен. Первый блок
кода после объявления переменных запускает таблицу факторов подстройки цен.
Таблица запускается на первом проходе функции и содержит квадратные корни
количества дней между каждой из пар цен, используемых для расчета разностей.
Следующий блок кода рассчитывает скорректированные разности, а также суммы их
квадратов, т.е. квадрат амплитуды или длину результирующего вектора.
Код, реализующий торговую
модель, основан на наших обычных принципах. После объявления переменных ряд
параметров копируется в локальные переменные для простоты ссылок. Затем
рассчитываются средний истинный интервал, используемый для стандартного
выхода, и обращенный во времени Медленный %К с периодом 10 дней.
Один из параметров (mode ) выбирает
режим работы кода. Mode = 1 запускает код для подготовки факта; файл
открывается, заголовок (состоящий из числа входов — 18 и числа целей — 1)
записывается, и счет фактов начинается с нуля. Это производится только при
открытии первого из рынков в составе портфеля. Файл остается открытым все время
дальнейшей обработки, вплоть до конца обработки последнего символа в портфеле.
После заголовка в файл записываются факты. Все данные до начала периода
выборки и после окончания периода вне выборки игнорируются. Используются
только данные в пределах выборки. Каждый факт, записанный в файл, состоит из
номера факта, 18 переменных входов, рассчитанных процедурой PrepareNeurallnputs
, и цели (значения обращенного во времени Медленного %К). Пользователю
сообщается информация о продвижении работы.
Если mode выбирается
равным 2, то нейронная сеть, обученная на вышеописанном файле с фактами,
используется для генерации торговых входов. Первый блок кода открывает и
загружает нужную сеть до начала расчетов по первому рынку. После выполнения
стандартных функций обновления симулятора, расчета количества контрактов,
избежания дней с остановленной торговлей и т.п. запускается блок, генерирующий
сигналы входа и выхода. Функция PrepareNeurallnputs вызывается для
получения входных данных, соответствующих текущему дню. Сеть обрабатывает эти
данные, и на основании ее выхода генерируются сигналы на вход в рынок.
Правила генерации сигналов
таковы: если на выходе нейронной сети значение превышает порог thresh , то
подается сигнал на продажу — сеть предсказывает высокое значение обращенного во
времени Медленного %К, т.е. текущая цена закрытия, возможно, близка к
максимуму на ближайшее будущее. Если на выходе сети значение составляет менее
100 — thresh , то подается сигнал на покупку. Например, если thresh установлен
на уровне 80, то любой предсказанный Медленный %К более 80 будет вызывать
сигнал на продажу, а любой Медленный %К менее 20 — сигнал на покупку.
Кроме того, встроены еще два
блока, обеспечивающие отдачу собственно приказа на вход в рынок и работу
стандартизированного выхода. Эти блоки подобны использованным в предыдущих
главах.
Статья размещена в рубрике: Торговые системы
|