La stratégie d'inversion de l'ombre double est une stratégie de trading à court terme basée sur des modèles de bougies. Elle identifie les opportunités d'inversion potentielles en détectant le modèle de bougie spécial où deux bougies consécutives n'ont pas d'ombres.
La logique de base de cette stratégie est d'identifier le motif
Selon la théorie de l'analyse technique, ce double schéma d'ombre suggère souvent un renversement de tendance imminent.
Après avoir détecté le motif d'ombre double, la stratégie entrera en long ou en court à la prochaine bougie ouverte en fonction de la fermeture précédente.
La logique de la stratégie est simple et facile à comprendre, avec une reconnaissance de modèle simple qui est facile à mettre en œuvre.
Il utilise le modèle classique de double inversion d'ombre qui a une certaine logique d'analyse technique.
Les échanges peu fréquents contribuent à réduire les coûts et les risques.
Facile à ajouter des fonctionnalités de backtesting et optimiser les paramètres.
Le trading de modèles repose sur les statistiques historiques des graphiques et les probabilités, et des écarts peuvent survenir.
Bien que les ombres doubles suggèrent un renversement, l'inversion réelle peut ne pas se produire ou se maintenir.
La zone à bénéfice fixe peut ne pas bien faire face à des marchés en évolution rapide.
En regardant les informations limitées de la bougie peut conduire à des entrées trop enthousiastes.
Incorporer des indicateurs de tendance afin d'éviter les transactions contre-tendance.
Utilisez des entrées en attente de confirmation pour confirmer l'inversion réelle.
Mettre en place un stop loss dynamique basé sur l'ATR au lieu d'une durée fixe.
Utilisez l'apprentissage automatique pour déterminer quels modèles d'ombre double sont plus fiables.
La stratégie d'inversion de l'ombre double tire parti du concept classique du trading de modèle d'une manière simple et intuitive, adaptée aux débutants tout en servant de composante modulaire pour les algos.
/*backtest start: 2023-10-30 00:00:00 end: 2023-11-06 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("No Shadow Candles", overlay=true) //set inputs bars_until_close_trade = input(1,"Bars Until Close", minval = 1) backtest_option = input(true,"Backtest on Twice alert?", bool) //set conditions up = close > close[1] and low >= open and high <= close down = close < close[1] and low >= close and high <= open up2 = (close > close[1] and low >= open and high <= close) and (close[1] > close[2] and low[1] >= open[1] and high[1] <= close[1]) down2 = (close < close[1] and low >= close and high <= open) and (close[1] < close[2] and low[1] >= close[1] and high[1] <= open[1]) close_trade = barssince(up or down) == bars_until_close_trade close_trade2 = barssince(up2 or down2) == bars_until_close_trade //plot indicators plotshape(up,"Up Marker", shape.triangleup, location.belowbar, color = olive, size = size.tiny, transp = 50) plotshape(down,"Down Marker", shape.triangledown, location.abovebar, color = orange, size = size.tiny, transp = 50) plotshape(up2,"Up Twice Marker", shape.triangleup, location.belowbar, color = white, size = size.small) plotshape(down2,"Down Twice Marker", shape.triangledown, location.abovebar, color = white, size = size.small) plotshape(close_trade,"Close Trigger", shape.circle, location.belowbar, color = fuchsia, size = size.tiny, transp = 50) plotshape(close_trade2,"Close Trigger2 (After Twice Alert)", shape.circle, location.belowbar, color = red, size = size.small) //Strategy Testing // Component Code Start // Example usage: // if testPeriod() // strategy.entry("LE", strategy.long) testStartYear = input(2017, "Backtest Start Year") testStartMonth = input(01, "Backtest Start Month") testStartDay = input(2, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2019, "Backtest Stop Year") testStopMonth = input(7, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) // A switch to control background coloring of the test period testPeriodBackground = input(title="Color Background?", type=bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na bgcolor(testPeriodBackgroundColor, transp=97) testPeriod() => true // Component Code Stop //Entry and Close settings if testPeriod() and backtest_option == true strategy.entry("up2", true, when = up2, limit = close) strategy.close("up2", when = close_trade) if testPeriod() and backtest_option == false strategy.entry("up", true, when = up, limit = close) strategy.close("up", when = close_trade)