Stratégie de croisement de moyennes mobiles RSI


Date de création: 2023-10-25 11:46:49 Dernière modification: 2023-10-25 11:46:49
Copier: 2 Nombre de clics: 1164
1
Suivre
1617
Abonnés

Stratégie de croisement de moyennes mobiles RSI

Aperçu

Cette stratégie utilise le principe de la symétriose, combinée à l’indicateur RSI, pour déterminer la direction de la tendance et effectuer des opérations d’achat et de vente.

Principe de stratégie

La stratégie utilise trois courbes EMA de différentes périodes, soit la courbe rapide, la courbe moyenne et la courbe lente. Elle est considérée comme un signal d’achat lorsque la courbe rapide traverse la courbe moyenne et comme un signal de vente lorsque la courbe rapide traverse la courbe moyenne.

La stratégie utilise également l’indicateur RSI pour juger de l’excédent de vente. Le RSI montre la force relative d’un actif par le rapport entre la hausse moyenne et la baisse moyenne au cours d’un cycle. Il est considéré comme étant en survente lorsque le RSI dépasse la ligne d’excédent de vente définie.

Les conditions d’achat de cette stratégie sont les suivantes:

  1. Les prix sont basés sur la ligne rapide, moyenne et lente.
  2. Ligne de survente sur le RSI

Les conditions de vente sont les suivantes:

  1. En dessous de la ligne médiane
  2. La ligne médiane sous le RSI

Cette stratégie utilise une combinaison de trading tendanciel et de trading inversé pour déterminer la direction d’une tendance majeure en utilisant la moyenne et le RSI pour détecter des occasions de survente et de survente à court terme.

Analyse des avantages

Cette stratégie combine les indices de croisement des moyennes et du RSI pour juger à la fois la tendance et les sur-achats et les sur-vente, et peut filtrer certaines transactions bruyantes causées par de fausses percées. L’utilisation de trois moyennes permet de juger plus clairement de l’état de la tendance.

Le réglage de l’indicateur RSI permet également à la stratégie de saisir les meilleurs moments d’entrée et de sortie dans les zones de survente.

La stratégie prend également en compte le coût de la transaction et permet d’éviter d’être piégé en n’entrant que lorsque le prix franchit les trois moyennes.

Analyse des risques

Il existe toujours un risque que la stratégie soit sur-adaptée. Les changements dans l’environnement du marché sur le marché réel peuvent entraîner une perte d’adaptation des paramètres aux nouvelles conditions du marché.

Cette stratégie est susceptible de générer de faux signaux, ce qui peut entraîner des pertes en cas de choc.

Les paramètres du RSI doivent être ajustés en fonction des différents marchés. S’ils ne sont pas correctement configurés, ils peuvent facilement entraîner des opportunités manquées ou des signaux erronés.

Direction d’optimisation

  1. Il est possible d’envisager de révéler les signaux sur des graphiques de plus longue durée afin d’éviter d’être perturbé par le bruit des marchés à court terme.

  2. Il est possible d’essayer d’attendre la rupture avant d’entrer sur le marché ou de revenir à la ligne d’équilibre pour vérifier davantage le signal.

  3. Les signaux de plusieurs indicateurs peuvent être combinés avec d’autres indicateurs, tels que MACD, bande de Brin, etc., pour améliorer le taux de réussite d’Entry.

  4. Les algorithmes d’apprentissage automatique peuvent être utilisés pour aider à optimiser les paramètres et rendre les stratégies plus adaptables.

  5. On peut envisager d’inclure une stratégie de stop loss pour arrêter les pertes en temps opportun en cas d’incertitude de tendance.

Résumer

La stratégie intègre les indicateurs de la croix de symétrie et du RSI pour déterminer les tendances tout en détectant les occasions de renversement de tendance à court terme. Elle exploite efficacement les avantages du trading de tendance et du trading de renversement, et peut capturer des occasions de courte ligne tout en conservant une direction favorable à long terme. La stratégie a une certaine marge d’optimisation, qui peut rendre la stratégie plus stable et plus fiable par des moyens tels que la vérification des signaux, l’optimisation des paramètres, l’ajout de stop-loss.

