Bài viết này giới thiệu một chiến lược giao dịch theo xu hướng dựa trên chỉ số G-Channel và Chỉ số trung bình chuyển động nhân tố (EMA). Chiến lược sử dụng chỉ số G-Channel để xác định hướng xu hướng thị trường hiện tại và tạo ra tín hiệu mua / bán dựa trên giao thoa với EMA. Ý tưởng chính là mua khi giá kéo trở lại EMA trong một xu hướng tăng và bán khi giá phục hồi đến EMA trong một 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 để xác định hướng xu hướng hiện tại của biến động giá. G-Channel bao gồm một dải trên, một dải dưới và một đường trung bình. Dải trên kết nối các điểm giá cao nhất của giai đoạn gần đây, dải dưới kết nối các điểm giá thấp nhất, và đường trung bình là trung bình số học của các dải trên và dưới.
Khi giá đóng phá vỡ trên dải trên, nó biểu thị sự bắt đầu của xu hướng tăng; khi nó phá vỡ dưới dải dưới, nó biểu thị sự bắt đầu của xu hướng giảm.barssince()
Chế độ gần đây nhất được coi là hướng xu hướng hiện tại.
EMA là một chỉ số theo xu hướng đặt nhiều trọng lượng hơn vào giá gần đây so với một đường trung bình động đơn giản, làm cho nó phản ứng nhanh hơn với sự thay đổi giá. Trong xu hướng tăng, EMA thường hoạt động như một hỗ trợ dưới giá; trong xu hướng giảm, nó thường hoạt động như một kháng cự trên giá.
Logic giao dịch của chiến lược này là như sau:
Bài viết này giới thiệu một chiến lược theo xu hướng dựa trên các chỉ số G-Channel và 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à nắm bắt các cơ hội mua và bán dựa trên sự giao thoa giá với EMA trong xu hướng.
/*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)