
Aperçu
Cette stratégie est une stratégie typique de suivi d’opportunités. Elle permet d’identifier automatiquement les opportunités de marché, de passer à long terme et de négocier à court et moyen terme.
Principe de stratégie
- Calculer une moyenne mobile indicielle de 50 cycles (EMA) comme indicateur de la moyenne pour déterminer la tendance.
- La moyenne mobile de Hull sur 7 jours est utilisée comme indicateur de moyenne plus sensible et plus précoce, formant ainsi une fourche dorée avec l’EMA.
- Le RSI est défini sur les lignes de surachat et de survente de 60 et 45 respectivement. Un RSI supérieur à 60 est un signal de surachat et un RSI inférieur à 45 est une zone de survente.
- Un signal de marge est donné lorsque l’hyper-achat se produit simultanément à une traversée à la hausse de l’EMA.
- Lorsque la zone de survente se produit simultanément avec une traversée à la baisse de l’EMA, un signal de survente est donné.
Avantages stratégiques
- La combinaison de trois indicateurs EMA, Hull et RSI permet de juger de la tendance, de la dynamique et des zones de survente et de survente du marché, ce qui améliore la précision du signal.
- L’EMA détermine les tendances à moyen et long terme, le Hull détermine les zones de survente, le RSI détermine les zones de survente, les différents indicateurs cycliques sont utilisés en combinaison pour saisir différents niveaux d’opportunités de trading.
- Un signal de transaction ne peut être déclenché que si les trois conditions suivantes sont remplies: tendance, dynamique et zone de survente.
Risque stratégique
- Il est possible de rater des opportunités de trading en utilisant seulement trois combinaisons d’indicateurs.
- Les réglages périodiques de l’EMA et de Hull nécessitent des tests et des optimisations répétés, et le choix inapproprié des paramètres peut affecter la qualité de l’appel.
- Les paramètres du RSI doivent également être ajustés, car les critères d’évaluation des surachats et des surventeurs diffèrent selon les actions et les devises.
Optimisation de la stratégie
- Il est possible d’introduire plus d’indicateurs auxiliaires, tels que les lignes de Brin, les lignes KC, etc., pour former des résonances multiples pour la prise de décision.
- Il est possible d’optimiser différentes combinaisons de paramètres pour différentes variétés.
- Il est possible de prendre des décisions en fonction de cycles de temps de haut niveau et d’éviter d’être induit en erreur par de fausses avancées à court terme.
- Une stratégie de gestion des risques de stop-loss peut être introduite.
Résumer
La stratégie utilise une combinaison de trois indicateurs EMA, Hull et RSI pour capturer des opportunités de trading à court et moyen terme. La génération de signaux de stratégie nécessite de répondre aux trois dimensions de la tendance, de la dynamique et de l’outsourcing, afin de filtrer de nombreux faux signaux. De plus, la stabilité et la performance des stratégies peuvent être améliorées par l’optimisation des paramètres et l’introduction de plus d’indicateurs auxiliaires.
Code source de la stratégie
/*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)