Stratégie de suivi des opportunités de l'EMA, de Hull et de RSI

Auteur:ChaoZhang est là., Date: 18 janvier 2024
Les étiquettes:

img

Résumé

Cette stratégie construit des signaux de trading basés sur les moyennes mobiles, les moyennes mobiles de Hull et l'indice de force relative (RSI).

La logique de la stratégie

  1. Calculer la moyenne mobile exponentielle (EMA) à 50 périodes comme indicateur pour juger de la tendance.
  2. Calculer la moyenne mobile de Hull sur 7 jours comme indicateur moyen plus sensible et de premier plan, en traversant la EMA pour former des croix dorées et des croix mortes.
  3. Définissez la ligne de surachat et la ligne de survente pour le RSI à 60 et 45 respectivement.
  4. Lorsque le surachat se produit en même temps qu'une pénétration à la hausse de l'EMA, il s'agit d'un signal court.
  5. Lorsque la survente se produit en même temps qu'une pénétration à la baisse de l'EMA, il s'agit d'un signal long.

Les avantages de la stratégie

  1. Utilise une combinaison d'EMA, de Hull et de RSI pour évaluer de manière exhaustive les tendances du marché, l'élan et les zones de surachat/survente, améliorant ainsi la précision du signal.
  2. L'EMA évalue les tendances à moyen et long terme, Hull dirige les mouvements à court terme, le RSI identifie les niveaux de surachat/survente.
  3. Les signaux d'entrée doivent satisfaire aux critères de tendance, de dynamique et de zones de surachat/survente pour être déclenchés simultanément, ce qui permet de filtrer efficacement les faux signaux.

Risques liés à la stratégie

  1. En utilisant seulement 3 indicateurs, vous risquez de manquer certaines opportunités de trading.
  2. Les périodes EMA et Hull nécessitent des tests et une optimisation continus, les sélections de paramètres inappropriées peuvent avoir un impact sur la qualité du signal.
  3. Les paramètres RSI doivent également être ajustés pour les différentes actions et devises qui peuvent avoir des normes de surachat/survente différentes.

Les domaines d'amélioration

  1. Plus d'indicateurs auxiliaires peuvent être introduits, par exemple des bandes de Bollinger, des lignes de KC, etc. pour créer une prise de décision multi-résonance.
  2. Les paramètres peuvent être optimisés pour différents produits.
  3. Des analyses à plus long terme peuvent être intégrées afin d'éviter d'être induit en erreur par des falsifications à court terme.
  4. Des stratégies de stop loss peuvent être mises en œuvre pour gérer le risque.

Résumé

Cette stratégie utilise la combinaison d'EMA, Hull et RSI à travers les délais pour capturer les opportunités de trading à moyen et court terme. Les signaux d'entrée doivent répondre aux critères de tendance, de dynamique et de surachat/survente simultanément afin de filtrer les faux signaux. La stratégie peut être encore améliorée par l'optimisation des paramètres et l'introduction de plus d'indicateurs auxiliaires pour améliorer la stabilité et les performances de trading.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Bitduke

//@version=4
strategy(shorttitle="EHR", title="Simple EMA_Hull_RSI", overlay=false, 
     calc_on_every_tick=false, pyramiding=0, default_qty_type=strategy.cash, 
     default_qty_value=1000, currency=currency.USD, initial_capital=1000,
     commission_type=strategy.commission.percent, commission_value=0.075)

// EMA
len = input(minval=1, title="EMA Length", defval=50)
src = input(close, title="EMA Source")
final_ema = ema(src, len)
plot(final_ema, color=color.red, title="EMA")

overbought = input(60, title="overbought value")
oversold = input(45, title="oversold value")

overbought_signal = rsi(close, 14) > overbought
oversold_signal = rsi(close, 14) < oversold
barcolor(overbought_signal ? color.black : na)
barcolor(oversold_signal ? color.blue : na)
// Hull MA
n = input(title="Hull Length", defval=7)
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))

n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))

n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?color.green:color.red
ma=plot(n1,color=c)

// Strategy Logic
longCondition =  overbought_signal and crossover(n1,final_ema) 
shortCondition = oversold_signal and crossover(final_ema,n1) 

strategy.entry("EHR_Long", strategy.long, when=longCondition)
strategy.entry("EHR_Short", strategy.short, when=shortCondition)


Plus de