
이 전략은 MACD와 RSI 지표의 교차 신호에 기반한 트렌드 추적 시스템이며, 브린 밴드와 결합하여 시장의 변동 분석을 수행한다. 전략의 핵심은 MACD 금 포크와 RSI 과잉 구매 과잉 판매 영역의 조합을 통해 트렌드 전환점을 포착하고, 브린을 사용하여 가격 변동 영역을 확인하여 더 안정적인 거래 신호를 제공합니다.
이 전략은 세 가지의 기술 지표 필터링 메커니즘을 사용합니다.
진입 조건은 MACD 금포가 요구되며 RSI는 낮은 ((<50) 에 위치하고 있습니다. 이는 시장이 초과 판매 지역에서 반발을 시작할 수 있음을 나타냅니다. 출전 조건은 MACD 사각지대가 필요하며 RSI가 높은 ((> 50), 상승 동력이 약화되고 회전이 시작될 수 있음을 나타냅니다.
이 전략은 MACD, RSI 및 브린 띠의 조합 응용을 통해, 비교적 완전한 트렌드 추적 거래 시스템을 구축한다. 전략은 좋은 이론적 기초와 실용성을 가지고 있지만, 특정 시장 특성에 따라 변수 최적화 및 위험 통제의 개선이 여전히 필요하다. 제안된 최적화 방향을 통해 전략은 더 나은 안정성과 수익성을 얻을 수 있다. 이 시스템은 중장기 및 장기적인 트렌드 기회를 추구하는 투자자에게 적합하지만, 사용할 때 그것의 한계를 충분히 인식하고 위험을 잘 관리해야합니다.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MACD, RSI, Bollinger Bands Strategy", overlay=true)
// Input parameters for MACD
fastLength = input.int(12, title="MACD Fast Length")
slowLength = input.int(26, title="MACD Slow Length")
signalLength = input.int(9, title="MACD Signal Length")
// Input parameters for RSI
rsiLength = input.int(14, title="RSI Length")
// Input parameters for Bollinger Bands
bbLength = input.int(20, title="Bollinger Band Length")
bbMult = input.float(2.0, title="Bollinger Band Multiplier")
// MACD calculation
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)
macdCrossUp = ta.crossover(macdLine, signalLine)
macdCrossDown = ta.crossunder(macdLine, signalLine)
// RSI calculation
rsi = ta.rsi(close, rsiLength)
// Bollinger Bands calculation
bbBasis = ta.sma(close, bbLength)
bbUpper = bbBasis + bbMult * ta.stdev(close, bbLength)
bbLower = bbBasis - bbMult * ta.stdev(close, bbLength)
// Plot Bollinger Bands
plot(bbBasis, color=color.blue, title="Bollinger Band Basis")
plot(bbUpper, color=color.green, title="Upper Bollinger Band")
plot(bbLower, color=color.red, title="Lower Bollinger Band")
// Entry condition: MACD crosses signal line from below and RSI < 50
enterLong = macdCrossUp and rsi < 50
// Exit condition: MACD crosses signal line from above and close touches the Bollinger Band middle line
exitLong = macdCrossDown and rsi> 50
// Strategy logic
if (enterLong and strategy.position_size == 0)
strategy.entry("Buy", strategy.long)
if (exitLong and strategy.position_size > 0)
strategy.close("Buy")