이 전략은 슈퍼트렌드 지표를 기반으로 한 고급 트렌드 추적 거래 시스템으로, 여러 신호 확인 메커니즘과 동적 위치 관리를 통합합니다. 전략의 핵심은 ATR (평균 진실 범위) 를 사용하여 슈퍼트렌드 라인을 계산하고 지능적인 시장 트렌드 캡처를 달성하기 위해 가격 움직임과 위치 시간 창을 결합하여 거래 신호를 생성합니다.
이 전략은 세 계층의 신호 필터링 메커니즘을 사용합니다.
이 전략은 거래당 15%의 계좌 자금을 포지션 크기로 사용하며 보수적인 리스크 관리를 지원합니다.
이것은 여러 신호 확인 메커니즘과 포괄적 인 위험 관리 시스템으로 실용적인 응용 가치를 가진 체계적이고 논리적으로 엄격한 트렌드 추적 전략입니다. 전략의 강력한 확장성은 제안된 최적화 방향에 의해 더 많은 안정성과 수익성 향상을 가능하게합니다.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend Strategy", overlay=true) atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step=0.01) // Compute supertrend values [supertrendValue, supertrendDirection] = ta.supertrend(factor, atrPeriod) var float direction = na if not na(supertrendDirection[1]) and supertrendDirection[1] != supertrendDirection direction := supertrendDirection > 0 ? 1 : -1 // Variables to track conditions var int lastShortTime = na var int lastLongTime = na // Detecting short and long entries if direction == -1 strategy.entry("My Short Entry Id", strategy.short) lastShortTime := bar_index if direction == 1 strategy.entry("My Long Entry Id", strategy.long) lastLongTime := bar_index // Custom signal logic bool bullishSignal = false bool bearishSignal = false // Define bullish signal conditions if not na(lastShortTime) and (bar_index - lastShortTime >= 15 and bar_index - lastShortTime <= 19) if close > open and close[1] > open[1] and close[2] > open[2] bullishSignal := true // Define bearish signal conditions if not na(lastLongTime) and (bar_index - lastLongTime >= 15 and bar_index - lastLongTime <= 19) if close < open and close[1] < open[1] and close[2] < open[2] bearishSignal := true // Plot signals if bullishSignal strategy.entry("Bullish Upward Signal", strategy.long) label.new(bar_index, close, text="Bullish", style=label.style_circle, color=color.green, textcolor=color.white) if bearishSignal strategy.entry("Bearish Downward Signal", strategy.short) label.new(bar_index, close, text="Bearish", style=label.style_circle, color=color.red, textcolor=color.white) // Optionally plot the strategy equity //plot(strategy.equity, title="Equity", color=color.red, linewidth=2, style=plot.style_areabr)