Strategi Pengesanan Aliran G-Channel

MA TP SL
Tarikh penciptaan: 2024-05-29 17:06:13 Akhirnya diubah suai: 2024-05-29 17:06:13
Salin: 0 Bilangan klik: 1051
1
fokus pada
1617
Pengikut

Strategi Pengesanan Aliran G-Channel

Gambaran keseluruhan

Strategi pengesanan trend G-Channel adalah strategi perdagangan kuantitatif berdasarkan indikator saluran G. Strategi ini menghasilkan isyarat jual beli dengan mengira nilai tertinggi dan terendah saluran G dan menilai trend pasaran semasa berdasarkan persimpangan harga dengan garis rata saluran G. Strategi ini juga menetapkan syarat berhenti untuk mengawal risiko.

Prinsip Strategi

  1. Hitung a dan b sebagai maksimum atas dan bawah saluran G, di mana a adalah perbezaan antara nilai tertinggi sejarah dan nilai a pada kitaran sebelumnya, dibahagikan kepada bilangan kitaran, dan b adalah perbezaan antara nilai terendah sejarah ditambah nilai a dan nilai b pada kitaran sebelumnya, dibahagikan kepada bilangan kitaran.
  2. Hitung avg rata-rata saluran G, iaitu ((a+b) / 2 ◦).
  3. Untuk menilai keadaan persilangan harga dan nilai b, jika harga melepasi nilai b, ia dianggap sebagai tren bullish; jika harga melepasi nilai a, ia dianggap sebagai tren bearish.
  4. Dalam trend bullish, jika garis K terdahulu turun dan garis K semasa bertukar menjadi bullish, ia akan menghasilkan isyarat beli. Dalam trend bullish, jika garis K terdahulu turun dan garis K semasa bertukar menjadi bullish, ia akan menghasilkan isyarat jual.
  5. Tetapkan keadaan berhenti berhenti, apabila memegang kedudukan berbilang kepala, harga berhenti adalah harga beli berganda ((1 + stop stop rasio), harga berhenti adalah harga beli berganda ((1- stop stop rasio); apabila memegang kedudukan kepala kosong, harga berhenti adalah harga jual berganda ((1- stop stop rasio), harga berhenti adalah harga jual berganda ((1 + stop stop rasio)).

Kelebihan Strategik

  1. Penunjuk saluran G dapat menangkap trend pasaran dengan berkesan, menghasilkan isyarat beli dan jual melalui persilangan harga dengan garis rata saluran G, mudah dan mudah digunakan.
  2. Tetapan Stop Loss boleh mengawal risiko dengan berkesan dan mencegah kerugian yang berlebihan dalam satu perdagangan.
  3. Logik strategi jelas, mudah difahami dan dilaksanakan, sesuai untuk pemula yang belajar menggunakan perdagangan kuantitatif.

Risiko Strategik

  1. G-channel mungkin menghasilkan lebih banyak isyarat palsu untuk keadaan pasaran yang bergolak, yang menyebabkan perdagangan yang kerap dan kos slippage yang tinggi.
  2. Tetapan kadar stop loss perlu disesuaikan dengan ciri-ciri pasaran dan pilihan risiko individu, dan tetapan parameter yang tidak sesuai boleh menyebabkan keuntungan strategi yang buruk.
  3. Strategi ini tidak mengambil kira keistimewaan jenis perdagangan, seperti strategi saham yang mungkin mengalami penangguhan, penurunan, dan sebagainya, yang memerlukan pengoptimuman lanjut.

Arah pengoptimuman strategi

  1. Anda boleh cuba memperkenalkan petunjuk teknikal lain, seperti ATR, RSI, dan lain-lain, untuk mengesahkan kedua isyarat yang dihasilkan oleh petunjuk saluran G, meningkatkan kebolehpercayaan isyarat.
  2. Untuk peratusan hentian hentian, anda boleh menggunakan cara penyesuaian dinamik, menyesuaikan diri mengikut faktor-faktor seperti turun naik pasaran dan masa memegang kedudukan, meningkatkan kebolehsesuaian strategi.
  3. Untuk ciri-ciri jenis perdagangan, modul kawalan angin yang sesuai boleh dimasukkan, seperti untuk strategi saham, logik pengendalian dalam keadaan khas seperti berhenti, berhenti turun boleh ditetapkan.

ringkaskan

Strategi pengesanan trend G-Channel adalah strategi perdagangan kuantitatif yang mudah berdasarkan indikator saluran G, menghasilkan isyarat beli dan jual dengan menangkap trend pasaran, dan menetapkan risiko kawalan keadaan berhenti. Logik strategi jelas, mudah dilaksanakan, sesuai untuk belajar pemula perdagangan kuantitatif. Walau bagaimanapun, strategi ini mungkin menghasilkan lebih banyak isyarat palsu untuk pasaran yang bergolak, nisbah stop loss perlu disesuaikan dengan ciri-ciri pasaran, tanpa mempertimbangkan kekhususan jenis perdagangan.

Kod sumber strategi
//@version=5
// Full credit to AlexGrover: https://www.tradingview.com/script/fIvlS64B-G-Channels-Efficient-Calculation-Of-Upper-Lower-Extremities/
strategy("G-Channel Trend Detection Strategy", shorttitle="G-Trend", overlay=true)

// Input parameters
length = input.int(100, title="Length")
src = input(close, title="Source")
take_profit_percent = input.float(5.0, title="Take Profit (%)")
stop_loss_percent = input.float(2.0, title="Stop Loss (%)")
showcross = input.bool(true, title="Show Cross")

// Initialize variables
var float a = na
var float b = na

// Calculate a and b
a := math.max(src, nz(a[1])) - (nz(a[1]) - nz(b[1])) / length
b := math.min(src, nz(b[1])) + (nz(a[1]) - nz(b[1])) / length

// Calculate average
avg = (a + b) / 2

// Determine trend and color
crossup = ta.crossunder(b, close)
crossdn = ta.crossunder(a, close)
bullish = ta.barssince(crossdn) <= ta.barssince(crossup)
c = bullish ? color.lime : color.red

// Plotting
p1 = plot(avg, "Average", color=c, linewidth=1)
p2 = plot(close, "Close price", color=c, linewidth=1)
fill(p1, p2, c)

// Generate buy and sell signals
buy_signal = showcross and bullish and not bullish[1]
sell_signal = showcross and not bullish and bullish[1]

// Plot buy and sell signals on chart
plotshape(buy_signal ? avg : na, location=location.belowbar, style=shape.labeldown, color=color.new(color.lime, 0), size=size.tiny, text="Buy", textcolor=color.white, offset=-1)
plotshape(sell_signal ? avg : na, location=location.abovebar, style=shape.labelup, color=color.new(color.red, 0), size=size.tiny, text="Sell", textcolor=color.white, offset=-1)

// Alerts
alertcondition(buy_signal, title="Buy Signal", message="Buy Signal Detected")
alertcondition(sell_signal, title="Sell Signal", message="Sell Signal Detected")

// Calculate take profit and stop loss levels
take_profit_level = close * (1 + take_profit_percent / 100)
stop_loss_level = close * (1 - stop_loss_percent / 100)

// Strategy Entry and Exit
if (buy_signal)
    strategy.entry("Buy", strategy.long)

if (sell_signal)
    strategy.entry("Sell", strategy.short)

// Define the take profit and stop loss conditions for long positions
strategy.exit("Take Profit/Stop Loss", "Buy", limit=take_profit_level, stop=stop_loss_level)

// Define the take profit and stop loss conditions for short positions
strategy.exit("Take Profit/Stop Loss", "Sell", limit=close * (1 - take_profit_percent / 100), stop=close * (1 + stop_loss_percent / 100))