Strategi Perdagangan Kuantitatif Pelacakan Tren Crossover Rata-rata Pergerakan Ganda

SMA MA 趋势跟踪 均线交叉 交易信号 自动反转
Tanggal Pembuatan: 2025-03-25 14:58:39 Akhirnya memodifikasi: 2025-03-25 14:58:39
menyalin: 0 Jumlah klik: 353
2
fokus pada
319
Pengikut

Strategi Perdagangan Kuantitatif Pelacakan Tren Crossover Rata-rata Pergerakan Ganda Strategi Perdagangan Kuantitatif Pelacakan Tren Crossover Rata-rata Pergerakan Ganda

Ringkasan

Strategi ini adalah sistem pelacakan tren yang didasarkan pada dua persimpangan rata-rata, yang menggunakan persimpangan dua rata-rata bergerak sederhana (SMA) jangka pendek dan jangka panjang untuk menghasilkan sinyal perdagangan multi-posisi yang jelas. Strategi ini dirancang sederhana, jelas, mudah dipahami dan diterapkan, terutama cocok untuk pedagang yang ingin menguasai prinsip-prinsip dasar persimpangan rata-rata bergerak.

Prinsip Strategi

Inti dari strategi ini didasarkan pada interaksi antara dua rata-rata bergerak sederhana (SMA):

  1. Rata-rata bergerak jangka pendek: secara default 9 siklus, mencerminkan pergerakan harga yang lebih baru
  2. Rata-rata bergerak jangka panjang: secara default disetel menjadi 21 siklus, yang mencerminkan tren harga jangka panjang

Logika pembuatan sinyal perdagangan:

  • Melakukan beberapa kondisi: Ketika garis rata-rata jangka pendek melintasi garis rata-rata jangka panjang ke atas (ta.crossover function), sistem menghasilkan sinyal yang banyak
  • Kondisi pengosongan: Ketika garis rata-rata jangka pendek melintasi garis rata-rata jangka panjang ke bawah (ta.crossunder), sistem menghasilkan sinyal pengosongan

Proses transaksi:

  • Ketika melakukan trigger multi-sinyal, sistem pertama-tama segera menghapuskan posisi kosong yang ada, dan kemudian membuka posisi multi-head baru
  • Ketika sinyal kosong dipicu, sistem pertama-tama segera meratakan posisi multipel yang ada, dan kemudian membuka posisi kosong baru.
  • Sistem ini menandai harga masuk dengan jelas pada grafik dengan label, label multihead ditampilkan di atas garis K, label kosong ditampilkan di bawah garis K

Strategi ini juga memungkinkan pengguna untuk menyesuaikan sumber harga (default opening price) dan panjang siklus rata-rata untuk menyesuaikan dengan lingkungan pasar yang berbeda atau gaya perdagangan.

Keunggulan Strategis

Dengan menganalisis kode strategi secara mendalam, kami dapat menyimpulkan beberapa keuntungan yang jelas:

  1. Sederhana dan jelas: logika strategi jelas, tanpa kombinasi indikator atau penilaian kondisional yang rumit, sehingga trader dapat dengan mudah memahami dan menerapkannya
  2. Intuisi visual: Sistem menggambar dua garis rata-rata pada grafik dan membedakan dengan warna (rata-rata jangka pendek adalah merah, rata-rata jangka panjang adalah biru) sambil menampilkan titik masuk dan harga secara intuitif dalam bentuk label
  3. Mekanisme reversal otomatis: Strategi ini secara otomatis menghapus posisi reversal dan membangun posisi baru ketika sinyal baru muncul, memastikan bahwa pedagang selalu mengikuti arah tren saat ini
  4. Kustomisasi yang kuat: pengguna dapat menyesuaikan sumber harga dan siklus rata-rata sesuai dengan preferensi mereka sendiri untuk menyesuaikan dengan lingkungan pasar yang berbeda atau kerangka waktu perdagangan
  5. Perhitungan real-time: Strategi menetapkan parameter calc_on_every_tick=true untuk memastikan perhitungan dilakukan setiap kali ada perubahan harga, memberikan sinyal paling tepat waktu
  6. Overfitting tanpa parameter: strategi hanya menggunakan dua parameter rata-rata, mengurangi risiko overfitting, meningkatkan kehandalan strategi dalam berbagai kondisi pasar
  7. Petunjuk label yang jelas: Dengan menempatkan label di posisi garis K berikutnya, pedagang dapat dengan jelas melihat harga masuk untuk manajemen risiko

