Stratégie de suivi du spread du canal RSI


Date de création: 2023-12-18 17:48:24 Dernière modification: 2023-12-18 17:48:24
Copier: 0 Nombre de clics: 680
1
Suivre
1621
Abonnés

Stratégie de suivi du spread du canal RSI

Aperçu

La stratégie de suivi des écarts de la chaîne RSI est conçue pour capturer les explosions de vente et d’achat rapides sur le marché de la crypto-monnaie en suivant les fluctuations de l’indicateur RSI dans la chaîne de dépréciation.

Principe de stratégie

  1. Utilisez le Hull Moving Average Smooth RSI pour générer un indicateur RSI après le smooth. Il comprend le RSI de clôture, le RSI de la plus haute, le RSI de la plus basse et le RSI de la moyenne.

  2. Réglez le canal RSI sur 55-45. Lorsque l’indicateur RSI entre dans le canal 55-45, cela signifie qu’il entre dans la zone de choc.

  3. Lorsque l’indicateur RSI de clôture est descendu de la ligne de lancement du canal et que le prix de clôture est inférieur au cours moyen, cela indique que le prix est sous pression; tandis que l’indicateur RSI du cours moyen est toujours supérieur à la limite supérieure du canal, ce qui indique que le cours moyen a encore un dynamisme d’achat, conformément à la logique de suivi de la rupture du cours moyen, ce qui génère un signal d’achat.

  4. Lorsque le cours de clôture RSI rebondit à la limite inférieure du canal et que le cours de clôture est supérieur au cours moyen, le prix est soutenu; et lorsque le cours moyen RSI est inférieur à la limite inférieure du canal, le cours moyen est soumis à une pression plus forte, conformément à la logique de suivi de la rupture du cours moyen, ce qui génère un signal de vente.

  5. L’indicateur RSI des prix maximaux et minimaux est utilisé pour identifier en temps opportun les signaux de transaction inefficaces et les arrêts rapides.

Avantages stratégiques

  1. L’utilisation d’une rupture de prix moyen pour suivre la direction de la force du prix moyen est conforme à la philosophie du suivi de la tendance.

  2. Les oscillations du RSI se situent dans le canal de dépréciation, indiquant une entrée en correction. Le cours moyen est utilisé pour suivre la direction de la force du cours moyen afin d’éviter d’être pris dans des oscillations intermédiaires.

  3. Les indices RSI des prix les plus élevés et les RSI des prix les plus bas sont utilisés pour identifier rapidement les signaux de trading qui ne fonctionnent pas, pour un arrêt rapide des pertes et pour contrôler efficacement les pertes.

Risque stratégique

  1. Un mauvais réglage du RSI peut entraîner une sursensibilité ou une lenteur.

  2. La signification de la rupture du cours moyen n’est pas toujours fiable, et le cours moyen lui-même peut être en état de choc.

  3. Les crypto-monnaies sont très volatiles et une position de stop-loss trop souple peut entraîner des pertes importantes.

La solution est simple:

  • Optimiser les paramètres du RSI pour qu’ils répondent modérément aux variations de prix
  • Plus d’indicateurs pour déterminer la fiabilité de la rupture du prix médian
  • Réduire la position de stop pour éviter des pertes excessives

Orientation de l’optimisation de la stratégie

  1. La direction de la rupture des prix moyens combinée à plus d’indicateurs

On peut introduire des indicateurs comme les bandes de Brin pour déterminer si le cours médian est proche de la trajectoire ascendante ou descendante, ce qui améliore la précision de la détermination de la direction de la rupture du cours médian.

  1. L’introduction d’un modèle d’apprentissage automatique pour aider les jugements

Les modèles d’apprentissage en profondeur, tels que LSTM, sont utilisés pour prédire les tendances futures du prix moyen, et aider à déterminer si le prix moyen réussira à franchir une certaine direction.

  1. Utilisation d’un arrêt d’adaptation

Ajuster la position de stop loss en temps réel en fonction de la volatilité du marché. Par exemple, resserrer la position de stop loss lorsque la volatilité augmente; relâcher la position de stop loss lorsque la volatilité diminue.

Résumer

La stratégie de suivi des écarts de prix du canal RSI vise à capturer les explosions de vente et d’achat rapides sur le marché des crypto-monnaies en suivant les fluctuations de l’indicateur RSI dans le canal et en combinant les ruptures de prix. La stratégie combine efficacement les méthodes de suivi de la tendance et d’identification des intervalles, ce qui permet de toujours obtenir de meilleures transactions lorsque les écarts de prix se réduisent.

