
Strategi ini menggunakan indikator G-Channel untuk menentukan arah trend pasaran semasa, dan digabungkan dengan penembusan indikator EMA untuk menghasilkan isyarat jual beli. Gagasan utama strategi ini adalah untuk membeli semasa harga memutar balik ke EMA berhampiran dalam trend menaik, dan menjual semasa harga memutar balik ke EMA berhampiran dalam trend menurun, untuk menangkap trend harga utama.
Pusat strategi ini adalah G-Channel Indicator, yang pertama kali dikemukakan oleh Andrew Guppy, yang bertujuan untuk menentukan arah trend pergerakan harga semasa. G-Channel Indicator terdiri daripada satu tren naik, satu tren turun, dan satu garis rata-rata.
Apabila harga penutupan naik ke atas, ia menunjukkan permulaan tren naik; apabila harga penutupan turun ke bawah, ia menunjukkan permulaan tren menurun. Strategi ini digunakan.barssince()Fungsi untuk mengira berapa banyak akar K yang telah berlaku sebelum pecah ke atas dan pecah ke bawah terakhir, yang mana arah yang paling dekat antara keduanya adalah arah trend semasa.
EMA adalah petunjuk trend yang lebih cenderung kepada harga terkini berbanding purata bergerak sederhana, dan oleh itu lebih sensitif terhadap perubahan harga. Dalam trend menaik, EMA cenderung berada di bawah harga dan bertindak sebagai sokongan; dalam trend menurun, EMA cenderung berada di atas harga dan bertindak sebagai tekanan.
Logik perdagangan strategi ini adalah seperti berikut:
Strategi ini menggunakan G-Channel untuk menentukan arah trend pasaran semasa dengan tepat, dan menggunakan harga dalam trend untuk menangkap peluang jual beli ketika melintasi EMA. Kelebihan strategi ini adalah keupayaan trend yang kuat dan adaptasi yang luas, tetapi juga harus waspada terhadap perubahan trend, parameter yang tidak betul dan risiko yang dibawa oleh peristiwa Black Swan. Strategi ini dapat ditingkatkan lagi dengan memperkenalkan lebih banyak petunjuk tambahan, pengoptimuman pengurusan kedudukan, menggabungkan indikator sentimen pasaran dan lain-lain.
/*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)