Risiko Strategis

Meskipun strategi ini dirancang secara sederhana dan efektif, masih ada risiko potensial sebagai berikut:

  1. Perdagangan yang sering terjadi di pasar yang bergoyang: Dalam pasar yang bergoyang, rata-rata jangka pendek dan jangka panjang dapat sering berselingkuh, menyebabkan terlalu banyak sinyal perdagangan dan biaya perdagangan yang tidak perlu

    • Solusi: Anda dapat menambahkan kondisi penyaringan tambahan, seperti indikator ADX yang mengkonfirmasi kekuatan tren, atau mengatur waktu memegang posisi minimum
  2. Masalah keterlambatan: Moving averages pada dasarnya merupakan indikator keterlambatan, sinyal mungkin hanya dihasilkan ketika tren telah berkembang atau akan berakhir

    • Solusi: Kombinasi dengan indikator utama lainnya, seperti RSI atau MACD, atau menggunakan periode rata-rata yang lebih pendek untuk mengurangi lag
  3. Risiko False Breakout: Harga mungkin sebentar melintasi garis rata-rata dan kemudian kembali ke tren awal, menyebabkan sinyal yang salah

    • Solusi: Menambahkan mekanisme konfirmasi, seperti meminta harga untuk bertahan untuk waktu tertentu atau amplitudo setelah melintasi untuk memicu perdagangan
  4. Kurangnya mekanisme stop loss: Strategi saat ini tidak memiliki pengaturan stop loss yang jelas, yang dapat menyebabkan kerugian yang lebih besar dalam situasi berbalik kuat

    • Solusi: menerapkan strategi stop loss tetap atau stop loss dinamis berdasarkan volatilitas
  5. Sensitivitas parameter: kinerja strategi lebih sensitif terhadap pilihan panjang siklus rata-rata, parameter yang tidak tepat dapat menyebabkan perubahan besar dalam efektivitas strategi

    • Solusi: melakukan optimasi pengembalian, mencari kombinasi parameter yang stabil dalam berbagai kondisi pasar

Arah optimasi strategi

Berdasarkan analisis mendalam dari kode, saya menyarankan beberapa cara untuk mengoptimalkannya:

  1. Menambahkan filter tren: memperkenalkan ADX, indikator intensitas tren atau penilaian posisi harga relatif terhadap garis rata-rata, hanya menghasilkan sinyal dalam lingkungan tren yang dikonfirmasi, menghindari perdagangan yang sering terjadi di pasar yang bergoyang

    • Penjelasan: Ini akan mengurangi sinyal palsu dan meningkatkan keberhasilan transaksi dan efisiensi keuangan
  2. Mengimplementasikan mekanisme stop loss dinamis: menetapkan tingkat stop loss dinamis berdasarkan ATR atau indikator volatilitas lainnya, melindungi keuntungan dan membatasi risiko maksimum dalam satu transaksi

    • Penjelasan: Manajemen risiko yang efektif adalah kunci kesuksesan perdagangan jangka panjang
  3. Optimalkan waktu masuk: Pertimbangkan untuk menggunakan konfirmasi siklus kecil setelah sinyal dihasilkan atau menunggu panggilan kembali untuk masuk kembali untuk mendapatkan harga eksekusi yang lebih baik

    • Penjelasan: Optimalisasi harga masuk dapat secara signifikan meningkatkan tingkat pengembalian jangka panjang
  4. Meningkatkan Filter Volume Transaksi: Meningkatkan konfirmasi volume berdasarkan sinyal silang, dan melakukan transaksi hanya jika volume transaksi juga mendukung perubahan arah

    • Keterangan: Volume transaksi adalah faktor penting yang mengkonfirmasi efektivitas perubahan harga
  5. Membuat siklus rata-rata yang dapat disesuaikan: Mengatur panjang siklus rata-rata secara otomatis sesuai dengan volatilitas pasar, menggunakan siklus yang lebih lama di lingkungan yang berfluktuasi tinggi, menggunakan siklus yang lebih pendek di lingkungan yang berfluktuasi rendah

    • Penjelasan: Ini dapat membuat strategi lebih beradaptasi dengan kondisi dan siklus pasar yang berbeda
  6. Menambahkan batch open and peace warehouse mechanism: bukannya membangun semua posisi sekaligus, melainkan membangun posisi peace warehouse secara bertahap, untuk mengurangi risiko pilihan waktu

    • Penjelasan: Metode ini dapat memperlancar hasil transaksi, mengurangi faktor keberuntungan yang ditimbulkan oleh pilihan titik masuk tunggal

