
이 전략은 볼린저 밴드와 피보나치 수정 수준을 결합한 데이 트레이딩 시스템입니다. 볼린저 밴드 지표를 사용하여 매수 과다 및 매도 과다 조건을 파악하고, 피보나치 수정 수준을 사용하여 잠재적인 지지 및 저항 수준을 확인하여 시장 변동 속에서 거래 기회를 포착합니다. 이 전략은 신호 생성을 위해 20주기 볼린저 밴드와 0.236, 0.382, 0.618의 세 가지 주요 피보나치 레벨을 사용합니다.
전략의 핵심 논리는 다음과 같은 핵심 요소에 기초합니다.
이는 기술적 분석의 고전적 도구를 결합한 완전한 거래 시스템으로, 볼린저 밴드와 피보나치 수정의 시너지 효과를 통해 거래자에게 체계적인 거래 프레임워크를 제공합니다. 몇 가지 한계는 있지만, 이 전략은 적절한 매개변수 최적화와 위험 관리를 통해 당일 거래에서도 효과적일 수 있습니다. 핵심은 특정 거래 상품과 시장 상황에 따라 적절한 조정과 최적화를 하는 것입니다.
/*backtest
start: 2025-01-02 00:00:00
end: 2025-01-09 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy("Bollinger Bands and Fibonacci Intraday Strategy", overlay=true)
// Bollinger Bands settings
length = input.int(20, title="Bollinger Band Length")
src = close
mult = input.float(2.0, title="Bollinger Band Multiplier")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Fibonacci retracement levels
fibRetrace1 = input.float(0.236, title="Fibonacci Level 0.236")
fibRetrace2 = input.float(0.382, title="Fibonacci Level 0.382")
fibRetrace3 = input.float(0.618, title="Fibonacci Level 0.618")
// Define the Fibonacci levels based on recent high and low
var float fibLow = na
var float fibHigh = na
if (bar_index == 0 or ta.highest(high, 20) != fibHigh or ta.lowest(low, 20) != fibLow)
fibHigh := ta.highest(high, 20)
fibLow := ta.lowest(low, 20)
fibLevel1 = fibLow + (fibHigh - fibLow) * fibRetrace1
fibLevel2 = fibLow + (fibHigh - fibLow) * fibRetrace2
fibLevel3 = fibLow + (fibHigh - fibLow) * fibRetrace3
// Plot Fibonacci levels on the chart
plot(fibLevel1, title="Fib 0.236", color=color.blue, linewidth=1)
plot(fibLevel2, title="Fib 0.382", color=color.green, linewidth=1)
plot(fibLevel3, title="Fib 0.618", color=color.red, linewidth=1)
// Buy and Sell conditions
buyCondition = close < lower and close > fibLevel1
sellCondition = close > upper and close < fibLevel3
// Plot Buy and Sell signals
plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Execute strategy
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
// Exit strategy with stop loss and take profit
stopLoss = input.float(50, title="Stop Loss (pips)", minval=1)
takeProfit = input.float(100, title="Take Profit (pips)", minval=1)
strategy.exit("Exit Buy", "Buy", stop=close - stopLoss * syminfo.mintick, limit=close + takeProfit * syminfo.mintick)
strategy.exit("Exit Sell", "Sell", stop=close + stopLoss * syminfo.mintick, limit=close - takeProfit * syminfo.mintick)