
Strategi perdagangan WMA yang dipengaruhi oleh tren adalah sistem perdagangan kuantitatif yang berfokus pada penangkapan tren yang mendorong tren. Strategi ini menggabungkan dasar WMA dengan rata-rata bergerak berbobot (WMA) sebagai filter, yang masuk lebih banyak saat melewati WMA ke atas pada titik rendah WMA, dan ketika harga kembali ke bawah dan melintasi WMA lagi (atau mencapai titik berhenti yang ditentukan).
Prinsip-prinsip inti dari strategi ini didasarkan pada interaksi antara saluran Dongxian dan rata-rata bergerak berimbang:
Jembatan Tongxian di titik terendah: Dengan menghitung harga terendah dalam periode pengembalian yang ditentukan, membentuk garis dukungan dinamis.ta.lowest(real_low, donchian_len)。
Rata-rata Bergerak Berat (WMA): Digunakan untuk harga penutupan yang sebenarnya, memberikan bobot yang lebih tinggi untuk harga terkini, mencerminkan pergerakan harga saat ini.ta.wma(real_close, wma_len)。
Sinyal masukKetika Jalur Dongchyan melewati WMA dari titik terendah ke atas:ta.crossover(donLow, wma)Perseberan ini menunjukkan bahwa harga telah menembus dari kisaran fluktuasi yang dikompresi, dan juga telah dikonfirmasi oleh tren naik WMA.
Sinyal keluarAda tiga situasi:
ta.crossunder(donLow, wma)Jika WMA tidak naik lagi, itu berarti momentum telah berhenti.Pelaksanaan harga sebenarnya: Semua perhitungan indikator didasarkan pada data OHLC dasar dari grafik, melaluirequest.security()Function capture memastikan bahwa strategi dapat dijalankan berdasarkan data harga yang sebenarnya, bahkan pada rata-rata K-line atau grafik gaya lainnya.
Strategi dengan desain ini bertujuan untuk menangkap kenaikan yang mendobrak setelah kompresi fluktuasi harga, sekaligus menggunakan WMA sebagai filter pengakuan tren untuk mengurangi sinyal palsu.
Setelah menganalisis kode secara mendalam, strategi ini menunjukkan keuntungan yang signifikan:
Mengikuti Tren dan MenerobosDengan kombinasi antara titik rendah saluran Dongxian dan WMA, kualitas sinyal ditingkatkan, baik untuk menangkap terobosan harga, tetapi juga untuk memastikan konsistensi dengan arah tren jangka panjang.
Fleksibilitas penghentianParameter stop loss yang dapat disesuaikan memungkinkan trader untuk menetapkan target keuntungan sesuai dengan kondisi pasar yang berbeda dan preferensi risiko pribadi, meningkatkan fleksibilitas strategi.
Aplikasi Data OHLC yang BenarStrategi yang dijalankan berdasarkan data harga riil, terlepas dari gaya grafik, menghilangkan gangguan gaya grafik pada hasil pengukuran, meningkatkan keandalan strategi.
Mekanisme pengakuan trenKondisi keluar tidak hanya mempertimbangkan persilangan harga, tetapi juga memverifikasi apakah WMA berhenti naik untuk menghindari keluar prematur dari tren kuat dalam penyesuaian jangka pendek.
Integrasi manajemen dana: Strategi ini memiliki pengaturan ukuran modal awal dan posisi yang memungkinkan evaluasi kinerja strategi secara lengkap, termasuk kurva pertumbuhan modal.
Parameter yang dapat disesuaikanParameter inti (panjang tangki, panjang WMA, persentase stop loss) dapat disesuaikan, sehingga strategi dapat disesuaikan dengan berbagai jenis perdagangan dan periode waktu.
Filter waktu: Pembatasan jangka waktu yang jelas ((2025)) membantu strategi optimasi untuk lingkungan pasar tertentu dan menghindari perdagangan dalam kondisi pasar yang tidak sesuai.
Meskipun strategi ini dirancang dengan baik, risiko yang perlu diperhatikan oleh para pedagang adalah sebagai berikut:
Pembatasan satu arahStrategi hanya melakukan beberapa perdagangan, dan mungkin kehilangan peluang atau menghadapi periode tidak aktif yang lebih lama di pasar yang terus turun. Anda dapat mempertimbangkan untuk menambahkan logika shorting untuk menghadapi pasar dua arah.
Parameter Sensitivitas: Pilihan panjang tangential dan panjang WMA memiliki pengaruh yang signifikan terhadap kinerja strategi. Pengaturan parameter yang tidak tepat dapat menyebabkan terlalu banyak sinyal palsu atau kehilangan peluang perdagangan yang penting. Parameter harus dioptimalkan dengan pengujian ulang dalam kondisi pasar yang berbeda.
Spesifikasi pasar: Komentar kode menunjukkan bahwa parameter default dioptimalkan untuk ASX’s Temple & Webster 30 menit grafik, mungkin tidak berlaku untuk semua pasar dan periode waktu. Parameter perlu dioptimalkan kembali untuk varietas perdagangan tertentu.
Risiko yang Terbatas WaktuStrategi terbatas pada pelaksanaan selama tahun kalender 2025, dan jika pasar berkinerja buruk secara keseluruhan selama periode ini, mungkin mempengaruhi pendapatan keseluruhan. Pertimbangkan untuk memperluas jangka waktu atau menambahkan filter waktu yang adaptif.
Setel Resiko Stop: Stopper persentase tetap mungkin keluar dari tren kuat terlalu dini di pasar yang berfluktuasi tinggi, atau terlalu jauh dan sulit dicapai di pasar yang berfluktuasi rendah. Disarankan untuk menyesuaikan tingkat stopper sesuai dengan dinamika fluktuasi pasar.
Pengunduran diri tanpa kontrolStrategi tidak memiliki mekanisme stop loss yang jelas, dan mungkin mengalami penarikan besar sebelum muncul sinyal silang. Disarankan untuk menambahkan batas penarikan maksimum atau mekanisme stop loss berbasis ATR.
Berdasarkan analisis mendalam dari kode, berikut adalah beberapa kemungkinan optimasi:
Logika transaksi dua arahPeningkatan kemampuan perdagangan shorting, terutama ketika titik tinggi saluran Dongguan melintasi WMA ke bawah dan WMA turun. Ini akan memungkinkan strategi untuk mendapatkan keuntungan yang sama di pasar yang turun.
Pengaturan parameter dinamis: Mekanisme untuk menyesuaikan panjang tangential dan panjang WMA secara otomatis berdasarkan volatilitas pasar. Misalnya, panjang tangential yang lebih pendek digunakan dalam lingkungan yang berfluktuasi tinggi, dan siklus yang lebih panjang digunakan dalam lingkungan yang berfluktuasi rendah.
Penambahan mekanisme stop loss: Memperkenalkan stop loss berdasarkan ATR (Average True Range), atau mengatur persentase penarikan maksimum yang diizinkan untuk membatasi kerugian dalam satu transaksi.
Konfirmasi multi-periode: Menambahkan konfirmasi tren pada periode waktu yang lebih tinggi, melakukan perdagangan hanya ketika tren yang lebih besar berlawanan arah, mengurangi risiko perdagangan berlawanan arah.
Filter volume transaksi: Menambahkan mekanisme konfirmasi volume transaksi, yang mengharuskan sinyal terobosan disertai dengan peningkatan volume transaksi, meningkatkan keandalan sinyal.
Pengoptimalan Keuntungan-Rugian: mencapai stop loss / stop loss rasio yang dapat diubah, berdasarkan pada perubahan dinamika pasar, dan menetapkan target stop yang lebih jauh ketika tren kuat.
Strategi untuk mendapatkan sebagian keuntungan: Logika posisi terjal, memungkinkan untuk melakukan posisi terjal secara bertahap saat mencapai tujuan keuntungan yang berbeda, mengunci sebagian keuntungan dan mempertahankan partisipasi dalam tren.
Integrasi pembelajaran mesin: Menggunakan algoritma pembelajaran mesin untuk mengoptimalkan pilihan parameter, atau memprediksi strategi mana yang lebih mungkin berhasil dalam kondisi pasar, sehingga memungkinkan aturan perdagangan yang disesuaikan.
Mengoptimalkan aspek-aspek ini tidak hanya dapat meningkatkan kehandalan dan adaptasi strategi, tetapi juga dapat memperluas ruang lingkup aplikasinya sehingga dapat tetap kompetitif dalam berbagai lingkungan pasar.
Strategi perdagangan WMA breakout WMA merupakan metode perdagangan kuantitatif yang dirancang dengan cermat untuk menangkap potensi kenaikan besar setelah kompresi volatilitas dengan menggabungkan prinsip trend tracking dan breakout trading. Keunggulan inti dari strategi ini adalah penggunaan data harga riil, mekanisme pengakuan tren, dan pengaturan parameter yang fleksibel, yang memungkinkan untuk beradaptasi dengan lingkungan perdagangan yang berbeda.
Namun, strategi ini juga menghadapi tantangan seperti perdagangan satu arah, sensitivitas parameter, dan kurangnya manajemen risiko yang sempurna. Strategi ini berpotensi menjadi sistem perdagangan yang lebih komprehensif dan stabil dengan peningkatan kemampuan perdagangan dua arah, penyesuaian parameter dinamis, perbaikan mekanisme stop loss, dan konfirmasi multi-periode.
Bagi pedagang kuantitatif, pendekatan ini yang menggabungkan indikator teknis dengan aturan pelaksanaan yang jelas memberikan kerangka kerja yang terstruktur, baik untuk aplikasi langsung maupun sebagai dasar untuk mengembangkan sistem perdagangan yang lebih kompleks. Yang terpenting, pedagang harus melakukan pengembalian dan pengoptimalan yang menyeluruh terhadap parameter strategi untuk mencapai kinerja optimal sesuai dengan kondisi pasar tertentu dan preferensi risiko pribadi.
/*backtest
start: 2024-06-09 00:00:00
end: 2025-06-08 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Donchian x WMA Crossover (2025 Only, Adjustable TP, Real OHLC)", overlay=true, initial_capital=1000, currency=currency.AUD, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === INPUTS ===
donchian_len = input.int(7, title="Donchian Length")
wma_len = input.int(62, title="WMA Length")
take_profit_perc = input.float(0.01, title="Take Profit (decimal)", minval=0.0001, step=0.0001)
// === TIME FILTER: Calendar Year 2025 ===
start2025 = timestamp("UTC", 2025, 1, 1, 0, 0)
end2025 = timestamp("UTC", 2025, 12, 31, 23, 59)
in_2025 = time >= start2025 and time <= end2025
// === REAL OHLC FOR THIS CHART’S TIMEFRAME ===
res = timeframe.period
real_close = request.security(syminfo.tickerid, res, close)
real_low = request.security(syminfo.tickerid, res, low)
// === INDICATORS ===
donLow = ta.lowest(real_low, donchian_len)
wma = ta.wma(real_close, wma_len)
// === TREND CHECK ===
wma_up = wma > wma[1]
// === SIGNALS ===
enter = ta.crossover(donLow, wma) and in_2025
crossEx = ta.crossunder(donLow, wma)
exit_tp = strategy.position_size > 0 and real_close >= strategy.position_avg_price * (1 + take_profit_perc)
exit_x = crossEx and not wma_up
exit_all = (exit_tp or exit_x) or not in_2025
// === EXECUTION ===
if enter
strategy.entry("Long", strategy.long)
if exit_all
strategy.close("Long")
// === PLOTS ===
plot(donLow, title="Donchian Low (real)", color=color.gray, linewidth=2)
plot(wma, title="WMA (real)", color=color.blue, linewidth=2)
plot(strategy.position_size > 0
? strategy.position_avg_price * (1 + take_profit_perc)
: na, title="TP Level", color=color.green, linewidth=1, style=plot.style_linebr)