Une stratégie de trading naturelle combinant MACD et RSI

MACD RSI WMA MA EMA SMMA RMA VWMA
Date de création: 2024-06-03 17:22:03 Dernière modification: 2024-06-03 17:22:03
Copier: 0 Nombre de clics: 512
1
Suivre
1219
Abonnés

Une stratégie de trading naturelle combinant MACD et RSI

Aperçu

La stratégie combine deux indicateurs techniques, le MACD et le RSI, pour déterminer le moment de la transaction en utilisant le signal de croisement du MACD et le signal de surachat et de survente du RSI. En même temps, la stratégie introduit une moyenne mobile pondérée (WMA) comme jugement auxiliaire pour améliorer la fiabilité de la stratégie. La stratégie fonctionne dans un délai d’une heure, lorsque le MACD se présente avec une fourchette dorée et que le RSI est supérieur à 50 pour ouvrir une position en plus, et lorsque le MACD se présente avec une fourchette morte et que le RSI est inférieur à 50 pour ouvrir une position vide.

Principe de stratégie

Le MACD est composé de différences entre les lignes rapides (la moyenne mobile à court terme) et les lignes lentes (la moyenne mobile à long terme), qui reflètent les changements de tendance du marché. Lorsque la ligne rapide traverse la ligne lente, une fourche dorée est formée, indiquant une tendance à la hausse, tandis que la fourche morte est formée, indiquant une tendance à la baisse.

La stratégie combine le MACD et le RSI pour mieux saisir le moment de la transaction en utilisant le jugement de tendance du MACD et le jugement de surachat et de survente du RSI. En outre, la stratégie introduit une moyenne mobile pondérée (WMA) comme jugement auxiliaire, qui accorde plus d’importance aux prix à court terme que la moyenne mobile ordinaire et reflète plus sensiblement les changements de prix.

En outre, la stratégie définit des variables de plusieurs périodes de temps (par exemple, 15 minutes, 30 minutes, 1 heure, 2 heures, etc.) pour juger de la variation des tendances sur différentes échelles de temps. Cette méthode d’analyse de plusieurs périodes de temps peut aider la stratégie à mieux comprendre les tendances du marché et à améliorer l’exactitude des décisions.

Analyse des avantages

  1. La combinaison de deux indicateurs techniques efficaces, le MACD et le RSI, permet de mieux saisir les tendances du marché et les situations de survente et de survente, ce qui améliore l’exactitude des décisions de négociation.
  2. Avec l’introduction de la moyenne mobile pondérée (WMA) comme jugement auxiliaire, la WMA accorde plus d’importance aux prix à court terme et est capable de refléter plus sensiblement les changements de prix, améliorant ainsi l’adaptabilité de la stratégie.
  3. La mise en place de variables de plusieurs périodes permet une analyse conjointe de plusieurs périodes, permettant une meilleure compréhension des tendances du marché et une meilleure fiabilité des décisions.
  4. Les transactions se déroulent dans un délai d’une heure, à une fréquence modérée, ce qui permet de mieux équilibrer les coûts et les bénéfices.
  5. Les conditions d’ouverture et de clôture des positions sont clairement définies, telles que MACD Gold, RSI Overbought et Oversold, et sont faciles à comprendre et à mettre en œuvre.

Analyse des risques

  1. Le MACD et le RSI sont des indicateurs en retard. Lorsqu’un marché évolue rapidement, il peut arriver que le signal de l’indicateur soit déconnecté du prix, ce qui entraîne des signaux erronés.
  2. Les stratégies fonctionnant sur un seul fuseau horaire (une heure) peuvent ne pas être en mesure de capturer pleinement les changements de tendance sur différentes échelles de temps, ce qui présente certaines limites.
  3. Le manque de mesures de contrôle des risques, telles que la gestion des stop-loss et des positions, peut entraîner un risque de retrait élevé en cas de forte volatilité du marché.
  4. Les paramètres de la stratégie (par exemple, le cycle de la ligne rapide et lente du MACD, le cycle de temps du RSI, etc.) peuvent nécessiter des ajustements en fonction des différentes conditions du marché, et le choix des paramètres est quelque peu subjectif et incertain.

