L'indicateur RSI et la stratégie stochastique à plusieurs délais

Auteur:ChaoZhang est là., Date: 2024-02-21
Les étiquettes:

img

Résumé

Le Multi Timeframe RSI et Stochastics Strategy est une stratégie qui combine les indicateurs RSI et Stochastics à travers plusieurs délais pour déterminer les conditions de surachat et de survente sur le marché. Il utilise les valeurs moyennes du RSI et du Stochastic à partir de 4 délais différents pour mesurer la dynamique globale du marché et la surextension. Cela lui permet d'exploiter les forces des indicateurs à travers différents délais.

La logique de la stratégie

1. Indicateur RSI

L'indicateur RSI est un puissant oscillateur qui mesure les niveaux de surachat et de survente en fonction de l'ampleur des mouvements de prix récents.

Cette stratégie utilise un RSI de 14 périodes et obtient des valeurs du RSI à partir des périodes mensuelles, quotidiennes, de 4 heures et d'une heure.

2. Stochastique %K

Stochastique %K est un indicateur qui montre les niveaux de surachat/survente sur le marché sur une échelle de 0 à 100. Généralement, les valeurs supérieures à 80 indiquent un marché suracheté tandis que les valeurs inférieures à 20 indiquent un marché survendu.

La stratégie utilise une configuration stochastique 14,3 et obtient également des valeurs %K à partir des délais susmentionnés.

3. Combinaison de valeur moyenne

L'essence de la stratégie réside dans la prise d'une moyenne des deux indicateurs sur les multiples délais. Cela lui permet d'exploiter les forces de chaque délais lors de l'évaluation des conditions globales du marché. Les formules exactes sont:

RSI moyen = (RSI mensuel + RSI quotidien + RSI de 4 heures + RSI de 1 heure) / 4

Moyenne des stochastiques = (stochastiques mensuelles + stochastiques quotidiennes + stochastiques 4H + stochastiques 1H) / 4

4. Les signaux commerciaux

La stratégie déclenche un long lorsque la moyenne RSI tombe en dessous de 30 et la moyenne Stochastique en dessous de 20.

La position longue est fermée lorsque la moyenne stochastique dépasse 70 et que la moyenne RSI dépasse 50. La position courte est fermée lorsque la moyenne stochastique dépasse 30 et que la moyenne RSI dépasse 50.

Analyse des avantages

Le principal avantage de cette stratégie réside dans la combinaison de deux indicateurs sur plusieurs délais. Cela améliore considérablement la fiabilité des signaux commerciaux et minimise les faux signaux.

  1. L'indicateur RSI et l'indicateur stochastique se vérifient mutuellement en tant que signaux.

  2. Par exemple, les délais mensuels et quotidiens montrent un marché suracheté, mais les délais plus petits n'ont pas encore atteint des niveaux de surextension. Cela suggère qu'une tendance haussière est susceptible de se poursuivre.

  3. Une identification plus claire des points de basculement structurels lorsque plusieurs délais montrent simultanément une rupture des niveaux clés S/R, signalant un renversement de tendance.

  4. Le calcul automatique des moyennes simplifie le flux de travail. Aucun calcul manuel n'est nécessaire car le code gère automatiquement la récupération de données, le calcul des indicateurs et la moyenne.

Analyse des risques

Comme pour toutes les stratégies d'analyse technique, le principal risque réside dans les faux signaux.

  1. Les tendances inversées conduisant à l'arrêt. Par exemple, les prix font une brèche à court terme en dessous du support avant de rebondir pendant une longue période. Ces cas peuvent entraîner des pertes à court terme en raison de la logique de sortie.

  2. Invalidation des S/R clés conduisant à des arrêts de trailers non réussis. Une rupture des niveaux S/R majeurs peut directement déclencher des arrêts conçus en dessous, entraînant des pertes supérieures à la moyenne.

  3. Des jugements erronés à partir de configurations de délais sous-optimales. Des délais trop ou moins lisses peuvent fournir des valeurs d'oscillateur trompeuses.

  4. Différence entre les délais provoquant un effet de Dunkerque: lorsque les délais plus longs montrent un marché en surachat mais les délais plus courts signalent des conditions de survente, rendant les moyennes inefficaces.

Les solutions comprennent l'optimisation des stratégies de stop loss, le suivi des niveaux dynamiques S/R, l'ajustement des paramètres de la période et l'ajout de filtres supplémentaires.

Des possibilités d'amélioration

Compte tenu des risques discutés, les possibilités d'amélioration comprennent:

  1. Optimisation du mécanisme de stop loss pour intégrer les trailing stops et les exits partiels.

  2. L'ajout de délais plus longs comme le graphique trimestriel. Cela permet une orientation de tendance plus large pour filtrer les faux signaux. Donner la priorité aux lectures à partir de délais plus longs lorsque la divergence se produit.

  3. Incorporation de volume pour une validation de tendance supplémentaire via des divergences taureau/ours afin d'éviter les tendances zombies.

  4. Les signaux d'entrée sont affinés en attendant les événements de rupture autour des S/R historiques clés ou en permettant des entrées de recul optimales.

  5. Mise en œuvre d'arrêts adaptatifs basés sur la volatilité récente et les valeurs ATR pour le positionnement dynamique des arrêts.

Conclusion

