
이 글은 G-채널 지표와 지수 이동 평균 (EMA) 을 기반으로 한 트렌드 추적 거래 전략을 소개한다. 이 전략은 G-채널 지표를 사용하여 현재 시장 추세 방향을 판단하고 EMA 지표의 교차와 결합하여 매매 신호를 생성한다. 이 전략의 주요 아이디어는 상승 추세에서 가격이 EMA 근처로 회전할 때 구매하고 하향 추세에서 가격이 EMA 근처로 회전할 때 판매하여 주요 가격 추세를 포착하는 것이다.
이 전략의 핵심은 G-채널 지표입니다. 이 지표는 앤드류 구피 (Andrew Guppy) 에 의해 처음 제안되었으며, 현재 가격 움직임의 추세 방향을 판단하기 위한 것입니다. G-채널 지표는 상승, 하락, 평균으로 구성됩니다.
종결 가격이 상향으로 올라가는 것은 상승 트렌드가 시작되는 것을 의미하며, 종결 가격이 하향으로 내려가는 것은 하향 트렌드가 시작되는 것을 의미한다. 이 전략은 사용한다.barssince()함수는 가장 최근의 상향 돌파와 하향 돌파가 각각 발생하기 전에 얼마나 많은 K선에서 발생했는지를 계산합니다. 둘 중 가장 가까운 방향은 현재 트렌드 방향입니다.
EMA는 트렌드 추적 지표이며, 간단한 이동 평균에 비해, 그것의 무게 분배는 근기간의 가격에 더 기울어, 따라서 가격 변화에 대한 반응에 더 민감하다. 상승 추세에서, EMA는 가격 아래에 있고, 지지 역할을 한다. 하향 추세에서, EMA는 가격 위에 있고, 압력 역할을 한다.
이 전략의 거래 논리는 다음과 같습니다.
이 글은 G-Channel 지표와 EMA 지표에 기반한 트렌드 추적 전략에 대해 소개한다. 이 전략은 G-Channel를 사용하여 현재 시장의 트렌드 방향을 정확하게 판단하고, EMA를 통과하는 가격의 매매 기회를 포착한다. 전략의 장점은 트렌드 추적 능력이 강하고, 적응력이 넓다는 데 있다. 그러나 트렌드 전환, 잘못된 파라미터 설정 및 블랙 스바람 사건으로 인한 위험을 경계해야 한다.
/*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)