
Aperçu
Cette stratégie est un système de trading basé sur le suivi de la tendance, combinant la moyenne ((EMA), l’indicateur de dynamique ((MACD) et l’indicateur de survente et de survente ((RSI) pour la génération de signaux et le contrôle du risque. La stratégie utilise un mécanisme de stop-loss dynamique pour juger de l’état du marché grâce à la combinaison de plusieurs indicateurs techniques, afin de saisir efficacement la tendance.
Principe de stratégie
La logique fondamentale de la stratégie repose sur les aspects suivants :
- Détermination de la tendance: le système de ligne moyenne EMA de 50 cycles et de 200 cycles est utilisé pour déterminer la tendance du marché, la ligne moyenne à court terme étant considérée comme une tendance à plusieurs têtes au-dessus de la ligne moyenne à long terme.
- Signaux d’entrée: sur la base de la confirmation de la tendance à plusieurs têtes, la combinaison de la fourche MACD ((12,26,9) et du RSI ((14) n’est pas dans la zone de surachat ((<70) comme condition de survente)).
- La pause dynamique: le moment de l’arrêt est déterminé par la surveillance de plusieurs indicateurs de l’état du marché:
- Revers de tendance: la moyenne à court terme est inférieure à la moyenne à long terme ou le prix est inférieur à la moyenne à court terme
- Le MACD est à l’arrêt: la ligne MACD descend et brise la ligne de signal
- Le RSI dépasse les 70 et commence à baisser
- Contrôle des risques: Stop-loss fixe, réglé à moins de 1,5% du prix d’ouverture.
Avantages stratégiques
- Confirmation de signaux multidimensionnels: amélioration de la fiabilité des signaux de négociation grâce à la combinaison d’indicateurs tridimensionnels de tendance, de dynamique et de surachat.
- Un système de freinage flexible: le freinage dynamique évite les problèmes de sortie prématurée qui peuvent être causés par un freinage fixe et permet de mieux maîtriser les tendances.
- Contrôle des risques: un taux de stop-loss fixe assure la maîtrise des risques de chaque transaction.
- La logique de la stratégie est claire: le rôle de chaque indicateur est clairement défini, facile à comprendre et à optimiser.
- Adaptabilité: la logique de base peut être ajustée par paramètres pour s’adapter à différentes variétés de transactions et périodes de temps.
Risque stratégique
- Risque de choc du marché: dans le cas de choc horizontal, le système de ligne uniforme peut générer trop de faux signaux.
- Risque de retard: les indicateurs techniques sont retardés, et il est possible de rater le meilleur moment d’entrée et de sortie dans un environnement rapide.
- Sensitivité des paramètres: les paramètres de plusieurs indicateurs peuvent affecter la performance de la stratégie et doivent être testés de manière adéquate.
- Dépendance de l’environnement du marché: la stratégie fonctionne mieux dans les marchés où la tendance est claire, mais peut être moins efficace dans d’autres états de marché.
Orientation de l’optimisation de la stratégie
- Introduction d’indicateurs quantitatifs: On peut envisager d’ajouter des indicateurs tels que le volume des transactions, les flux de capitaux pour améliorer la fiabilité du signal.
- Optimisation des paramètres dynamiques: les paramètres des indicateurs peuvent être ajustés dynamiquement en fonction de la volatilité du marché, ce qui améliore l’adaptabilité de la stratégie.
- Amélioration du système de freinage: il est possible de configurer plusieurs niveaux de freinage, avec différentes conditions de sortie à différents niveaux de prix.
- Augmenter le filtrage des conditions de marché: ajouter des indicateurs tels que la volatilité, l’intensité de la tendance pour juger si le marché actuel est adapté à la stratégie.
- Optimisation des mécanismes d’arrêt des pertes: l’utilisation d’un arrêt suivi ou d’un arrêt dynamique basé sur l’ATR peut être envisagée pour améliorer la flexibilité des contrôles de risque.
Résumer
La stratégie a été conçue avec une compréhension approfondie du marché, tandis qu’une configuration claire de stop-loss assure la maîtrise du risque. Le cadre de la stratégie présente une bonne évolutivité et, grâce à une optimisation et à une amélioration supplémentaires, il est possible d’obtenir de meilleurs résultats de négociation.
Code source de la stratégie
/*backtest
start: 2024-02-10 00:00:00
end: 2025-02-08 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BTC 15分钟动态止盈策略", overlay=true)
// === 参数设置 ===
// EMA 参数
ema_short_length = input.int(50, title="短期EMA长度", minval=1)
ema_long_length = input.int(200, title="长期EMA长度", minval=1)
// MACD 参数
macd_fast_length = input.int(12, title="MACD快速线长度", minval=1)
macd_slow_length = input.int(26, title="MACD慢速线长度", minval=1)
macd_signal_length = input.int(9, title="MACD信号线长度", minval=1)
// RSI 参数
rsi_length = input.int(14, title="RSI长度", minval=1)
rsi_overbought = input.int(70, title="RSI超买区", minval=1, maxval=100)
rsi_oversold = input.int(30, title="RSI超卖区", minval=1, maxval=100)
// 止损参数
stop_loss_pct = input.float(1.5, title="止损百分比", minval=0.1)
// === 指标计算 ===
// 均线
ema_short = ta.ema(close, ema_short_length)
ema_long = ta.ema(close, ema_long_length)
// MACD
[macd_line, signal_line, _] = ta.macd(close, macd_fast_length, macd_slow_length, macd_signal_length)
// RSI
rsi = ta.rsi(close, rsi_length)
// === 趋势过滤 ===
bullish_trend = ema_short > ema_long // 多头趋势:短期均线高于长期均线
bearish_trend = ema_short < ema_long // 空头趋势:短期均线低于长期均线
// === 买入条件 ===
// 1. EMA 显示多头趋势
// 2. MACD 金叉(MACD 线向上突破信号线)
// 3. RSI 不在超买区域
buy_signal = bullish_trend and ta.crossover(macd_line, signal_line) and rsi < rsi_overbought
// === 危险信号(动态止盈条件) ===
// 1. 趋势反转:短期均线跌破长期均线,或者价格跌破短期均线
// 2. MACD 死叉:MACD 线向下跌破信号线
// 3. RSI:RSI 超买并开始回落
danger_signal = bearish_trend or close < ema_short or ta.crossunder(macd_line, signal_line) or (rsi > rsi_overbought and ta.falling(rsi, 2)) // 检查 RSI 最近2周期是否下降
// === 策略执行 ===
if (buy_signal)
strategy.entry("Buy", strategy.long)
// 动态止盈和止损
if (strategy.position_size > 0)
stop_price = strategy.position_avg_price * (1 - stop_loss_pct / 100) // 固定止损
strategy.exit("Exit", from_entry="Buy", stop=stop_price, when=danger_signal)
// === 绘制图表 ===
// EMA 绘制
plot(ema_short, color=color.blue, title="短期EMA")
plot(ema_long, color=color.orange, title="长期EMA")
// MACD 绘制
plot(macd_line, color=color.green, title="MACD线")
plot(signal_line, color=color.red, title="信号线")
// RSI 超买/超卖区域
hline(rsi_overbought, "RSI超买区", color=color.red, linestyle=hline.style_dotted)
hline(rsi_oversold, "RSI超卖区", color=color.green, linestyle=hline.style_dotted)
// 背景颜色:显示趋势
bgcolor(bullish_trend ? color.new(color.green, 90) : color.new(color.red, 90), title="趋势背景")