이 전략은 여러 이동 평균에 기반한 트렌드 추적 시스템이다. 빠른 및 중간 MA 사이의 크로스오버 신호를 통해 트렌드 기회를 캡처하기 위해 다양한 기간 (50, 100, 200) 을 가진 세 가지 간단한 이동 평균 (SMA) 을 활용하며 느린 MA에서 트렌드 확인과 결합된다. 전략 설계는 클래식 트렌드 추적 원칙에 부합하여 멀티 타임프레임 이동 평균 조합을 통해 신호 신뢰성을 향상시킵니다.
핵심 논리는 다음과 같은 핵심 요소에 기반합니다.
이 전략은 여러 이동 평균을 통해 신호 신뢰성 및 효과적인 트렌드 캡처를 보장하는 고전적인 트렌드 다음 시스템을 나타냅니다. 고유한 지연이 있지만 적절한 최적화 및 위험 관리는 강력한 거래 시스템으로 만들 수 있습니다. 핵심 강점은 시스템 안정성과 운영 명확성이며 중장기 트렌드 거래의 기초로 적합합니다.
/*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=6 strategy("MA Cross Strategy", overlay=true) // Input untuk periode Moving Average dan warna label fastLength = input.int(50, minval=1, title="Fast MA Length") mediumLength = input.int(100, minval=1, title="Medium MA Length") slowLength = input.int(200, minval=1, title="Slow MA Length") longLabelColor = input.color(color.green, "Long Label Color") shortLabelColor = input.color(color.red, "Short Label Color") // Hitung Moving Average fastMA = ta.sma(close, fastLength) mediumMA = ta.sma(close, mediumLength) slowMA = ta.sma(close, slowLength) // Kondisi untuk buy dan sell longCondition = ta.crossover(fastMA, mediumMA) and close >= slowMA shortCondition = ta.crossunder(fastMA, mediumMA) and close <= slowMA // Plot Moving Average plot(fastMA, color=color.green, linewidth=1, title="Fast MA") plot(mediumMA, color=color.orange, linewidth=1, title="Medium MA") plot(slowMA, color=color.red, linewidth=2, title="Slow MA") // Plot penanda crossover dengan warna dinamis plot(ta.cross(fastMA, mediumMA) and (longCondition or shortCondition) ? mediumMA : na, color=longCondition ? color.green : color.red, style=plot.style_circles, linewidth=4, title="Crossover") // Plot label saat kondisi entry terpenuhi plotshape(longCondition, title="Long", location=location.belowbar, style=shape.labelup, size=size.normal, color=color.green, textcolor=color.white, text="Long") plotshape(shortCondition, title="Short", location=location.abovebar, style=shape.labeldown, size=size.normal, color=color.red, textcolor=color.white, text="Short") // Strategi if longCondition strategy.entry("Long", strategy.long) if shortCondition strategy.entry("Short", strategy.short) // Exit strategy (berdasarkan crossover MA) if ta.crossunder(fastMA, mediumMA) and strategy.position_size > 0 strategy.close("Long") if ta.crossover(fastMA, mediumMA) and strategy.position_size < 0 strategy.close("Short")