Les ressources ont été chargées... Je charge...

Stratégie de négociation en crypto-monnaie basée sur le croisement entre le RSI stochastique et l'EMA

Auteur:ChaoZhang est là., Date: 2024-03-08 16:44:51 Je suis désolé
Les étiquettes:

img

Vue d'ensemble de la stratégie

Cette stratégie combine le RSI stochastique et l'EMA pour détecter les tendances et vérifier les signaux de négociation. Lorsque le prix remonte au-dessus de l'EMA20 entre l'EMA9 et l'EMA14, et que le RSI stochastique est en dessous du niveau de survente, un signal long est généré; lorsque le prix remonte au-dessous de l'EMA20 entre l'EMA9 et l'EMA14, et que le RSI stochastique est au-dessus du niveau de surachat, un signal court est généré.

Principes de stratégie

  1. Utilisez la fonction ta.ema pour calculer 3 EMA avec des périodes différentes, à savoir EMA9, EMA14 et EMA20, afin de déterminer l'état de tendance du prix.
  2. Utilisez la fonction ta.rsi pour calculer l'indicateur RSI, puis utilisez la fonction ta.stoch pour convertir l'indicateur RSI en indicateur RSI stochastique pour déterminer si le prix est suracheté ou survendu.
  3. Lorsque le prix de clôture > EMA20 et le prix de clôture < EMA9 et EMA14, et le RSI stochastique < niveau de survente, un signal long est déclenché et une opération d'achat est exécutée.
  4. Lorsque le prix de clôture < EMA20 et le prix de clôture > EMA9 et EMA14, ainsi que le RSI stochastique > sont surachetés, un signal court est déclenché et une opération de vente est exécutée.

L'idée de base de cette stratégie est d'utiliser le RSI stochastique pour déterminer si la retraite des prix dans la tendance principale (représentée par l'EMA20) a atteint une zone de surachat ou de survente appropriée, tout en utilisant l'EMA rapide et l'EMA moyenne pour vérifier la force de la retraite. Si le prix traverse l'EMA rapide et l'EMA moyenne, la retraite peut se terminer et la tendance peut s'inverser, ce qui n'est pas approprié pour entrer dans une position.

Les avantages de la stratégie

  1. Combine les indicateurs de tendance (EMA) et les indicateurs d'oscillateur (RSI) pour mieux comprendre la tendance et le moment des surachats/survente.
  2. Il adopte l'indicateur RSI stochastique, qui présente deux avantages par rapport à l'indicateur RSI original: l'un est une fluidité accrue de l'indicateur, et l'autre est d'éviter que l'indicateur ne s'accroche à des valeurs extrêmes pendant une longue période.
  3. La vérification à conditions multiples peut filtrer efficacement de nombreux faux signaux et améliorer la fiabilité des signaux.
  4. La logique du code est claire et simple, facile à comprendre et à modifier, et peut être utilisée comme modèle pour les débutants à apprendre.

Risques stratégiques

  1. Ne convient pas aux marchés latéraux, car les EMA se croisent fréquemment, ce qui peut produire de nombreux faux signaux.
  2. Si la tendance est très forte et que le prix augmente ou diminue unilatéralement, cette stratégie perdra beaucoup d'opportunités parce que le retracement est très superficiel.
  3. La sélection des paramètres de l'EMA a une grande incidence sur la stratégie et doit être ajustée séparément pour les différentes variétés et périodes.
  4. Les paramètres du RSI stochastique doivent également être ajustés en fonction de la situation réelle, et les valeurs par défaut actuelles peuvent ne pas fonctionner correctement sur certaines variétés.

Directions d'optimisation

  1. Envisager l'introduction de l'indicateur ATR pour ajuster dynamiquement les niveaux de surachat et de survente afin de s'adapter aux différents niveaux de volatilité.
  2. Ajouter plus d'EMA avec des périodes différentes pour décrire plus précisément la position des retracements de prix.
  3. Il convient également de prendre en considération le stop loss et le take profit, en utilisant le stop loss en pourcentage ou le stop loss ATR et le stop loss de suivi pour protéger les bénéfices.
  4. Les modèles de chandeliers tels que les barres d'épingles et les modèles d'engulissement peuvent être utilisés pour aider à juger des inversions de tendance comme conditions supplémentaires pour améliorer la précision.

Résumé

Cette stratégie utilise le RSI stochastique combiné à la vérification multiconditionnelle de l'EMA pour contrôler efficacement le risque tout en saisissant les retracements de tendance. L'idée générale est simple et facile à comprendre, adaptée aux débutants pour apprendre et utiliser. Cependant, la stratégie elle-même présente également certaines limitations, telles qu'une mauvaise performance sur les marchés latéraux, une compréhension insuffisante des mouvements de tendance, etc., qui doivent être ajustées de manière flexible en fonction de la situation réelle.


/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Crypto-EMA_Pullback=-", overlay=true,initial_capital = 10000000,default_qty_type=strategy.percent_of_equity, default_qty_value=10.0, pyramiding = 10)

// Inputs
lengthRsi = input(14, title="RSI Length")
k = input(3, title="Stoch %K")
d = input(3, title="Stoch %D")
lengthStoch = input(14, title="Stochastic RSI Length")
overSold = input(25, title="Oversold Level")
overBought = input(85, title="Overbought Level")
emaFastLength = input(9, title="Fast EMA Length")
emaMediumLength = input(14, title="Medium EMA Length")
emaSlowLength = input(20, title="Slow EMA Length")

// Calculating EMAs
emaFast = ta.ema(close, emaFastLength)
emaMedium = ta.ema(close, emaMediumLength)
emaSlow = ta.ema(close, emaSlowLength)

// Calculating the RSI and Stoch RSI
rsi = ta.rsi(close, lengthRsi)
stochRsiK = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), k)
stochRsiD = ta.sma(stochRsiK, d)

// Entry Conditions
bullishCondition = close > emaSlow and close < emaFast and close < emaMedium and stochRsiK < overSold
bearishCondition = close < emaSlow and close > emaFast and close > emaMedium and stochRsiK > overBought

// Strategy Execution
if (bullishCondition)
    strategy.entry("Long", strategy.long)

if (bearishCondition)
    strategy.entry("Short", strategy.short)

// Plotting
plot(emaFast, color=color.blue, title="Fast EMA")
plot(emaMedium, color=color.orange, title="Medium EMA")
plot(emaSlow, color=color.red, title="Slow EMA")
hline(overSold, "Oversold", color=color.green)
hline(overBought, "Overbought", color=color.red)


Plus de