Stratégie longue unilatérale basée sur la moyenne mobile et le RSI


Date de création: 2023-12-18 10:28:10 Dernière modification: 2023-12-18 10:28:10
Copier: 1 Nombre de clics: 658
1
Suivre
1621
Abonnés

Stratégie longue unilatérale basée sur la moyenne mobile et le RSI

Aperçu

La stratégie est basée sur l’article d’Enrico Malverti et utilise principalement les moyennes mobiles simples (SMA) et l’indicateur relativement faible (RSI) pour identifier les signaux d’entrée et de position à plusieurs niveaux. La stratégie fait plus, pas moins.

Principe de stratégie

Le signal d’entrée est une position de plus ouverte lorsque la moyenne SMA a traversé un cycle plus long sur le prix de clôture.

Les signaux de plafonnement sont les suivants:

  1. le RSI est à la hausse de 70 ou au-dessus de 75 et le RSI est à la baisse de 70 ou au-dessus de 75
  2. une perte de liquidité lorsque le cours de clôture est inférieur à la moyenne SMA pour une période plus courte;
  3. Les prix de clôture s’arrêtent lorsque la moyenne SMA de courte période est traversée.

La moyenne SMA de stop-loss et la moyenne SMA de stop-loss sont dessinées simultanément.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L’utilisation d’une combinaison d’indicateurs simple et facile à comprendre et à mettre en œuvre;
  2. Il n’y a pas d’autre moyen de faire plus que de ne pas courir le risque supplémentaire d’être en faillite.
  3. Des règles d’entrée, de stop-loss et de stop-loss claires et des risques maîtrisés;
  4. Les paramètres sont plus faciles à optimiser et peuvent être ajustés sur des périodes SMA.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. L’ombre psychologique de ceux qui n’ont plus confiance dans les signaux de suivi après des pertes répétées;
  2. Le risque d’un décalage de la moyenne SMA;
  3. Le RSI est sujet à la volatilité et les signaux de survente peuvent être peu fiables.

La réponse:

  1. Le gouvernement a décidé de mettre en place un mécanisme de suivi permanent, sans influence psychologique.
  2. Ajuster les paramètres de la moyenne SMA, optimiser le cycle;
  3. En combinaison avec d’autres indicateurs, le RSI est filtré.

Direction d’optimisation

Cette stratégie peut également être optimisée dans les directions suivantes:

  1. Essayez les paramètres SMA avec des paramètres différents.
  2. Ajout d’autres indicateurs pour filtrer les signaux d’entrée et de sortie;
  3. L’augmentation des indicateurs de jugement des tendances, de la distinction entre les tendances et de la synthèse;
  4. Essayez d’optimiser les paramètres de manière autonome.

Résumer

L’idée générale de la stratégie est claire et compréhensible, elle utilise des indicateurs de base, est très contrôlable et convient aux opérations sur des lignes moyennes et longues. Cependant, la configuration des paramètres et le filtrage des indicateurs doivent être testés et optimisés à plusieurs reprises pour rendre la stratégie plus stable et fiable.

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

//@version= 4
// form the original idea of Enrico Malverti www.enricomalverti.com , trading system 2015  
// https://sauciusfinance.altervista.org
strategy(title="MAs & RSI strategy long only", overlay = true, max_bars_back=500)

///********FROM EMAS TO SIMPLE MA *****
// NON AGGIUNTO SCHAFF INDICATOR, che serve per discriminare quali titoli scegliere dallo screener (segnale già aperto o il primo o, a parità,
//quello più alto) ==> Tolte le bande di Bollinger (che filtrano "poco")

// INPUTS 
emapf = input(14, title ="Ma periodo veloce",  minval=1, step = 1)
emapl = input(14, title ="Ma periodo lungo",  minval=1, step = 1)
emaps = input(7, title ="Ma periodi stop",  minval=1, step = 1)
rsi_period = input(14, title="RSI period", minval = 1, step = 1) 
// CALCULATIONS
maf = sma(close, emapf)
mal = sma(close, emapl)
// rsi
myrsi = rsi(close, rsi_period)
//ema stop long ed ema stop short
//Ema7 messo da "massimo" a "chiusura" come target per posizioni short. Il limite è, in questo caso, sempre ema20 (più restringente - asimmetria)
// in questo t.s., lo short viene soltanto indicato come "rappresentazione grafica", non agito
mass = sma(close, emaps)
masl = sma(low, emaps)
ma200=sma(close,200)
/// Entry
strategy.entry("Long", true, when = crossover(close,mal))

rsi1 = crossunder(myrsi,70)
rsi2 = myrsi > 75
// previously, 80
st_loss_long = crossunder(close,masl)// **chiusura sotto EMA7**
target_long= crossunder(close,maf) //* Chiusura sotto EMA14*
// exits. *RSI**Long: Target if over bandamax, loss if under bandamin. Viceversa, for short
strategy.close("Long", when = rsi1, comment="crossunder RSI")
strategy.close("Long", when = rsi2, comment ="RSI MAX")
strategy.close("Long", when = st_loss_long, comment = "Stop loss")
strategy.close("Long", when = target_long, comment = "target_long" )

plot(masl, title="ma stop long", color=#363A45, linewidth= 1, style=plot.style_cross)
plot(maf, title="MA FAST", color=#FF0000,  linewidth= 1)
plot(mal, title="MA SLOW", color=#0000FF,  linewidth= 2)
plot(mass, title="ma stop short", color=#787B86,linewidth= 1, style=plot.style_cross)
plot(ma200, title="ma200", color=color.black,  linewidth= 1)