Meringkaskan

Strategi pelacakan tren silang dua garis sejajar adalah sistem perdagangan kuantitatif yang sederhana dan kuat yang menghasilkan sinyal perdagangan yang jelas melalui persilangan rata-rata bergerak jangka pendek dan jangka panjang. Keunggulan utamanya adalah operasi yang sederhana, intuisi visual, dan mekanisme pembalikan otomatis yang memungkinkan pedagang untuk mengikuti tren pasar secara objektif. Namun, strategi ini juga memiliki risiko yang melekat, seperti seringnya perdagangan di pasar yang bergoyang dan keterlambatan sinyal.

Strategi dasar ini dapat ditingkatkan secara signifikan dengan cara menambahkan filter tren, menerapkan mekanisme stop loss dinamis, mengoptimalkan waktu masuk dan meningkatkan konfirmasi volume transaksi. Ini akan membantu meningkatkan kinerja strategi dalam berbagai lingkungan pasar, terutama dalam kombinasi dengan indikator teknis lainnya untuk memfilter sinyal dan mengoptimalkan manajemen risiko.

Ini adalah titik awal yang ideal bagi pemula yang ingin mulai mengukur perdagangan; bagi pedagang yang berpengalaman, ini memberikan dasar yang kuat yang dapat disesuaikan dan dioptimalkan lebih lanjut. Yang penting, apa pun perbaikan yang digunakan harus dievaluasi melalui pengetesan dan verifikasi ke depan yang ketat untuk memastikan bahwa perbaikan strategi benar-benar menambah nilai jangka panjang.

Kode Sumber Strategi
/*backtest
start: 2025-01-01 00:00:00
end: 2025-03-24 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//@version=6
//
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// @author = Da_mENIZ
// © denis_zvegelj
// last change	20.Mar.2025
//
// Simple MA Crossover strategy that shows on the chart with Long/Short indicators. Feel free to use it to suit 
// your needs
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
strategy("DZ Simple MA Crossover Strategy", shorttitle="DZ_MACross", overlay=true, calc_on_every_tick=true)

// Define the moving average lengths
i_src_price = input.source  (open, "Price source",                                                                                                                     group="Main Settings")
i_shMA_len  = input.int		(9, 	"Short MA Length", 		minval=1,																									group="Main Settings")
i_loMA_len  = input.int		(21,	"Long MA Length", 		minval=6,																									group="Main Settings")

// Calculate the moving averages
short_MA = ta.sma(i_src_price, i_shMA_len)
long_MA = ta.sma(i_src_price, i_loMA_len)

// Plot the moving averages on the chart
plot(short_MA, color=color.red, linewidth=2, title="Short MA")
plot(long_MA, color=color.blue, linewidth=2, title="Long MA")

// Generate the buy and sell signals
long_Cond = ta.crossover(short_MA, long_MA)
short_Cond = ta.crossunder(short_MA, long_MA)

// Place the orders based on conditions
if (long_Cond)
    strategy.close("Short", immediately = true, comment = "Close")
    strategy.entry("Long", strategy.long, comment = "Enter")
    label.new(bar_index+1, open, "Long\n" + str.tostring(open), style=label.style_label_down, color=color.blue, textcolor=color.white, yloc=yloc.abovebar)



if (short_Cond)
    strategy.close("Long", immediately = true, comment = "Close")
//    strategy.entry("Short", strategy.short, comment = "Short\n" + str.tostring(open))
    strategy.entry("Short", strategy.short, comment = "Enter")
    label.new(bar_index+1, open, "Short\n" + str.tostring(open), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)