Эта стратегия основана на индикаторах импульса в сочетании с скользящими средними для отслеживания рыночных тенденций.
Вычислить динамику цены как: (Текущая цена - цена N периодов назад) / цена N периодов назад
Вычислить скользящую среднюю середину цены за N периодов
Нормируйте значение импульса в диапазоне 0-1
Когда нормализованный импульс больше 0,5, а цена выше скользящей средней, идти долго
Когда нормализованный импульс меньше 0,5, и цена ниже скользящей средней, идти короткий
Использовать движущийся механизм стоп-лосса с надлежащими уровнями стоп-лосса
Вышеприведенное охватывает основную логику торговли. Когда рынок находится в тренде, цена будет постоянно двигаться в одном направлении, генерируя большие значения импульса. Стратегия оценивает силу тренда с использованием импульса и направления с использованием скользящей средней для принятия решения о входе. Кроме того, стоп-лосс имеет решающее значение для контроля рисков.
Эта стратегия имеет следующие преимущества:
Отслеживает рыночные тенденции с потенциально большими прибылями
Momentum чувствителен к изменениям цен и быстро реагирует на тенденции
Движущиеся средние фильтруют случайный шум и хорошо сочетаются с импульсом
Механизм остановки потерь ограничивает потери на отдельных сделках
Простая и понятная логика, легко внедряемая и обратная проверка
Гибкие параметры могут адаптироваться к различным периодам и режимам рынка
В целом, это отличная стратегия для трендовых рынков.
Несмотря на преимущества, следует отметить некоторые риски:
Риск прорыва в восходящих тенденциях при перепаде цены после прорыва
Риск перелома в нисходящих тенденциях при отскоке цены после падения
Whipsaw сигналы, когда цена колеблется вокруг скользящей средней
Ошибочные сигналы, если параметры не установлены правильно
Недостаточная производительность на нестабильных рынках
Строгий стоп-потеря и движение, необходимые для предотвращения преждевременного выхода
Для решения этих рисков стратегия стоп-лосса требует оптимизации, фильтрации ненужных сигналов с помощью свободных параметров, корректировки параметров для различных периодов и управления размером позиции.
Вот некоторые способы дальнейшей оптимизации стратегии:
Испытать различные комбинации параметров для достижения наилучших результатов обратного тестирования
Включить правила торговой системы Turtle Trading выхода с 2N убытков и 1N прибыли
Оптимизировать стоп-лосс с помощью индикаторов волатильности для адаптивного стоп-лосса
Добавление правил размещения позиций на основе вывода, времени и т. д.
Испытайте различные методы расчета импульса, такие как экспоненциальный средний движущийся импульс
Добавить фильтры шаблона свечей для более надежных сигналов
Использование машинного обучения для оптимизации параметров, выбора функций и т. Д.
Включить некоторые дискреционные человеческие вклады в ключевые моменты
С этими улучшениями стратегия может достичь большей стабильности, адаптивности и рентабельности.
Стратегия отслеживания импульса является простым и практичным подходом к тренду. Она может быстро улавливать рыночные тенденции и получать прибыль от рыночных пузырей и крахов. Но риски, связанные с кривой, должны управляться с дисциплинированным контролем рисков для поддержания надежности. С настройкой параметров и расширением функциональности стратегия может приносить стабильную прибыль в большем количестве режимов рынка.
/*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)