Стратегия отслеживания импульса

Автор:Чао Чжан, Дата: 2023-11-10 12:12:44
Тэги:

img

Обзор

Эта стратегия основана на индикаторах импульса в сочетании с скользящими средними для отслеживания рыночных тенденций.

Логика стратегии

  1. Вычислить динамику цены как: (Текущая цена - цена N периодов назад) / цена N периодов назад

  2. Вычислить скользящую среднюю середину цены за N периодов

  3. Нормируйте значение импульса в диапазоне 0-1

  4. Когда нормализованный импульс больше 0,5, а цена выше скользящей средней, идти долго

  5. Когда нормализованный импульс меньше 0,5, и цена ниже скользящей средней, идти короткий

  6. Использовать движущийся механизм стоп-лосса с надлежащими уровнями стоп-лосса

Вышеприведенное охватывает основную логику торговли. Когда рынок находится в тренде, цена будет постоянно двигаться в одном направлении, генерируя большие значения импульса. Стратегия оценивает силу тренда с использованием импульса и направления с использованием скользящей средней для принятия решения о входе. Кроме того, стоп-лосс имеет решающее значение для контроля рисков.

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Отслеживает рыночные тенденции с потенциально большими прибылями

  2. Momentum чувствителен к изменениям цен и быстро реагирует на тенденции

  3. Движущиеся средние фильтруют случайный шум и хорошо сочетаются с импульсом

  4. Механизм остановки потерь ограничивает потери на отдельных сделках

  5. Простая и понятная логика, легко внедряемая и обратная проверка

  6. Гибкие параметры могут адаптироваться к различным периодам и режимам рынка

В целом, это отличная стратегия для трендовых рынков.

Анализ рисков

Несмотря на преимущества, следует отметить некоторые риски:

  1. Риск прорыва в восходящих тенденциях при перепаде цены после прорыва

  2. Риск перелома в нисходящих тенденциях при отскоке цены после падения

  3. Whipsaw сигналы, когда цена колеблется вокруг скользящей средней

  4. Ошибочные сигналы, если параметры не установлены правильно

  5. Недостаточная производительность на нестабильных рынках

  6. Строгий стоп-потеря и движение, необходимые для предотвращения преждевременного выхода

Для решения этих рисков стратегия стоп-лосса требует оптимизации, фильтрации ненужных сигналов с помощью свободных параметров, корректировки параметров для различных периодов и управления размером позиции.

Руководство по оптимизации

Вот некоторые способы дальнейшей оптимизации стратегии:

  1. Испытать различные комбинации параметров для достижения наилучших результатов обратного тестирования

  2. Включить правила торговой системы Turtle Trading выхода с 2N убытков и 1N прибыли

  3. Оптимизировать стоп-лосс с помощью индикаторов волатильности для адаптивного стоп-лосса

  4. Добавление правил размещения позиций на основе вывода, времени и т. д.

  5. Испытайте различные методы расчета импульса, такие как экспоненциальный средний движущийся импульс

  6. Добавить фильтры шаблона свечей для более надежных сигналов

  7. Использование машинного обучения для оптимизации параметров, выбора функций и т. Д.

  8. Включить некоторые дискреционные человеческие вклады в ключевые моменты

С этими улучшениями стратегия может достичь большей стабильности, адаптивности и рентабельности.

Заключение

Стратегия отслеживания импульса является простым и практичным подходом к тренду. Она может быстро улавливать рыночные тенденции и получать прибыль от рыночных пузырей и крахов. Но риски, связанные с кривой, должны управляться с дисциплинированным контролем рисков для поддержания надежности. С настройкой параметров и расширением функциональности стратегия может приносить стабильную прибыль в большем количестве режимов рынка.


/*backtest
start: 2023-11-02 00:00:00
end: 2023-11-09 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Momentum Strategy, rev.2", overlay=true)

//
// Data
//
src = input(close)
lookback = input(20)
cscheme=input(1, title="Bar color scheme", options=[1,2])

//
// Functions
//
momentum(ts, p) => (ts - ts[p]) / ts[p]

normalize(src, len) =>
    hi  = highest(src, len)
    lo  = lowest(src, len)
    res = (src - lo)/(hi - lo)

//
// Main
//
price = close
mid = sma(src, lookback)
mom = normalize(momentum(price, lookback),100)

//
// Bar Colors
//
clr1 = cscheme==1?black: red
clr2 = cscheme==1?white: green
barcolor(close < open ? clr1 : clr2)

//
// Strategy
//
if (mom > .5 and price > mid )
    strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
    strategy.cancel("MomLE")

if (mom < .5 and price < mid )
    strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE")
else
    strategy.cancel("MomSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Больше