Пример стратегии без параметров
Last updated
Last updated
Стратегия описана в одной из статей Юрия Чеботарева и Сергея Яшина в журнале Валютный спекулянт.
Идея построена на том, что цена проходит за определенное кол-во времени определенное кол-во шагов. Если цена прошла много, вероятно рынок трендовый. Т.е. если бар большой и цена двигалась наверх, то покупаем, если бар маленький, то выходим из позиции.
Соответственно, для входа в короткую позицию используем бары с направлением вниз.
Реализация стратегии с параметром, очевидно, выглядела бы достаточно просто, нужно было лишь посчитать размеры баров и написать простые условия, что размер бара больше или меньше, например константы.
Авторы статьи предлагают интересный подход и стратегия интересна именно подходом к параметрам.
Если среднее значение бара (H+L)/2 ниже некоторого значения Дельта (L+∆), то это бар с низкой волатильностью рынка, на котором нам не интересно извлекать прибыль. Если среднее значение бара (H+L)/2 выше значения Дельта (L+∆), то это бар с высокой волатильностью рынка, вероятно есть смысл войти в позицию, с целью извлечения краткосрочной прибыли.
Если (H+L)/2 > L+∆ – это сигнал открытия длинной позиции. Это же условие является условием нахождения в длинной позиции для всех баров. Если (H+L)/2 ≤ L+∆ - это сигнал не открывать длинные позиции.
На следующем рисунке показаны правила входа в рынок с короткими позициями.
Если среднее значение бара выше уровня H-∆
(H+L)/2≥H-∆, то имеет место бар с низкой волатильностью.
Если (H+L)/2<H-∆ – это сигнал открытия короткой позиции и одновременно это условие нахождения в короткой позиции для всех баров.
Здесь, под ∆ понимается некое критическое значение цены, превышая которое, рынок начинает развивать поступательное движение. Его можно выразить через сам бар.
Сначала определим вторичный коэффициент k для длинных позиций: k=(close - open)/(high-low)
для коротких позиций k=(open-close)/(high-low)
Коэффициент k изменяется от 0 до 1. Если k=0, это бар на не волатильном рынке, боковое движение.
Если k=1, то имеет место трендовый рынок.
Следуя этой логике, если k=0, то ∆ должна быть большой, чтобы условия входа в рынок не выполнялись.
Если k=1, то ∆ должна стремиться к нулю. Отсюда и формула: ∆ = (high-low)*(1-k)
Таким образом, дельта находится индивидуально для каждого бара и не требуется оптимизаций. По заверениям авторов статьи, наличие в торговой системе параметров, которые необходимо оптимизировать является недостатком. Как правило, после оптимизации, система работает некоторое время, после чего параметры снова нужно оптимизировать. Поэтому, для любого трейдера приоритетно создавать такие торговые системы, в которых не было бы никаких параметров или параметры бы сильно не влияли на саму торговую идею, и не требовалось бы проводить оптимизацию по историческим данным. Авторы статьи явно не учли параметр Время, то время, за которое цена прошла расстояние, а именно таймфрейм, на котором построены бары.
Приведенный пример алгоритма предназначен исключительно в образовательных целях, для изучения программы TSLab.
Всем удачи!
Материалы: скрипт Strategy without parameters.tscript (Скачайте файл. Откройте в программе TSLab "Лаб" -> "Управление скриптами" → Нажмите кнопку "Загрузить из файла").