Code source de la stratégie
/*backtest
start: 2023-11-17 00:00:00
end: 2023-12-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Hull MA of RSI Strategy",overlay=false)
//+++++++++++++++++++++++++++++++
//++++++++++++ Setup ++++++++++++
//+++++++++++++++++++++++++++++++
// RSI 
rsi1_tt="=== RSI ==="
rsi1_len=input(13,title="Period",inline="set",group=rsi1_tt)
//Mid
mid_tt="=== Mid Channel ==="
upper=input(55.0,title="Upper",inline="set",group=mid_tt)
lower=input(45.0,title="Lower",inline="set",group=mid_tt)
//Over
over_tt="=== Over ==="
ovb=input(70.0,title="Overbought",inline="set",group=over_tt)
ovs=input(30.0,title="Oversold",inline="set",group=over_tt)
//++++++++++++++++++++++++++++++++++++++++
//++++++++++++ Hull MA of RSI ++++++++++++
//++++++++++++++++++++++++++++++++++++++++
hma_tt="=== Hull MA ==="
hma_len=input(3,title="Period",inline="set",group=hma_tt)
rsi_c=hma(rsi(close,rsi1_len),hma_len)
rsi_h=hma(rsi(high,rsi1_len),hma_len)
rsi_l=hma(rsi(low,rsi1_len),hma_len)
rsi_hl2=hma(rsi(hl2,rsi1_len),hma_len)
//++++++++++++++++++++++++++++++++
//++++++++++++ Signal ++++++++++++
//++++++++++++++++++++++++++++++++
var order_status="None"
BuySignal=
       crossunder(rsi_c,ovb)
       and
       close<hl2
       and
       rsi_hl2>ovb
       and
       order_status=="None"
CloseBuy=
       order_status[1]=="Long"
       and
       (crossover(rsi_c,ovb)
       or
       crossunder(rsi_l,upper))
SellSignal=
       crossover(rsi_c,ovs)
       and
       close>hl2
       and
       rsi_hl2<ovs
       and
       order_status=="None"
CloseSell=
       order_status[1]=="Short"
       and
       (crossunder(rsi_c,ovs)
       or
       crossover(rsi_h,lower))
ExitSignal=
       CloseBuy
       or
       CloseSell
if BuySignal
    order_status:="Long"
if SellSignal
    order_status:="Short"
if ExitSignal
    order_status:="None"

//+++++++++++++++++++++++++++++++++++
//++++++++++++ Plot Line ++++++++++++
//+++++++++++++++++++++++++++++++++++
rsi_c_col=
       rsi_c>upper?color.new(color.blue,0):
       rsi_c<lower?color.new(color.blue,0):
       color.new(color.orange,0)
rsi_h_col=
       rsi_h>upper?color.new(color.green,0):
       rsi_h<lower?color.new(color.green,0):
       color.new(color.orange,0)
rsi_l_col=
       rsi_l>upper?color.new(color.yellow,0):
       rsi_l<lower?color.new(color.yellow,0):
       color.new(color.orange,0)
rsi_hl2_col=
       rsi_hl2>upper?color.new(color.olive,0):
       rsi_hl2<lower?color.new(color.olive,0):
       color.new(color.orange,0)
plot(rsi_c,title="RSI Close",color=rsi_c_col,linewidth=2)
plot(rsi_h,title="RSI High",color=rsi_h_col,linewidth=1)
plot(rsi_l,title="RSI Low",color=rsi_l_col,linewidth=1)
plot(rsi_hl2,title="RSI HL2",color=rsi_hl2_col,linewidth=1)
upper_line=hline(upper,title="Upper",color=color.new(color.black,100))
lower_line=hline(lower,title="Lower",color=color.new(color.black,100))
fill(upper_line,lower_line,title="Mid Channel",color=color.silver)
ovb_line=hline(ovb,title="Overbought",color=color.new(color.silver,0),linestyle=hline.style_solid,linewidth=2)
ovs_line=hline(ovs,title="Oversold",color=color.new(color.silver,0),linestyle=hline.style_solid,linewidth=2)

//++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++ Plot Analyzing Signals ++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++
//Color
buy_col=
       BuySignal?color.new(color.blue,70):na
sell_col=
       SellSignal?color.new(color.red,70):na
close_buy_col=
       CloseBuy and order_status[1]=="Long"?color.new(color.yellow,70):na
close_sell_col=
       CloseSell and order_status[1]=="Short"?color.new(color.yellow,70):na
//Background
bgcolor(close_buy_col, title='Close Buy', offset=0)
bgcolor(close_sell_col, title='Close Sell', offset=0)
bgcolor(sell_col, title='Sell', offset=0)
bgcolor(buy_col, title='Buy', offset=0)
//++++++++++++++++++++++++++++++++++
//++++++++++++ Backtest ++++++++++++
//++++++++++++++++++++++++++++++++++
strategy.entry("Long",strategy.long,when=BuySignal)
strategy.close("Long",when=CloseBuy)
strategy.entry("Short",strategy.short,when=SellSignal)
strategy.close("Short",when=CloseSell)
//EOF