Direction d’optimisation

  1. L’introduction de plus d’indicateurs techniques tels que les bandes de Brin, ATR, etc., pour créer des signaux de trading plus robustes et améliorer la fiabilité des stratégies.
  2. Optimiser la stratégie en choisissant des périodes plus élevées, telles que l’ajout d’une date, pour mieux saisir les grandes tendances, tout en définissant des points d’entrée spécifiques dans les périodes plus basses (par exemple, 15 minutes, 5 minutes, etc.) pour améliorer la précision de la stratégie.
  3. Ajouter des mesures de contrôle du risque, telles que la définition d’un seuil de stop-loss raisonnable et la limitation des positions de détention, afin de contrôler le risque de retrait.
  4. L’optimisation des paramètres de la stratégie peut être réalisée à l’aide de méthodes telles que l’apprentissage automatique pour trouver automatiquement la combinaison optimale de paramètres en fonction des données historiques, réduisant ainsi l’impact du jugement subjectif.
  5. Considérer d’autres facteurs tels que le sentiment du marché, le volume des transactions, le volume des positions, etc., afin de mieux comprendre l’état du marché et d’améliorer l’adaptabilité de la stratégie.

Résumer

La stratégie utilise deux indicateurs techniques efficaces, le MACD et le RSI, pour prendre des décisions de négociation dans un délai d’une heure. La logique de la stratégie est claire, facile à comprendre et à mettre en œuvre.

Code source de la stratégie
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Improved MACD and RSI Trading Strategy", overlay=true, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.01, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// MACD 設置
fast_length = input(12, title="MACD Fast Length")
slow_length = input(26, title="MACD Slow Length")
signal_smoothing = input(9, title="MACD Signal Smoothing")

// RSI 設置
input_rsi_length = input.int(14, title="RSI Length")
input_rsi_source = input(close, "RSI Source")

RSI = ta.rsi(input_rsi_source, input_rsi_length)

// 計算MACD和信號線
[macdLine, signalLine, _] = ta.macd(close, fast_length, slow_length, signal_smoothing)

// 自然交易理論:利用MACD和RSI的結合
ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

maTypeInput = input.string("SMA", title="Moving Average Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings")
maLengthInput = input.int(14, title="Moving Average Length", group="MA Settings")

macdMA = ma(macdLine, maLengthInput, maTypeInput)

// 設置交易信號
longCondition = ta.crossover(macdLine, signalLine) and macdLine > macdMA and RSI < 70
shortCondition = ta.crossunder(macdLine, signalLine) and macdLine < macdMA and RSI > 30

// 定義時間框架
tf_15m = ta.change(RSI, 15) > 0 ? 1 : 0
tf_30m = ta.change(RSI, 30) > 0 ? 1 : 0
tf_1h = ta.change(RSI, 60) > 0 ? 1 : 0
tf_2h = ta.change(RSI, 120) > 0 ? 1 : 0
tf_4h = ta.change(RSI, 240) > 0 ? 1 : 0
tf_6h = ta.change(RSI, 360) > 0 ? 1 : 0
tf_8h = ta.change(RSI, 480) > 0 ? 1 : 0
tf_12h = ta.change(RSI, 720) > 0 ? 1 : 0
tf_1d = ta.change(RSI, 1440) > 0 ? 1 : 0

// 設置開倉、平倉和空倉條件
if (longCondition and tf_1h and RSI > 50)
    strategy.entry("Long", strategy.long)
if (shortCondition and tf_1h and RSI < 50)
    strategy.entry("Short", strategy.short)

if (tf_1h and RSI > 70)
    strategy.close("Long")
if (tf_1h and RSI < 30)
    strategy.close("Short")

// 加入其他策略
// 定義加權平均價格
wma(source, length) =>
    wma = 0.0
    sum = 0.0
    sum_wts = 0.0
    for i = 0 to length - 1
        wts = (length - i) * (length - i)
        sum := sum + source[i] * wts
        sum_wts := sum_wts + wts
    wma := sum / sum_wts

wmaLength = input.int(20, title="WMA Length", group="Other Strategies")
wmaValue = wma(close, wmaLength)

// 設置交易信號
longWMACondition = close > wmaValue
shortWMACondition = close < wmaValue

if (longWMACondition and tf_1h and RSI > 50)
    strategy.entry("Long WMA", strategy.long)
if (shortWMACondition and tf_1h and RSI < 50)
    strategy.entry("Short WMA", strategy.short)

if (tf_1h and RSI > 70)
    strategy.close("Long WMA")
if (tf_1h and RSI < 30)
    strategy.close("Short WMA")

// 繪製MACD和RSI
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")