Stratégie de saut de prix à double moyenne mobile


Date de création: 2023-11-21 14:28:35 Dernière modification: 2023-11-21 14:28:35
Copier: 0 Nombre de clics: 586
1
Suivre
1617
Abonnés

Stratégie de saut de prix à double moyenne mobile

Aperçu

La stratégie utilise le RSI pour juger si une position est trop achetée ou trop vendue, et un système de jugement de tendance composé de lignes rapides, moyennes et lentes pour juger si une position est trop ouverte en cas de saut de prix.

Principe de stratégie

  1. L’indicateur RSI est utilisé pour juger de l’excédent d’achat et de la survente
  • Le paramètre RSI est réglé sur 14 cycles
  • La ligne de survente est 30, la ligne de surachat est 70.
  1. Déterminer la tendance en utilisant les moyennes SMA de trois périodes différentes
  • La ligne rapide est un SMA à 9 cycles, représentant une tendance à court terme
  • La ligne médiane est une SMA de 50 cycles, représentant la tendance à moyen terme.
  • La ligne lente est un SMA de 200 cycles, représentant une tendance à long terme.
  1. Lorsque la ligne rapide traverse la ligne médiane et que l’indicateur RSI indique une survente, effectuez une entrée supplémentaire

  2. Faire une entrée en position courte lorsque la courbe inférieure traverse la ligne médiane et que le RSI indique un surachat

  3. Le stop loss est fixé à 4% du prix d’entrée.

  4. Le profit est obtenu en bloquant les positions, d’abord en bloquant 20%, puis en bloquant 15% si le prix continue d’augmenter, puis en sortant de la position

Analyse des avantages

  1. La moyenne SMA de trois périodes permet de juger de la variation de la tendance à différentes périodes
  2. L’utilisation de l’indicateur RSI pour éviter de placer des positions dans des zones où il n’y a pas de survente
  3. La clôture par lots augmente le cycle de détention stratégique et augmente le rendement moyen de la détention

Analyse des risques

  1. Probabilité que les trois lignes soient fausses
  2. Le risque d’un échec de la distribution des lots
  3. Il est nécessaire de choisir la bonne variété d’actions pour les actions à forte volatilité

Orientation de l’optimisation de la stratégie

  1. Les paramètres de la moyenne et du RSI peuvent être testés pour optimiser les chances d’entrée et de sortie
  2. Il est possible d’ajouter d’autres indicateurs, tels que le filtre de forme de bougie, pour améliorer la précision de la stratégie.
  3. Les risques peuvent être maîtrisés par un suivi dynamique des pertes.

Résumer

Cette stratégie, combinée à l’indicateur de la ligne de parité et à l’indicateur RSI, permet de juger des opportunités d’achat et de vente tout en capturant la tendance des changements de prix. Cette stratégie est l’une des stratégies de suivi de tendance les plus courantes.

Code source de la stratégie
/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 1m
basePeriod: 1m
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/
// © syfuslokust

//@version=4
strategy(shorttitle='CoinruleCombinedCryptoStrat',title='CoinruleCombinedCryptoStrat', overlay=true)


// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
//Normal
oversold = input(30)
overbought =  input(70)
//ALGO
//oversold= input(26)
//overbought= input(80)

//sell pct
SellPct = input(20)
ExitPct = input(15)

//MA inputs and calculations
movingaverage_signal = sma(close, input(9))
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_mid= sma(close, input(100))

//Look Back
inp_lkb = input(12, title='Lookback Long Period')
inp_lkb_2 = input(2, title='Lookback Short Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

//Entry 

//MA
bullish = crossover(movingaverage_signal, movingaverage_fast)
//Execute buy
strategy.entry(id="long", long = true, when = (RSI < oversold and movingaverage_fast < movingaverage_mid))

//when = crossover(close, movingaverage_signal) and movingaverage_signal < movingaverage_slow and RSI < oversold)

//Exit

//RSI
Stop_loss= ((input (4))/100)
longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
//MA
bearish = crossunder(movingaverage_signal, movingaverage_fast)
//Execute sell
strategy.close("long", qty_percent = SellPct, when = RSI > overbought and movingaverage_fast > movingaverage_mid)
//when = (crossunder(low, movingaverage_signal) and movingaverage_fast > movingaverage_slow and RSI > overbought) or (movingaverage_signal < movingaverage_fast and crossunder(low, movingaverage_fast)) or (low < longStopPrice))


//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2, title="signal")
plot(movingaverage_fast, color=color.orange, linewidth=2, title="fast")
plot(movingaverage_slow, color=color.purple, linewidth=2, title="slow")
plot(movingaverage_mid, color=color.blue, linewidth=2, title="mid")