Stratégie double : stratégie combinée RSI et indicateur stochastique


Date de création: 2023-10-07 16:19:30 Dernière modification: 2023-10-07 16:19:30
Copier: 0 Nombre de clics: 607
1
Suivre
1214
Abonnés

Aperçu

La stratégie utilise un indice relativement faible (RSI) avec une combinaison d’indicateurs aléatoires pour former une double stratégie afin de juger plus précisément de l’état d’overtraitement du marché et ainsi obtenir des signaux de trading plus fiables.

Principe de stratégie

Dans cette stratégie, le RSI a une longueur de 14 cycles, un seuil d’achat excessif de 70 et un seuil de vente excessive de 30. La valeur de K de l’indicateur aléatoire est calculée en utilisant la moyenne des 3 cycles, la valeur de D est la moyenne des 3 cycles de la valeur de K.

La stratégie utilise la combinaison de l’indicateur RSI et d’indicateurs aléatoires pour émettre un signal de négociation:

  1. Lorsque l’indicateur aléatoire apparaît à la hausse (la ligne K traverse la ligne D de la direction du bas) et que l’indicateur RSI est supérieur à 70, il est jugé comme un signal de surachat et de couverture.

  2. Lorsque l’indicateur aléatoire apparaît en descente (la ligne K passe de haut en bas de la ligne D) et que l’indicateur RSI est inférieur à 30, il est jugé comme un signal de survente et fait plus.

Cette stratégie de double combinaison exploite pleinement les avantages de l’indicateur RSI pour juger de la survente et de la survente, tout en combinant la tendance ascendante de l’indicateur aléatoire pour filtrer les faux signaux et ainsi produire un signal de négociation plus fiable.

Analyse des avantages

Le plus grand avantage de cette double stratégie est qu’elle permet de réduire efficacement les faux signaux et d’améliorer la fiabilité des signaux.

L’indicateur RSI produit plus de faux signaux lorsqu’il est utilisé seul. Cela est dû au fait que l’indicateur RSI ne juge que l’état de survente et de survente du prix et ne reflète pas la direction de la tendance.

L’indicateur aléatoire permet de déterminer la direction de la tendance des prix. La ligne K traversant la ligne D indique que la tendance à la hausse des prix est susceptible de se poursuivre.

En revanche, une ligne K sous la ligne D indique que la tendance des prix peut être inversée, même si le RSI montre un signal de survente, il peut aussi s’agir d’une fausse survente et de ne pas négocier.

Par conséquent, l’utilisation combinée du RSI et d’indicateurs aléatoires permet de mieux saisir l’état de survente et de survente des prix et la direction de la tendance, de filtrer un grand nombre de signaux peu fiables et ainsi d’obtenir un moment de négociation plus précis.

Analyse des risques

Cette stratégie comporte également des risques à prendre en compte:

  1. L’utilisation d’une combinaison de deux indices permet de filtrer les faux signaux, mais peut également manquer une partie des vrais signaux, ce qui peut entraîner la perte d’opportunités de trading.

  2. Le paramètre RSI et l’indicateur aléatoire doivent être réglés de manière appropriée. Par exemple, le cycle RSI est trop court, l’indicateur aléatoire K, la valeur de D est inadéquate, ce qui affecte l’exactitude du signal.

  3. Lorsque l’indicateur émet un signal, il est nécessaire de le confirmer en combinant des facteurs tels que la dynamique des prix et le volume des transactions, afin d’éviter de pénétrer dans une fausse rupture.

  4. Il faut être attentif aux risques systémiques et éviter les transactions aveugles en cas de forte volatilité du marché.

Direction d’optimisation

La stratégie peut également être optimisée dans les domaines suivants:

  1. Optimiser les paramètres du RSI et des indicateurs aléatoires pour trouver la meilleure combinaison de paramètres. L’optimisation des paramètres peut être effectuée par le biais de données de retour, ou des paramètres d’optimisation dynamiques peuvent être utilisés par des méthodes d’apprentissage automatique.

  2. Augmentation des indicateurs de confirmation de la transaction, tels que l’augmentation de la transaction pour vérifier les signaux d’achat et de vente.

  3. En combinant des indicateurs de confirmation de tendance tels que les moyennes mobiles, vous éviterez d’être entraîné par les chocs boursiers. Par exemple, ne considérez un signal d’achat que lorsque la tendance est à la hausse.

  4. L’utilisation de l’apprentissage automatique pour identifier des règles de négociation plus complexes, comme la combinaison de signaux tels que les bandes de Brin et les formes de prix, améliore la stabilité de la stratégie.

  5. Les technologies de pointe telles que l’apprentissage en profondeur permettent de développer des systèmes de négociation diversifiés plus intelligents et d’optimiser les règles de stratégie dans un espace de sample plus large.

Résumer

