
La stratégie est un système de suivi des tendances basé sur l’écart-type de la ceinture de Brin. La stratégie détermine la force de la tendance en observant la relation entre la position de trois lignes de coupe consécutives par rapport à la ceinture de Brin sur la voie descendante et effectue des transactions lorsque la tendance est établie. Le système utilise un rapport de risque/bénéfice fixe pour gérer le risque de chaque transaction.
La logique fondamentale de la stratégie repose sur les points suivants :
Il s’agit d’une stratégie de suivi de tendance conçue de manière rationnelle pour capturer les tendances du marché grâce à des bandes de Brin et à des mécanismes de confirmation multiples. Le cadre de gestion des risques de la stratégie est parfait et les critères d’exécution sont clairs. Bien qu’il y ait un certain retard, la stabilité et la rentabilité de la stratégie peuvent être encore améliorées par l’orientation optimisée proposée.
/*backtest
start: 2024-11-01 00:00:00
end: 2025-02-18 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Bollinger Band Buy and Sell Strategy (Entry at Close of 3rd Candle)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, pyramiding=0)
// Bollinger Band settings
length = input.int(20, "Bollinger Band Length")
mult = input.float(2.0, "Standard Deviation Multiplier")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper_band = basis + dev
lower_band = basis - dev
// Plot Bollinger Bands
plot(upper_band, "Upper Band", color.blue)
plot(lower_band, "Lower Band", color.red)
// Initialize variables
var float buyEntryPrice = na
var float buyStopLoss = na
var float buyTargetPrice = na
var float sellEntryPrice = na
var float sellStopLoss = na
var float sellTargetPrice = na
// Buy Condition: Last 3 candles closed above upper band
buyCondition = close[2] > upper_band[2] and
close[1] > upper_band[1] and
close > upper_band
// Sell Condition: Last 3 candles closed below lower band
sellCondition = close[2] < lower_band[2] and close[1] < lower_band[1] and close < lower_band
// Buy Logic
if buyCondition and strategy.position_size == 0
buyEntryPrice := close // Entry at the close of the 3rd candle
buyStopLoss := low[2] // Low of the earliest candle in the 3-candle sequence
buyTargetPrice := buyEntryPrice + (buyEntryPrice - buyStopLoss)
strategy.entry("Buy", strategy.long)
strategy.exit("Buy Exit", "Buy", stop=buyStopLoss, limit=buyTargetPrice)
// Plot buy signal arrow on the entry candle
label.new(bar_index, low, "▲", color=color.green, style=label.style_label_up, yloc=yloc.belowbar)
// Sell Logic
if sellCondition and strategy.position_size == 0
sellEntryPrice := close // Entry at the close of the 3rd candle
sellStopLoss := high[2] // High of the earliest candle in the 3-candle sequence
sellTargetPrice := sellEntryPrice - (sellStopLoss - sellEntryPrice)
strategy.entry("Sell", strategy.short)
strategy.exit("Sell Exit", "Sell", stop=sellStopLoss, limit=sellTargetPrice)
// Plot sell signal arrow on the entry candle
label.new(bar_index, high, "▼", color=color.red, style=label.style_label_down, yloc=yloc.abovebar)
// Plot stop loss and target levels for buy trades
plot(strategy.position_size > 0 ? buyStopLoss : na, "Buy Stop Loss", color.red, 2, plot.style_linebr)
plot(strategy.position_size > 0 ? buyTargetPrice : na, "Buy Target", color.green, 2, plot.style_linebr)
// Plot stop loss and target levels for sell trades
plot(strategy.position_size < 0 ? sellStopLoss : na, "Sell Stop Loss", color.red, 2, plot.style_linebr)
plot(strategy.position_size < 0 ? sellTargetPrice : na, "Sell Target", color.green, 2, plot.style_linebr)