이 문서에서는 G 채널 지표와 기하급수적인 이동 평균 (EMA) 을 기반으로 한 트렌드 추적 거래 전략을 소개합니다. 이 전략은 G 채널 지표를 사용하여 현재 시장 트렌드 방향을 결정하고 EMA와의 교차에 기반한 구매/판매 신호를 생성합니다. 주요 아이디어는 상승 추세 동안 가격이 EMA로 되돌아 갈 때 구매하고 하락 추세 동안 가격이 EMA로 반등 할 때 판매하여 주요 가격 추세를 파악하는 것입니다.
이 전략의 핵심은 G-채널 지표이다. G-채널은 가격 움직임의 현재 트렌드 방향을 식별하기 위해 앤드류 구피가 처음 제안했다. G-채널은 상단, 하단, 평균선으로 구성된다. 상단은 최근 기간의 가장 높은 가격 지점을 연결하고, 하단은 가장 낮은 가격 지점을 연결하고, 평균선은 상단과 하단의 수학적 평균이다.
닫기 가격은 상단보다 높을 때 상승 추세의 시작을 의미하며, 하단보다 낮을 때 하향 추세의 시작을 의미합니다. 전략은barssince()
가장 최근 상승과 하락 파업이 얼마나 오래 전에 발생했는지 계산하는 함수입니다. 가장 최근에 발생한 방향은 현재 트렌드 방향으로 간주됩니다.
EMA는 단순한 이동 평균에 비해 최근 가격에 더 많은 무게를 부여하여 가격 변화에 더 민감하게 반응하는 경향을 따르는 지표입니다. 상승 추세에서 EMA는 종종 가격 아래의 지원으로 작용합니다. 하락 추세에서는 종종 가격 위의 저항으로 작용합니다.
이 전략의 거래 논리는 다음과 같습니다.
이 기사에서는 G-채널과 EMA 지표에 기반한 트렌드 추적 전략을 소개하였다. 이 전략은 G-채널을 사용하여 현재 시장 트렌드 방향을 정확하게 결정하고 트렌드 내의 EMA와 가격 교차를 기반으로 구매 및 판매 기회를 포착한다. 이 전략의 장점은 강력한 트렌드 추적 능력과 광범위한 적응력 속에 있지만, 트렌드 역전, 부적절한 매개 변수 설정 및 블랙 스완 이벤트로 인한 위험에 대해서도 주의해야 한다. 향후, 더 많은 보조 지표, 위치 관리 최적화 및 시장 정서 지표를 통합함으로써 전략의 견고성과 수익성이 더욱 향상될 수 있다. 전반적으로 이 전략은 명확한 논리, 간단하고 이해하기 쉬운 원칙을 가지고 있으며, 2차 개발 및 라이브 트레이딩에 적합하다. 이 전략은 트레이더들에 의해 참조와 연구에 가치가 있다.
/*backtest start: 2023-03-05 00:00:00 end: 2024-03-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © jonathan_422 //@version=4 strategy("G-Channel and EMA Strategy", shorttitle="G-EMA Strategy", overlay=true) // G-Channel settings length = input(100) src = input(close) // Calculating G-Channel a = 0.0 b = 0.0 a := max(src, nz(a[1])) - nz(a[1] - b[1]) / length b := min(src, nz(b[1])) + nz(a[1] - b[1]) / length avg = avg(a, b) // EMA settings emaLength = input(9, title="EMA Length") ema = ema(close, emaLength) // G-Channel buy/sell signals crossup = b[1] < close[1] and b > close crossdn = a[1] < close[1] and a > close bullish = barssince(crossdn) <= barssince(crossup) // Strategy logic buySignal = bullish and close < ema sellSignal = not bullish and close > ema // Plotting plot(ema, "EMA", color=color.orange) plot(avg, "Average", color=color.blue) // Plot buy/sell signals plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy execution strategy.entry("Buy", strategy.long, when=buySignal) strategy.close("Buy", when=sellSignal)