La stratégie de double combinaison de l’RSI et de l’indicateur aléatoire, grâce à l’intégration des indicateurs, utilise raisonnablement les avantages de chaque indicateur, formant un effet complémentaire. Son indicateur RSI unique a une plus grande précision de filtrage du signal, ce qui permet d’obtenir un signal de négociation plus précis et fiable. Cependant, il faut toujours prêter attention à l’optimisation des paramètres, à la gestion des risques, etc. Cette stratégie peut être étendue à d’autres combinaisons d’indicateurs pour trouver des stratégies de négociation quantitatives plus efficaces.

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

//@version=2
//Based on Divergences and Hidden Divergences
//Locates bottom market and reversals

strategy("Vix FIX / StochRSI Strategy", pyramiding=9, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=3, overlay=false)

///////////// Stochastic Slow
Stochlength = input(14, minval=1, title="lookback length of Stochastic")
StochOverBought = input(80, title="Stochastic overbought condition")
StochOverSold = input(20, title="Stochastic oversold condition")
smoothK = input(3, title="smoothing of Stochastic %K ")
smoothD = input(3, title="moving average of Stochastic %K")
k = sma(stoch(close, high, low, Stochlength), smoothK)
d = sma(k, smoothD)

 
///////////// RSI 
RSIlength = input( 14, minval=1 , title="lookback length of RSI")
RSIOverBought = input( 70  , title="RSI overbought condition")
RSIOverSold = input( 30  , title="RSI oversold condition")
RSIprice = close
vrsi = rsi(RSIprice, RSIlength)

///////////// Double strategy: RSI strategy + Stochastic strategy

pd = input(22, title="LookBack Period Standard Deviation High")
bbl = input(20, title="Bolinger Band Length")
mult = input(2.0    , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up")
lb = input(50  , title="Look Back Period Percentile High")
ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%")
new = input(false, title="-------Text Plots Below Use Original Criteria-------" )
sbc = input(false, title="Show Text Plot if WVF WAS True and IS Now False")
sbcc = input(false, title="Show Text Plot if WVF IS True")
new2 = input(false, title="-------Text Plots Below Use FILTERED Criteria-------" )
sbcFilt = input(true, title="Show Text Plot For Filtered Entry")
sbcAggr = input(true, title="Show Text Plot For AGGRESSIVE Filtered Entry")
ltLB = input(40, minval=25, maxval=99, title="Long-Term Look Back Current Bar Has To Close Below This Value OR Medium Term--Default=40")
mtLB = input(14, minval=10, maxval=20, title="Medium-Term Look Back Current Bar Has To Close Below This Value OR Long Term--Default=14")
str = input(3, minval=1, maxval=9, title="Entry Price Action Strength--Close > X Bars Back---Default=3")
//Alerts Instructions and Options Below...Inputs Tab
new4 = input(false, title="-------------------------Turn On/Off ALERTS Below---------------------" )
new5 = input(false, title="----To Activate Alerts You HAVE To Check The Boxes Below For Any Alert Criteria You Want----")
sa1 = input(false, title="Show Alert WVF = True?")
sa2 = input(false, title="Show Alert WVF Was True Now False?")
sa3 = input(false, title="Show Alert WVF Filtered?")
sa4 = input(false, title="Show Alert WVF AGGRESSIVE Filter?")

//Williams Vix Fix Formula
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
lowerBand = midLine - sDev
upperBand = midLine + sDev
rangeHigh = (highest(wvf, lb)) * ph

//Filtered Bar Criteria
upRange = low > low[1] and close > high[1]
upRange_Aggr = close > close[1] and close > open[1]
//Filtered Criteria
filtered = ((wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and (wvf < upperBand and wvf < rangeHigh))
filtered_Aggr = (wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and not (wvf < upperBand and wvf < rangeHigh)

//Alerts Criteria
alert1 = wvf >= upperBand or wvf >= rangeHigh ? 1 : 0
alert2 = (wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and (wvf < upperBand and wvf < rangeHigh) ? 1 : 0
alert3 = upRange and close > close[str] and (close < close[ltLB] or close < close[mtLB]) and filtered ? 1 : 0
alert4 = upRange_Aggr and close > close[str] and (close < close[ltLB] or close < close[mtLB]) and filtered_Aggr ? 1 : 0

//Coloring Criteria of Williams Vix Fix
col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray

isOverBought = (crossover(k,d) and k > StochOverBought) ? 1 : 0
isOverBoughtv2 = k > StochOverBought ? 1 : 0
filteredAlert = alert3 ? 1 : 0
aggressiveAlert = alert4 ? 1 : 0

plot(isOverBought, "Overbought / Crossover", style=line, color=red) 
plot(filteredAlert, "Filtered Alert", style=line, color=fuchsia) 
plot(aggressiveAlert, "Aggressive Alert", style=line, color=orange)

if (filteredAlert or aggressiveAlert)
    strategy.entry("Long", strategy.long)

if (isOverBought)
    strategy.close("Long")