Code source de la stratégie
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 1h
basePeriod: 15m
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/
// © chadsadachai

//@version=5
strategy("EMA Cross V1", overlay= true)

//rsi
length = input.int(title = "Rsi Lenght" , defval=26 , minval=1, maxval=50)
overS = input.int(title = "Rsi OVS line" , defval=30 , minval=1, maxval=40)
overB = input.int(title = "Rsi OVB line" , defval=70 , minval=1, maxval=100)
mLine = input.int(title = "Rsi Medium line" , defval=42 , minval=1, maxval=60)
price = close
vrsi = ta.rsi(price, length)
co = vrsi >= mLine and vrsi < overB 
cu = ta.crossunder(vrsi, overB)
//ema
F = input.int(title = "EMA Fast" , defval=17 , minval=1, maxval=50)
M = input.int(title = "EMA Medium" , defval=35, minval=1, maxval=100)
S = input.int(title = "EMA Slow" , defval=142, minval=1, maxval=200)
emaF = ta.ema(price , F)
emaM = ta.ema(price , M)
emaS = ta.ema(price , S)

//plot
plot(emaF , color = color.green , linewidth=1)
plot(emaM , color = color.yellow , linewidth=1)
plot(emaS , color = color.red , linewidth=1)

//Time Stamp
start = timestamp(input.int(title = "Start Year" , defval=2011 , minval=2011, maxval=2025), input.int(title = "Start Month" , defval=1 , minval=1, maxval=12), input.int(title = "Start Day" , defval=1 , minval=1, maxval=31), 0, 0)
end = timestamp(input.int(title = "End Year" , defval=2025 , minval=2011, maxval=2025), input.int(title = "End Month" , defval=1 , minval=1, maxval=12), input.int(title = "End Day" , defval=1 , minval=1, maxval=31), 0, 0)
// years = input.int(title = "Year" , defval=2018 , minval=2011, maxval=2025)
// months = input.int(title = "Month" , defval=1 , minval=1, maxval=12)
// days = input.int(title = "Day" , defval=1 , minval=1, maxval=31)

//longCondition Default
// longCondition1 = EMA_Fast >= EMA_Slow and EMA_Fast >= EMA_Medium//ta.crossover(EMA_Fast, EMA_Slow)  EMA_Fast > EMA_Slow and EMA_Medium > EMA_Slow
// longCondition3 = price >= EMA_Medium and price > EMA_Slow
// longCondition2 = vrsi >= overSold and vrsi <= overBought 

//longCondition & shortCondition ETHUSD
// 1.price > emaF > emaM > emaS
// 2.rsi overcross overS
longC1 = price > emaF and price > emaM and price > emaS 
// longC1 = ta.crossover(emaF, emaM)
longC2 = if longC1
    co
// shortC1 = EMA_Fast < EMA_Medium //and EMA_Fast < EMA_Slow and EMA_Medium < EMA_Slow //and cu
// shortC2 = overBought > vrsi //and vrsi < overBought //overSold < vrsi and vrsi < mediumLine

// exitLong Condition
// 1.price < emaF < emaM < emaS
// 2.rsi overcross mediumLine
exitLong1 = ta.crossunder(emaF, emaM) //or emaF < emaM//and price < emaM and price < emaF
exitLong2 = ta.crossunder(vrsi,mLine)
//exitLong3 = price < emaM
//strategy.entry
if time >=start and time <=end
    strategy.entry("Buy", strategy.long , when = longC1 and longC2)

// if(exitLong1 or exitLong2)
strategy.close("Buy" , when = exitLong1 or exitLong2)
    
// exitShort1 = EMA_Fast > EMA_Medium
// //exitShort2 = ta.crossover(vrsi , mediumLine) 
// exitShort2 = ta.crossunder (vrsi,mediumLine)
// strategy.close("Short" , when = exitShort1 or exitShort2)
// //shortCondition = cu


// //if (shortCondition1 and shortCondition2)
//     //strategy.entry("My Short Entry Id", strategy.short)