
Bài viết này giới thiệu một chiến lược giao dịch theo dõi xu hướng dựa trên chỉ số G-Channel và đường trung bình di chuyển của chỉ số (EMA). Chiến lược này sử dụng chỉ số G-Channel để xác định hướng xu hướng thị trường hiện tại và kết hợp với đường đi của chỉ số EMA để tạo ra tín hiệu mua và bán. Ý tưởng chính của chiến lược này là mua khi giá quay trở lại gần EMA trong xu hướng tăng và bán khi giá quay trở lại gần EMA trong xu hướng giảm, do đó nắm bắt xu hướng giá chính.
Cốt lõi của chiến lược này là chỉ số G-Channel, lần đầu tiên được đề xuất bởi Andrew Guppy, nhằm xác định xu hướng của xu hướng giá hiện tại. Chỉ số G-Channel bao gồm một đường lên, một đường xuống và một đường trung bình.
Khi giá đóng cửa phá vỡ đường lên, nghĩa là bắt đầu hình thành xu hướng tăng; khi giá đóng cửa phá vỡ đường xuống, nghĩa là bắt đầu hình thành xu hướng giảm. Chiến lược này được sử dụngbarssince()Chức năng tính toán trước bao nhiêu đường K trước khi đột phá lên và đột phá xuống lần gần nhất xảy ra, và hướng gần nhất trong hai là hướng xu hướng hiện tại.
EMA là một chỉ số theo dõi xu hướng, so với đường trung bình di chuyển đơn giản, phân bố trọng lượng của nó có xu hướng hướng đến giá gần đây, do đó phản ứng với sự thay đổi giá sẽ nhạy cảm hơn. Trong xu hướng tăng, EMA thường nằm bên dưới giá và đóng vai trò hỗ trợ; trong xu hướng giảm, EMA thường nằm trên giá và đóng vai trò áp lực.
Chiến lược này có tính toán giao dịch như sau:
Bài viết này giới thiệu một chiến lược theo dõi xu hướng dựa trên chỉ số G-Channel và chỉ số EMA. Chiến lược này sử dụng G-Channel để xác định chính xác hướng xu hướng thị trường hiện tại và sử dụng xu hướng để nắm bắt cơ hội mua bán khi giá vượt qua 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)