Stratégie d'inversion de la double ombre

Auteur:ChaoZhang est là., Date: 2023-11-07 17h52
Les étiquettes:

img

Résumé

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.

Principe

La logique de base de cette stratégie est d'identifier le motif double shadow. Plus précisément, elle vérifie si la bougie actuelle répond à la condition open est égal à bas, close est égal à haut, ce qui signifie qu'il n'y a pas d'ombres inférieures ou supérieures, ce qui est connu sous le nom de bougie sans ombre. Si la bougie précédente répond également à ce critère, elle signale deux bougies sans ombre consécutives, ou le motif dual shadow.

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.

Les avantages

  • 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.

Les risques

  • 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.

Idées d'amélioration

  • 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.

Résumé

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)


Plus de