Функция Euclidean_Metric – представляет собой классификатор. Функция по имеющейся базе векторов описывающих либо сделки, либо ситуации на рынке определяет принадлежность входного вектора к какой-либо группе векторов из базы. Вектора на группы разделяет трейдер. Пример: если сделка закрылась с положительным результатом то это класс 1, если с отрицательным результатом то класс 0. Поиск ближайших соседей многомерного вектора производиться при помощи евклидова расстояния. Затем просчитывается сколько из этих k-векторов принадлежат к классу 1, после чего делим это число на общее количество соседей(т.е. на k) и получаем вероятность принадлежности данного вектора к классу 1. Из-за “плохих” выбранных координат векторов мы не можем доверять полностью (просто выше 0,5 или ниже 0,5) классификации, поэтому дополнительно автор ввёл пороговое значение, т.е. если вероятность прибыльности будущей сделки выше, допустим, 0,7 то входим в рынок. В качестве измерений(координат) векторов разработчик взял отношения мувингов, предположив что отношения стационарны и раз расклассифицировав вектора(сделки) можно будет использовать такую классификацию и на форварде. Почему именно k-ближайших соседей? Просто потому что если взять 1-го ближайшего соседа, то это может оказаться аномальным выбросом случайной величины который и будет выбран для классификации, не учитывая что рядом скопление противоположных(по группе) векторов. Подробное описание можно прочесть в книге Хайкина С. «Нейронные сети: полный курс»(Методы Обучения).
Проблемы классификатора 2:
1) Найти стационарные данные описывающие рыночные ситуации(или будущие сделки) с требуемой точностью или с требуемым уровнем правильной классификации.
2) Большой объём мат.операций следствие – долго считается…(в сравнении с PNN немного меньше)
Проще говоря проблемы практически те же что и у обычных ТС. Единственное, классификатор может формализовать условия которые трейдер не увидит, но например на интуитивном уровне будет чувствовать что от каких-то значений индикатора зависит стоит ли входить сейчас в рынок.
Теперь поговорим конкретно о реализации.
Base — true пишем файл с базой векторов, false торгуем с классификацией…
buy_threshold=0.6 порог на все Buy позиции
sell_threshold=0.6 аналогично на sell
inverse_position_open_?=true; А вот это интересный момент, Если у нас вероятность прибыльной сделки очень мала, то почему бы нам не зайти в рынок с инвертированной позицией? Ну вот этот флажок включает такие позиции.
invers_buy_threshold=0.3 порог, когда вероятность прибыльной Buy позиции меньше то входим на селл
invers_sell_threshold=0.3; аналогично…
fast=12 параметры MACD
slow=34;
tp=40; Тэйк
sl=30; Стоп
close_orders=false; флажок включает закрытие по противоположному сигналу, только если ордер в прибыли…
Используем так: Сначала флажок Base — true, ставим sl=tp и прогоняем по истории (1 раз!) записывается файл векторов. Следующий раз ставим Base — false и пороги желательно оптимизировать, на априорно я выбираю глядя на 1-й отчёт(без классификации) если вероятность выигрыша = 0,5 то пороги 0,6 и 0,4(на инвертированные позиции)
Stat Euclidean Metric - MT4
Комментариев 0
Для того чтобы иметь возможность комментировать Вам нужно зарегистрироваться или войти