
Il s’agit d’une stratégie de trading basée sur l’analyse des modèles de chandeliers sur plusieurs périodes, qui génère principalement des signaux de trading en identifiant des modèles de chandeliers typiques tels que l’engloutissement haussier, l’engloutissement baissier et le doji. La stratégie fonctionne sur un cycle quotidien et détermine les points de retournement des tendances du marché en combinant plusieurs indicateurs techniques et caractéristiques de modèle, trouvant ainsi le moment d’entrée de trading idéal.
La logique principale de la stratégie consiste à identifier par programmation trois modèles de chandeliers classiques :
Lorsqu’un modèle d’engloutissement haussier est identifié, un signal d’achat est affiché sous la ligne K ; lorsqu’un modèle d’engloutissement baissier est identifié, un signal de vente est affiché au-dessus de la ligne K ; lorsqu’un modèle doji est identifié, il est marqué au haut de la ligne K. La stratégie implémente l’étiquetage du signal via la fonction label.new() et améliore la visualisation du signal via la fonction plotshape().
Cette stratégie implémente l’analyse classique du modèle K-line de manière programmatique et présente une bonne opérabilité et une bonne évolutivité. Grâce à un paramétrage raisonnable et à un contrôle des risques, il peut fournir une référence précieuse pour les décisions de trading. À l’avenir, la stabilité et la fiabilité de la stratégie pourront être améliorées en ajoutant davantage d’indicateurs techniques et en optimisant le mécanisme de confirmation du signal.
/*backtest
start: 2024-01-06 00:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Sensex Option Buy/Sell Signals", overlay=true)
// Input parameters
bullishColor = color.new(color.green, 0)
bearishColor = color.new(color.red, 0)
dojiColor = color.new(color.yellow, 0)
// Candlestick pattern identification
isBullishEngulfing = close[1] < open[1] and close > open and close > high[1] and open < low[1]
isBearishEngulfing = close[1] > open[1] and close < open and close < low[1] and open > high[1]
isDoji = math.abs(close - open) <= (high - low) * 0.1
// Plot buy/sell signals
buySignal = isBullishEngulfing
sellSignal = isBearishEngulfing
timeframeCondition = input.timeframe("D", title="Timeframe for signals")
// Buy Signal
if buySignal
label.new(bar_index, high, "Buy", style=label.style_label_up, color=bullishColor, textcolor=color.white)
strategy.entry("Buy", strategy.long)
// Sell Signal
if sellSignal
label.new(bar_index, low, "Sell", style=label.style_label_down, color=bearishColor, textcolor=color.white)
strategy.entry("Sell", strategy.short)
// Highlight Doji candles
if isDoji
label.new(bar_index, high, "Doji", style=label.style_circle, color=dojiColor, textcolor=color.black)
// Alerts
alertcondition(buySignal, title="Buy Alert", message="Bullish Engulfing Pattern Detected")
alertcondition(sellSignal, title="Sell Alert", message="Bearish Engulfing Pattern Detected")
// Add plot shapes for visibility
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=bullishColor, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=bearishColor, style=shape.labeldown, text="SELL")