TrendSurfing - Стратегия двойного скользящего среднего перекрестного тренда

Автор:Чао Чжан, Дата: 2024-01-04 17:28:14
Тэги:

Обзор

Стратегия TrendSurfing - это стратегия отслеживания тренда, основанная в основном на сигналах перекрестного движения двойной скользящей средней. Она также включает в себя визуальные индикаторы треугольника, 200-дневную EMA, индикатор ROC и индикатор RSI для фильтрации шума и точного улавливания переворотов тренда. Эта стратегия подходит для средне- и долгосрочного держания и может достичь устойчивого роста на бычьем рынке.

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

Стратегия TrendSurfing в основном опирается на золотой крест и смертельный крест, сформированные быстрой скользящей средней и медленной скользящей средней для генерации сигналов покупки и продажи. Когда быстрый MA пересекает медленный MA, генерируется сигнал покупки. Когда быстрый MA пересекает медленный MA, генерируется сигнал продажи.

Кроме того, стратегия включает в себя несколько вспомогательных индикаторов для фильтрации ложных сигналов или определения качества тренда, в том числе:

  1. Индикатор ROC для определения тенденции и динамики цен
  2. Осиллятор RSI для обнаружения уровней перекупа/перепродажи
  3. 200-дневная EMA для определения общего направления тренда
  4. Триугольные визуальные индикаторы для обозначения входных точек на графике

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

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

1. Уловить средне- и долгосрочную тенденцию
Стратегия в основном рассматривает изменение тренда на основе пересечения MA и использует такие индикаторы, как 200-дневная EMA, для отфильтрации краткосрочного шума, сосредоточив внимание на среднесрочном и долгосрочном восприятии тренда.

2. Многочисленные показатели обеспечивают высокое качество поступления
В дополнение к самому кроссоверу MA, включение ROC, RSI и других индикаторов позволяет избежать консолидационных зон в точках перехода и обеспечивает качественное вхождение.

Интуитивные визуальные индикаторы треугольника
Зеленые треугольники вниз указывают на длинные записи, красные вверх указывают на короткие записи.

4. Настраиваемые параметры для различных потребностей
Пользователи могут свободно регулировать такие параметры, как периоды MA, длина ROC, длина RSI и т. д. в соответствии со своим собственным стилем торговли.

5. Прекратить потери и контролировать прибыль
Стратегия устанавливает стоп-лосс и прибыль на основе стоимости ATR, умноженной на процент риска, что позволяет контролировать риск по сделке.

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

1. Риск неудачных сделок
Любая стратегия, основанная на перекрестном использовании MA, сопряжена с риском отсутствия сделок или остановки, когда MA колеблется.

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

3. Неспособность полностью фильтровать события Черного Лебедя
При экстремальных рыночных условиях стратегии могут по-прежнему испытывать большие потери от рыночных системных рисков.

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

1. Испытание и оптимизация параметров
Периоды МА, длительность РОК, значения RSI и т. д. должны пройти строгое обратное тестирование и оптимизацию для соответствия характеристикам различных торговых продуктов.

2. Испытать и включить другие вспомогательные показатели
Продолжайте тестировать комбинации других показателей, таких как BOLL, KDJ и т. д. с перекрестными показателями MA для улучшения результатов.

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

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

Заключение

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

[/trans]


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Moving Average Crossover with Triangles, 200 EMA, ROC, and RSI", overlay=true)

// Define input parameters
fast_length = input(9, title="Fast MA Length")
slow_length = input(21, title="Slow MA Length")
roc_length = input(14, title="ROC Length")
rsi_length = input(14, title="RSI Length")

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Plot moving averages
plot(fast_ma, color=color.green, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")

// Plot 200 EMA
ema_200 = ema(close, 200)
plot(ema_200, color=color.white, title="200 EMA", linewidth=2)

// Calculate Rate of Change (ROC)
roc = roc(close, roc_length)

// Calculate RSI
rsi = rsi(close, rsi_length)

// Define strategy entry and exit conditions
long_condition = crossover(fast_ma, slow_ma) and roc > 0 and close > ema_200 and rsi > 55
short_condition = crossunder(fast_ma, slow_ma) and roc < 0 and close < ema_200 and rsi < 45

// Execute strategy
strategy.entry("Long", strategy.long, when=long_condition)
strategy.entry("Short", strategy.short, when=short_condition)

// Define stop loss and take profit levels
risk_percent = input(1, title="Risk Percentage", minval=0.1, maxval=5, step=0.1) / 100
atr_value = atr(14)
stop_loss = close - atr_value * risk_percent
take_profit = close + atr_value * risk_percent

strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stop_loss, profit=take_profit)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stop_loss, profit=take_profit)

// Plot larger triangles on crossover and crossunder
plotshape(series=long_condition, title="Long Entry", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(series=short_condition, title="Short Entry", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)


Больше