Stratégie combinée RSI d'inversion des prix

Auteur:ChaoZhang est là., Date: 2023-12-22 à 11h53
Les étiquettes:

img

Résumé

Cette stratégie combine la stratégie d'inversion de prix et l'indicateur d'indice de force relative (RSI) pour obtenir une combinaison organique de jugement de tendance et de détection de surachat de survente.

Principe de stratégie

La partie de renversement de prix utilise le modèle 123 pour juger des renversements de prix. Plus précisément, lorsque le prix de clôture est inférieur au prix de clôture précédent pendant 2 jours consécutifs, et que la ligne du canal inférieur de l'indicateur stochastique de 9 jours est supérieure à 50, un signal d'achat est généré; Lorsque le prix de clôture est supérieur au prix de clôture précédent pendant 2 jours consécutifs, et que la ligne supérieure du canal de l'oscillateur stochastique de 9 jours est inférieure à 50, un signal de vente est généré.

La partie RSI juge si le marché est suracheté ou survendu selon que l'indice de force relative est supérieur à 70 ou inférieur à 30.

Enfin, une opération logique AND est effectuée sur le signal d'inversion de prix et le signal RSI. C'est-à-dire que lorsque les deux sont des signaux d'achat ou de vente, un signal de trading réel sera généré pour entrer sur le marché. Cela filtre efficacement les faux signaux d'indicateurs uniques et améliore la qualité du signal.

Analyse des avantages

  1. La combinaison de plusieurs indicateurs pour juger peut filtrer efficacement les faux signaux.

    Cette stratégie utilise des indicateurs de tendance des prix et des indicateurs de surachat-survente en même temps. Les deux signaux doivent être dans la même direction avant d'entrer sur le marché. Cela peut maximiser le filtrage des faux signaux qu'un seul indicateur peut produire et assurer la fiabilité de chaque signal d'entrée.

  2. La méthode de négociation avec l'inversion comme principal et la tendance comme accessoire.

    L'indicateur RSI peut également juger des tendances et agir comme une confirmation auxiliaire. La combinaison de l'inversion basée sur la tendance et de l'assistance à la tendance peut capturer les opportunités d'inversion tout en évitant les conflits de tendance.

  3. Des paramètres simples pour faciliter les opérations de trading en direct.

    Cette stratégie utilise seulement deux indicateurs communs avec un nombre modéré de paramètres. Cela rend la structure globale de la stratégie simple et claire, avec une faible difficulté pour les opérations en direct, ce qui est facile à maîtriser. Ceci est très important pour les traders en direct.

Analyse des risques

  1. Risque de défaillance de l'inversion

    Il y a une probabilité d'échec inhérente au trading d'inversion de prix qui ne peut pas être complètement évitée. Lorsque le prix forme un signal 123, mais revient à nouveau. Cela provoquera l'échec du commerce.

  2. Risque de fréquence de négociation excessivement élevée

    La norme de la stratégie elle-même est relativement lâche, ce qui génère facilement plus de signaux de trading.

  3. Réglage incorrect des paramètres RSI

    Les zones de surachat/survente de l'indicateur RSI sont par défaut à 30-70. Ce sont des paramètres empiriques.

Réduction des risques

  1. Ajustez la taille de la position de manière appropriée pour contrôler les pertes uniques.

  2. Augmenter les conditions de filtrage pour réduire la fréquence de négociation.

  3. Testez différents marchés et ajustez dynamiquement les plages de paramètres RSI pour définir des valeurs raisonnables.

Optimisation de la stratégie

  1. Ajouter le jugement de l'indicateur de moyenne mobile

    Sur la base actuelle, ajouter une règle de jugement de la moyenne mobile pour filtrer le bruit de petite portée dans une certaine mesure.

  2. Optimiser les paramètres RSI

    Par le biais de tests antérieurs des données historiques, tester et déterminer la combinaison optimale de paramètres des valeurs de surachat et de survente du RSI.

  3. Évaluer le ratio profit/perte comme la sortie de position

    En plus de la méthode de stop loss existante, un mécanisme de sortie de la relation stop loss versus objectif de profit peut être ajouté pour verrouiller les bénéfices.

Résumé

Cette stratégie utilise la double confirmation du jugement d'inversion de prix et du jugement de l'indicateur RSI pour mettre en œuvre une idée de trading basée sur l'inversion et assistée par la tendance. Dans le même temps, les paramètres sont simples et faciles à saisir pour le trading en direct.


/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/08/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The RSI is a very popular indicator that follows price activity. 
// It calculates an average of the positive net changes, and an average 
// of the negative net changes in the most recent bars, and it determines 
// the ratio between these averages. The result is expressed as a number 
// between 0 and 100. Commonly it is said that if the RSI has a low value, 
// for example 30 or under, the symbol is oversold. And if the RSI has a 
// high value, 70 for example, the symbol is overbought. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


mRSI(Length,Oversold,Overbought) =>
    pos = 0.0
    xRSI = rsi(close, Length)
    pos:=iff(xRSI > Overbought, 1,
	       iff(xRSI < Oversold, -1, nz(pos[1], 0)))   
    pos

strategy(title="Combo Backtest 123 Reversal & RSI", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- RSI ----")
LengthRSI = input(12, minval=1)
Oversold = input(30, minval=1)
Overbought = input(70, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posmRSI = mRSI(LengthRSI,Oversold,Overbought)
pos = iff(posReversal123 == 1 and posmRSI == 1 , 1,
	   iff(posReversal123 == -1 and posmRSI == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Plus de