Le Multi Timeframe RSI et la Stratégie Stochastique est une approche claire et fiable qui utilise une combinaison de RSI et de Stochastique à travers plusieurs délais pour identifier les niveaux de surachat / survente. Sa plus grande force réside dans la vérification mutuelle des indicateurs et des délais pour minimiser les risques de faux signaux. Néanmoins, comme toutes les stratégies techniques, il fait face à des risques inhérents qui doivent être traités par l'optimisation des stop-loss, les sélections de délais, etc. pour le perfectionner en une stratégie de trading automatisée stable.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

////////////////////////////////////////// MTF Stochastic & RSI Strategy 🚥 ©️ bykzis /////////////////////////////////////////
//

// *** Inspired by "Binance CHOP Dashboard" from @Cazimiro and "RSI MTF Table" from @mobester16 *** and LOT OF COPY of Indicator-Jones MTF Scanner
// 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//@version=5
strategy('MTF RSI & STOCH Strategy🚥 by kzi', overlay=false,initial_capital=100, currency=currency.USD, commission_value=0.01, commission_type=strategy.commission.percent)


// Pair list
var string GRP1       = '══════════    General    ══════════'
overbought = input.int(80, 'Overbought Level', minval=1, group=GRP1)
oversold = input.int(20, 'Oversold Level', minval=1, group=GRP1)


/// Timeframes
var string GRP2       = '══════════   Timeframes   ══════════'
timeframe1 = input.timeframe(title="Timeframe 1", defval="W", group=GRP2)
timeframe2 = input.timeframe(title="Timeframe 2", defval="D", group=GRP2)
timeframe3 = input.timeframe(title="Timeframe 3", defval="240", group=GRP2)
timeframe4 = input.timeframe(title="Timeframe 4", defval="60", group=GRP2)

// RSI settings
var string GRP3       = '══════════   RSI settings   ══════════'
rsiLength = input.int(14, minval=1, title='RSI length', group=GRP3)
rsiSource = input(close, 'RSI Source', group=GRP3)
rsioverbought = input.int(70, 'RSI Overbought Level', minval=1, group=GRP3)
rsioversold = input.int(30, 'RSI Oversold Level', minval=1, group=GRP3)


/// Get RSI values of each timeframe /////////////////////////////////////////////////////
rsi = ta.rsi(rsiSource, rsiLength)
callRSI(id,timeframe) =>
    rsiValue = request.security(id, str.tostring(timeframe), rsi, gaps=barmerge.gaps_off)
    rsiValue

RSI_TF1 = callRSI(syminfo.tickerid, timeframe1)
RSI_TF2 = callRSI(syminfo.tickerid, timeframe2)
RSI_TF3 = callRSI(syminfo.tickerid, timeframe3)
RSI_TF4 = callRSI(syminfo.tickerid, timeframe4)




/////// Calculate Averages /////////////////////////////////////////////////////////////////
calcAVG(valueTF1, valueTF2, valueTF3, valueTF4) =>
    math.round((valueTF1 + valueTF2 + valueTF3 + valueTF4) / 4, 2)

AVG=calcAVG(RSI_TF1, RSI_TF2, RSI_TF3, RSI_TF4)



// Stochastic settings
var string GRP4       = '══════════   Stochastic settings   ══════════'
periodK = input.int(14, '%K length', minval=1, group=GRP4)
smoothK = input.int(3, 'Smooth K', minval=1, group=GRP4)
stochSource = input(close, 'Stochastic Source', group=GRP4)
stochoverbought = input.int(70, 'Stochastic Overbought Level', minval=1, group=GRP4)
stochoversold = input.int(30, 'Stochastic Oversold Level', minval=1, group=GRP4)


/// Get Stochastic values of each timeframe ////////////////////////////////////////////////
stoch = ta.sma(ta.stoch(stochSource, high, low, periodK), smoothK)
getStochastic(id,timeframe) =>
    stochValue = request.security(id, str.tostring(timeframe), stoch, gaps=barmerge.gaps_off)
    stochValue

Stoch_TF1 = getStochastic(syminfo.tickerid, timeframe1)
Stoch_TF2 = getStochastic(syminfo.tickerid, timeframe2)
Stoch_TF3 = getStochastic(syminfo.tickerid, timeframe3)
Stoch_TF4 = getStochastic(syminfo.tickerid, timeframe4)


AVG_STOCH=calcAVG(Stoch_TF1, Stoch_TF2, Stoch_TF3, Stoch_TF4)


plot(AVG, color = color.blue, title='RSI')
plot(AVG_STOCH, color = color.yellow,title='STOCH')
hline(rsioverbought,color=color.red)
hline(rsioversold, color=color.lime)
hline(50, color=color.white)

//============ signal Generator ==================================//

if AVG <= rsioversold and AVG_STOCH <=stochoversold 
    strategy.entry('Buy_Long', strategy.long)

    
strategy.close("Buy_Long",when=(AVG_STOCH >=70 and AVG >=50 and close >=strategy.position_avg_price),comment="Long_OK")

if AVG >=rsioverbought and AVG_STOCH >=stochoverbought
    strategy.entry('Buy_Short', strategy.short)


strategy.close("Buy_Short",when=(AVG_STOCH <=30 and AVG <=50 and close <=strategy.position_avg_price),comment="Short_OK")


///////////////////////////////////////////////////////////////////////////////////////////





Plus de