이 전략은 역사적인 높은 돌파구와 월간 이동 평균 필터에 기반한 트렌드 다음 시스템이다. 이는 8 기간 간 간단한 이동 평균 (8 SMA) 을 월간 시간 프레임에서 판매 필터로 사용하여 이전 역사적인 최고 이상의 가격 브레이크를 모니터링함으로써 구매 신호를 생성합니다. 전략 디자인은 잘못된 브레이크 위험을 줄이기 위해 트렌드 연속의 시장 특성에 맞게 조정되며 특히 강한 상승 시장의 주요 트렌드를 포착하는 데 적합합니다.
핵심 논리는 두 가지 핵심 요소로 구성됩니다.
이는 명확한 논리를 가진 전략을 따르는 잘 설계된 트렌드입니다. 역사적 높은 브레이크오웃과 월간 이동 평균의 조합을 통해 효과적인 트렌드 캡처와 합리적인 리스크 컨트롤을 모두 달성합니다. 지연 및 잘못된 브레이크오웃의 본질적인 위험이 있지만 제안된 최적화 방향은 추가 성능 향상을 위한 잠재력을 제공합니다. 전략은 명확한 트렌드를 가진 시장에 특히 적합하며 중장기 투자에 중요한 참조 도구로 사용될 수 있습니다.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-11 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Buy Signal on Close Greater Than Previous All-Time High Strategy", overlay=true) // Initialize the previous all-time high var float prevAllTimeHigh = na // Update the all-time high, excluding the current bar's high (use previous bar's high) if (na(prevAllTimeHigh) or high[1] > prevAllTimeHigh) prevAllTimeHigh := high[1] // Monthly closing price and 8 SMA on monthly time frame monthlyClose = request.security(syminfo.tickerid, "M", close) monthlySMA = ta.sma(monthlyClose, 8) // Variables to track the last signal type var int lastSignal = 0 // 0 = None, 1 = Buy, 2 = Sell // Debugging output to check the all-time high and conditions plot(prevAllTimeHigh, color=color.blue, linewidth=1, title="Previous All-Time High") plot(monthlySMA, color=color.green, linewidth=1, title="8 SMA (Monthly)") // Buy signal: when the latest close is greater than the previous all-time high buySignal = close > prevAllTimeHigh and lastSignal != 1 // Sell signal: when the monthly close is below the 8 SMA sellSignal = monthlyClose < monthlySMA and lastSignal != 2 // Update the last signal type after triggering a signal if (buySignal) lastSignal := 1 if (sellSignal) lastSignal := 2 // Execute the strategy orders if (buySignal) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.close("Buy") // Optional: Plot buy and sell signals on the chart for visual reference plotshape(series=buySignal, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small) plotshape(series=sellSignal, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)