Strategi Deteksi Tren G-Channel

MA TP SL
Tanggal Pembuatan: 2024-05-29 17:06:13 Akhirnya memodifikasi: 2024-05-29 17:06:13
menyalin: 0 Jumlah klik: 1051
1
fokus pada
1617
Pengikut

Strategi Deteksi Tren G-Channel

Ringkasan

Strategi deteksi tren G-Channel adalah strategi perdagangan kuantitatif yang didasarkan pada indikator saluran G. Strategi ini menghasilkan sinyal jual beli dengan menghitung nilai tertinggi dan terendah dari saluran G dan menilai tren pasar saat ini berdasarkan persimpangan harga dengan garis rata saluran G. Strategi ini juga menetapkan kondisi stop loss untuk mengendalikan risiko.

Prinsip Strategi

  1. Hitung batas atas dan bawah dari saluran G, di mana a adalah perbedaan antara nilai tertinggi historis dan nilai a periode sebelumnya dibagi dengan jumlah periode, b adalah perbedaan antara nilai a dan nilai b periode sebelumnya ditambah dengan jumlah periode.
  2. Hitung garis rata-rata avg saluran G, yaitu:
  3. Jika harga melewati nilai b, maka terjadi tren bullish. Jika harga melewati nilai a, maka terjadi tren bearish.
  4. Dalam tren bullish, sinyal beli dihasilkan jika garis K sebelumnya turun dan garis K saat ini berubah menjadi bullish; dalam tren bullish, sinyal jual dihasilkan jika garis K sebelumnya turun dan garis K saat ini berubah menjadi bullish.
  5. Tetapkan kondisi stop loss, ketika memegang posisi multipel, stop loss adalah harga beli kali ((1 + stop loss ratio), stop loss adalah harga beli kali ((1-stop loss ratio); ketika memegang posisi kosong, stop loss adalah harga jual kali (((1-stop loss ratio), stop loss adalah harga jual kali ((1 + stop loss ratio)).

Keunggulan Strategis

  1. Indikator G-channel mampu secara efektif menangkap tren pasar, menghasilkan sinyal jual beli melalui persilangan harga dengan garis rata G-channel, sederhana dan mudah digunakan.
  2. Pengaturan Stop Loss dapat mengontrol risiko secara efektif dan mencegah kerugian yang berlebihan pada satu transaksi.
  3. Logika strategi yang jelas, mudah dipahami dan diterapkan, cocok untuk pemula dalam trading kuantitatif.

Risiko Strategis

  1. Indikator G-channel dapat menghasilkan lebih banyak sinyal palsu untuk kondisi pasar yang bergejolak, yang menyebabkan perdagangan yang lebih sering dan biaya slippage yang lebih tinggi.
  2. Pengaturan rasio stop loss harus disesuaikan dengan karakteristik pasar dan preferensi risiko pribadi. Pengaturan parameter yang tidak tepat dapat menyebabkan keuntungan strategi yang buruk.
  3. Strategi ini tidak memperhitungkan spesifikasi dari jenis perdagangan, seperti strategi saham yang mungkin mengalami penarikan, penurunan, dan hal-hal lain yang perlu dioptimalkan lebih lanjut.

Arah optimasi strategi

  1. Dapat mencoba untuk memperkenalkan indikator teknis lainnya, seperti ATR, RSI, dan lain-lain, untuk sinyal yang dihasilkan oleh indikator saluran G untuk konfirmasi kedua, meningkatkan keandalan sinyal.
  2. Untuk Stop Loss Ratio, Anda dapat menggunakan cara penyesuaian dinamis, menyesuaikan diri dengan faktor-faktor seperti volatilitas pasar dan waktu memegang posisi, meningkatkan fleksibilitas strategi.
  3. Untuk karakteristik varietas perdagangan, Anda dapat menambahkan modul kontrol angin yang sesuai, seperti untuk strategi saham, Anda dapat mengatur logika penanganan dalam situasi khusus seperti berhenti trading, berhenti trading.

Meringkaskan

Strategi deteksi tren G-Channel adalah strategi perdagangan kuantitatif sederhana yang didasarkan pada indikator G-Channel, menghasilkan sinyal jual beli dengan menangkap tren pasar, dan mengatur kondisi pengendalian stop loss untuk mengendalikan risiko. Strategi ini logisnya jelas, mudah diimplementasikan, dan cocok untuk belajar pemula perdagangan kuantitatif. Namun, strategi ini mungkin menghasilkan lebih banyak sinyal palsu untuk pasar yang bergolak, rasio stop loss perlu disesuaikan dengan karakteristik pasar, tanpa mempertimbangkan spesifisitas jenis perdagangan.

Kode 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))