
이 전략은 부린 밴드 (Bollinger Bands), 무작위 지표 (Stochastic Oscillator) 및 평균 실제 파도 (ATR) 의 3 대 기술 지표를 결합 한 다중 기술 지표에 기반 한 지능형 거래 시스템입니다. 시장의 변동성, 동력 및 추세를 종합적으로 분석하여 잠재적인 거래 기회를 식별합니다. 이 전략은 동적인 중지 및 수익 목표 설정을 사용하여 시장의 변동에 따라 거래 매개 변수를 자동으로 조정할 수 있습니다.
이 전략의 핵심 논리는 다음과 같은 3차 검증 메커니즘을 기반으로 합니다.
거래 신호의 생성에는 다음과 같은 조건이 필요합니다: 구매 조건:
판매 조건:
이 전략은 브린 띠, 무작위 지표 및 ATR의 조합 응용을 통해 완전한 거래 시스템을 구축한다. 전략의 장점은 다중 지표의 교차 검증과 동적 위험 관리에 있다. 그러나 또한 파라미터 최적화 및 시장 환경 적응성의 문제에 주의를 기울여야 한다. 이 전략은 지속적인 최적화 및 개선을 통해 실제 거래에서 안정적인 수익 성과를 얻을 것으로 보인다.
/*backtest
start: 2025-02-13 00:00:00
end: 2025-02-19 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("Bollinger Bands + Stochastic Oscillator + ATR Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Bollinger Bands Parameters
bb_length = 20
bb_mult = 2.0
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper_bb = basis + dev
lower_bb = basis - dev
// Stochastic Oscillator Parameters
stoch_length = 14
k_smooth = 3
d_smooth = 3
stoch_k = ta.sma(ta.stoch(close, high, low, stoch_length), k_smooth)
stoch_d = ta.sma(stoch_k, d_smooth)
// ATR Parameters
atr_length = 14
atr_mult = 1.5
atr = ta.atr(atr_length)
// ATR Threshold based on ATR Moving Average
atr_ma = ta.sma(atr, atr_length)
atr_threshold = atr_ma * atr_mult
// Plot Bollinger Bands
plot(basis, color=color.blue, title="BB Basis")
p1 = plot(upper_bb, color=color.red, title="Upper BB")
p2 = plot(lower_bb, color=color.green, title="Lower BB")
fill(p1, p2, color=color.rgb(173, 216, 230, 90), title="BB Fill")
// Plot Stochastic Oscillator
hline(80, "Overbought", color=color.orange)
hline(20, "Oversold", color=color.orange)
plot(stoch_k, color=color.purple, title="%K")
plot(stoch_d, color=color.orange, title="%D")
// Plot ATR and ATR Threshold for Visualization
hline(0, "ATR Zero Line", color=color.gray, linestyle=hline.style_dotted)
plot(atr, title="ATR", color=color.blue)
plot(atr_threshold, title="ATR Threshold", color=color.gray, style=plot.style_stepline)
// Buy Condition:
// - Price closes below the lower Bollinger Band
// - Stochastic %K crosses above %D in oversold region
// - ATR is above the ATR threshold
buyCondition = close < lower_bb and ta.crossover(stoch_k, stoch_d) and stoch_k < 20 and atr > atr_threshold
// Sell Condition:
// - Price closes above the upper Bollinger Band
// - Stochastic %K crosses below %D in overbought region
// - ATR is above the ATR threshold
sellCondition = close > upper_bb and ta.crossunder(stoch_k, stoch_d) and stoch_k > 80 and atr > atr_threshold
// Plot Buy/Sell Signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Execute Trades
if (buyCondition)
strategy.entry("Long", strategy.long)
if (sellCondition)
strategy.close("Long")
// Optional: Add Stop Loss and Take Profit
// Stop Loss at ATR-based distance
stop_level = close - atr_mult * atr
take_level = close + atr_mult * atr
if (buyCondition)
strategy.exit("Take Profit/Stop Loss", from_entry="Long", stop=stop_level, limit=take_level)