Stratégie de négociation quantitative combinant RSI, MACD et support/résistance

Auteur:ChaoZhang est là., Date: 2024-01-05 16:24:58 Le projet de loi est en cours de révision.
Les étiquettes:

img

Résumé

Cette stratégie est basée sur les indicateurs RSI et MACD, combinés avec des niveaux de support/résistance pour le jugement des signaux commerciaux.

La logique de la stratégie

La stratégie repose principalement sur deux indicateurs - RSI et MACD. L'indicateur RSI juge les statuts d'achat / survente, tandis que l'indicateur MACD détermine les statuts de tendance haussière / baissière. Il calcule d'abord la valeur du RSI sur 14 périodes, et fixe le seuil d'achat en survente à 70 et le seuil de survente à 30.

En outre, la stratégie calcule également les prix les plus élevés et les plus bas au cours des 100 dernières périodes en tant que niveaux de support/résistance. Lorsqu'un signal d'achat est déclenché, le prix doit être proche du niveau de support, c'est-à-dire à moins de 1% du niveau de support, pour émettre réellement un ordre d'achat. De même, lorsqu'un signal de vente est déclenché, le prix doit être inférieur de 1% au niveau de résistance pour émettre réellement un ordre de vente.

Les avantages de la stratégie

La stratégie combine l'analyse des tendances et la détection des niveaux de surachat/survente pour éviter de faux signaux basés sur un seul indicateur. En introduisant un filtre de support/résistance, elle peut réduire les mauvais trades dus à des rebonds près des niveaux S/R clés. La combinaison du MACD et du RSI peut identifier avec précision les mouvements de prix et les statuts OB/OS. Par rapport aux stratégies simples de moyenne mobile, cette stratégie peut capturer les tendances des prix à long terme plus flexiblement.

Risques liés à la stratégie

Les principaux risques de cette stratégie sont les suivants:

  1. Il peut manquer la plupart des bénéfices dans les tendances fortes, car il a tendance à entrer après la fin de l'inversion.

  2. Des paramètres RSI et MACD inappropriés peuvent provoquer des signaux erronés.

  3. Une logique de détection S/R simple peut surestimer ou sous-estimer les zones S/R réelles.

  4. Incapable de contrôler efficacement les pertes dans des conditions de marché extrêmes.

Pour faire face à ces risques, des méthodes telles que le MACD adaptatif, l'optimisation des paramètres du RSI, l'amélioration de l'identification S/R, la modélisation du régime du marché, etc. peuvent être utilisées pour améliorer la stratégie.

Conseils pour améliorer

La stratégie peut être améliorée à partir des dimensions suivantes:

  1. Mettre en place des mécanismes de stop loss, par exemple CANVAS

  2. Utiliser le MACD adaptatif pour l'ajustement des paramètres dynamiques

  3. Introduction d'une reconnaissance des modèles de prix pour une identification plus scientifique des S/R

  4. Incorporer plus de données pour établir une logique de détection de l'état du marché pour utiliser différents paramètres de manière adaptative

  5. Utiliser des algorithmes d'apprentissage automatique pour optimiser la stratégie de bout en bout

Grâce à ces améliorations, nous pouvons encore réduire le recours et améliorer la stabilité de la stratégie.

Conclusion

La stratégie intègre les indicateurs RSI et MACD pour déterminer les statuts OB/OS, et les échanges autour des niveaux de support/résistance, représentant une approche de suivi de tendance. En incorporant un filtre de support/résistance, le risque est réduit. L'avantage réside dans des signaux stables et un risque contrôlable adapté à la détention à long terme.


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

//@version=5
strategy("RSI + MACD with Support and Resistance", shorttitle="RSI_MACD_SR", overlay=true)

// Input for RSI and MACD values
rsiOverbought = input(70, title="RSI Overbought Threshold")
rsiOversold = input(30, title="RSI Oversold Threshold")
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalSmoothing = input(9, title="MACD Signal Smoothing")

// Calculating RSI and MACD
rsiValue = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing)

// Support and Resistance
support = ta.lowest(100)
resistance = ta.highest(100)

// Drawing support and resistance lines
// line.new(x1=bar_index[0], y1=support, x2=bar_index[-1], y2=support, color=color.green, width=1)
// line.new(x1=bar_index[0], y1=resistance, x2=bar_index[-1], y2=resistance, color=color.red, width=1)

// Buy Condition: If RSI is oversold and MACD line crosses above the signal line
// Additionally, check if price is near the support line
longCondition = ta.crossover(macdLine, signalLine) and rsiValue < rsiOversold and (close - support) < (close * 0.01)
strategy.entry("Long", strategy.long, when=longCondition, comment="Buy")

// Sell Condition: If RSI is overbought and MACD line crosses below the signal line
// Additionally, check if price is near the resistance line
shortCondition = ta.crossunder(macdLine, signalLine) and rsiValue > rsiOverbought and (resistance - close) < (close * 0.01)
strategy.entry("Short", strategy.short, when=shortCondition, comment="Sell")

// Plot values on the chart for visualization
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")

Plus de