La stratégie Double Tops Smart Breakout est une stratégie combinée qui intègre la stratégie d'inversion 123 et la stratégie d'oscillateur Pivot Detector. Elle utilise principalement des modèles double top pour identifier les points de renversement de tendance potentiels et utilise l'indicateur de détecteur de pivot pour filtrer les fausses ruptures, afin de capturer les renversements de tendance aux niveaux techniques critiques.
La stratégie se compose de deux parties:
123 Stratégie d'inversion
La stratégie d'inversion 123 provient du livre
La logique est la suivante: 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 Stochastique Lent de 9 jours est inférieure à 50, passez long; 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 Stochastique Rapide de 9 jours est supérieure à 50, passez court.
Stratégie de l'oscillateur du détecteur pivot
La stratégie de l'oscillateur à détecteur pivot a été proposée par Giorgos E. Siligardos.
Cette stratégie utilise une combinaison de moyennes mobiles et de l'indicateur RSI pour mesurer l'oscillation lorsque le prix s'approche des bandes supérieures ou inférieures.
When price > moving average:
Indicator value = (RSI value - 35) / (85 - 35)
When price <= moving average:
Indicator value = (RSI value - 20) / (70 - 20)
If indicator value > 50, go long
If indicator value < 50, go short
En combinant les deux stratégies, lorsqu'un double top apparaît, si l'indicateur émet un signal dans la même direction, une opération de rupture est exécutée.
Gestion et optimisation des risques:
La stratégie peut être optimisée dans les aspects suivants:
Tester différents systèmes de moyennes mobiles pour trouver des combinaisons optimales de paramètres
Optimiser les paramètres RSI pour réduire les faux signaux
Ajoutez le filtre de volume pour assurer des sorties valides
Incorporer des indicateurs déterminant la tendance pour éviter les ruptures de la tendance opposée
Utiliser l'apprentissage automatique pour l'ajustement automatique des paramètres
Ajouter des stratégies de stop loss pour contrôler les risques
Évaluer la viabilité de la rupture et fixer des objectifs de profit
Analyser les différentes caractéristiques du produit pour les ajustements de paramètres
Grâce à l'optimisation des paramètres, à l'évaluation des effets de rupture, à l'ajustement des stratégies de stop loss, etc., la stratégie peut être continuellement améliorée pour obtenir des bénéfices stables dans différents environnements de marché.
La stratégie Double Tops Smart Breakout combine des modèles d'inversion et des mécanismes de confirmation d'indicateur pour capturer les points de renversement de tendance potentiels à des niveaux techniques critiques. Par rapport à la poursuite purement de breakouts, son calendrier d'exécution est plus précis, évitant les coups de fouet dans les marchés variés. Pendant ce temps, la stratégie met l'accent sur le contrôle des risques et doit être utilisée avec des mécanismes de stop loss. Grâce à l'optimisation des paramètres et à la combinaison d'indicateurs techniques, des signaux de rupture réguliers peuvent être obtenus pour capturer les épidémies et réaliser de gros profits aux points de renversement de tendance. En résumé, la stratégie a une sélection de temps précise et un contrôle des risques judicieux.
/*backtest start: 2023-09-30 00:00:00 end: 2023-10-03 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 20/04/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 Pivot Detector Oscillator, by Giorgos E. Siligardos // The related article is copyrighted material from Stocks & Commodities 2009 Sep // // 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 PDO(Length_MA,Length_RSI,UpBand,DownBand,MidlleBand) => pos = 0.0 xMA = sma(close, Length_MA) xRSI = rsi(close, Length_RSI) nRes = iff(close > xMA, (xRSI - 35) / (85-35), iff(close <= xMA, (xRSI - 20) / (70 - 20), 0)) pos:= iff(nRes * 100 > 50, 1, iff(nRes * 100 < 50, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Pivot Detector Oscillator)", 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, "---- Pivot Detector Oscillator ----") Length_MA = input(200, minval=1) Length_RSI = input(14, minval=1) UpBand = input(100, minval=1) DownBand = input(0) MidlleBand = input(50) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posPDO = PDO(Length_MA,Length_RSI,UpBand,DownBand,MidlleBand) pos = iff(posReversal123 == 1 and posPDO == 1 , 1, iff(posReversal123 == -1 and posPDO == -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 )