이 전략은 가격 패턴과 기술 지표를 결합한 양적 거래 시스템이다. 주로 삼각형 패턴 브레이크오웃을 식별하고 RSI 모멘텀을 사용하여 거래를 확인한다. 전략은 상위와 하위 트렌드 라인을 구성하기 위해 선형 회귀를 사용하여 가격 브레이크오웃과 RSI 포지션을 통해 거래 신호를 결정하여 패턴과 모멘텀 분석의 유기적인 조합을 달성한다.
핵심 논리는 삼각형 패턴 인식 및 RSI 모멘텀 확인이라는 두 가지 주요 구성 요소로 구성됩니다. 첫째, 최근 N 기간의 최고와 최저를 계산하기 위해 선형 회귀를 사용하여 삼각형을 형성하기 위해 상위 및 하위 트렌드 라인을 구성합니다. 가격이 상위 트렌드 라인을 넘어서 RSI가 50 이상이면 구매 신호를 유발합니다. 가격이 하위 트렌드 라인을 넘어서 RSI가 50 미만일 때 판매 신호를 유발합니다. 전략은 삼각형 길이와 RSI 기간에 대한 조정 가능한 매개 변수를 갖추고 있으며 강력한 적응력을 제공합니다.
RSI 모멘텀 전략과 함께 삼각형 브레이크아웃은 완전하고 논리적으로 명확한 양적 거래 시스템입니다. 패턴과 모멘텀의 이중 확인 메커니즘을 통해 거래 신호 신뢰성을 효과적으로 향상시킵니다. 특정 위험이 존재하지만 전략은 합리적인 매개 변수 최적화 및 위험 통제 조치를 통해 좋은 실용적 가치를 가지고 있습니다. 거래자는 라이브 거래 전에 특정 시장 특성에 따라 철저한 매개 변수 최적화 및 백테스팅 검증을 수행하는 것이 좋습니다.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Triangle Breakout with RSI", overlay=true) // Input parameters len = input.int(15, title="Triangle Length") rsiPeriod = input.int(14, title="RSI Period") rsiThresholdBuy = input.int(50, title="RSI Threshold for Buy") rsiThresholdSell = input.int(50, title="RSI Threshold for Sell") // Calculate the RSI rsi = ta.rsi(close, rsiPeriod) // Calculate highest high and lowest low for triangle pattern highLevel = ta.highest(high, len) lowLevel = ta.lowest(low, len) // Create trendlines for the triangle upperTrend = ta.linreg(high, len, 0) lowerTrend = ta.linreg(low, len, 0) // Plot the trendlines on the chart plot(upperTrend, color=color.green, linewidth=2, title="Upper Trendline") plot(lowerTrend, color=color.red, linewidth=2, title="Lower Trendline") // Detect breakout conditions breakoutUp = close > upperTrend breakoutDown = close < lowerTrend // Confirm breakout with RSI buyCondition = breakoutUp and rsi > rsiThresholdBuy sellCondition = breakoutDown and rsi < rsiThresholdSell // Plot breakout signals with confirmation from RSI plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, size=size.small) plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small) // Strategy: Buy when triangle breaks upwards and RSI is above 50; Sell when triangle breaks downwards and RSI is below 50 if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Plot RSI on the bottom pane hline(50, "RSI 50 Level", color=color.gray, linestyle=hline.style_dotted) plot(rsi, color=color.blue, linewidth=2, title="RSI")