Strategi ini adalah strategi stop loss yang didasarkan pada rata-rata bergerak ganda. Ini menggunakan dua rata-rata bergerak, satu sebagai rata-rata bergerak utama, dan satu sebagai garis stop loss. Ketika harga berada di atas rata-rata bergerak utama, pergi panjang. Ketika harga berada di bawah garis stop loss, tutup posisi panjang. Ketika harga berada di bawah rata-rata bergerak utama, pergi pendek. Ketika harga berada di atas garis stop loss, tutup posisi pendek. Hal ini mencapai stop loss dan mengambil keuntungan dengan menyesuaikan harga panjang dan pendek secara dinamis.
Strategi ini menggunakan fungsi sma untuk menghitung rata-rata bergerak sederhana dari panjang len sebagai garis rata-rata bergerak utama ma. Kemudian sesuai dengan input pengguna persentase stop loss panjang elpercent dan persentase stop loss pendek espercent, ia menghitung garis stop loss panjang el dan garis stop loss pendek es. Rumus spesifiknya adalah:
el = ma + (ma * elpercent / 100) es = ma + (ma * espercent / 100)
Di mana elpercent dan espercent mewakili persentase pergeseran dari garis rata-rata bergerak utama.
Ini memberi kita tiga garis: utama bergerak rata-rata ma, panjang stop loss garis el, dan pendek stop loss garis es.
Logika perdagangan dari strategi adalah:
Jika harga penutupan di atas garis stop loss panjang el, buka posisi panjang. Jika harga penutupan di bawah garis stop loss pendek es, tutup posisi panjang.
Jika harga penutupan di bawah garis stop loss pendek es, buka posisi pendek. Jika harga penutupan di atas garis stop loss panjang el, tutup posisi pendek.
Menggunakan rata-rata bergerak ganda untuk mengatur stop loss dan mengambil poin keuntungan dapat secara efektif mengendalikan risiko.
Panjang rata-rata bergerak utama len dan persentase offset elpercent dan espercent dapat disesuaikan, yang dapat disesuaikan untuk pasar yang berbeda dan beradaptasi dengan baik.
Mekanisme stop loss dapat mengurangi kerugian dalam waktu dan menghindari kerugian lebih lanjut.
Logika strategi sederhana dan jelas, mudah dimengerti dan diterapkan, cocok untuk pemula.
Ini bisa panjang dan pendek untuk mengambil keuntungan dari pasar dua arah.
risiko overfit backtest. strategi moving average cenderung overfit data backtest. kinerja sebenarnya mungkin berbeda. solusi adalah untuk memverifikasi di pasar hidup yang kompleks dan menyesuaikan parameter sesuai.
Risiko stop loss terlalu dekat. Jika stop loss terlalu dekat dengan rata-rata bergerak utama, hal ini dapat dipicu oleh fluktuasi harga jangka pendek.
Tekanan modal dari perdagangan dua arah. pergi baik panjang dan pendek membutuhkan margin yang cukup. mengurangi ukuran posisi untuk mengendalikan tekanan modal.
Risiko optimasi parameter. Parameter optimal sangat bervariasi di berbagai kondisi pasar. Waktu diperlukan untuk mengoptimalkan parameter. Dapat menggunakan pembelajaran mesin untuk membantu optimasi parameter.
Pertimbangkan untuk menambahkan lebih banyak indikator untuk menentukan tren pasar dan meningkatkan keputusan, misalnya indikator harga volume, indikator volatilitas.
Penelitian otomatis optimasi panjang rata-rata bergerak dan parameter stop loss berdasarkan perubahan pasar.
Tambahkan penyaringan pada instrumen perdagangan, hanya perdagangan tren yang jelas.
Pertimbangkan stop loss trailing daripada stop loss tetap, menyesuaikan stop berdasarkan harga real-time.
Membangun sistem evaluasi untuk optimasi parameter untuk secara otomatis menemukan set parameter optimal melalui hasil backtest.
Logika keseluruhan dari strategi ini jelas dan mudah dipahami. Ini menggunakan rata-rata bergerak ganda untuk stop loss dan dapat secara efektif mengendalikan risiko. Strategi ini memiliki keuntungan seperti parameter yang dapat disesuaikan dan kemampuan beradaptasi tetapi juga memiliki risiko seperti overfit backtest dan pengaturan jarak stop loss yang membutuhkan perhatian. Dengan optimasi lebih lanjut, strategi ini dapat menjadi strategi stop loss yang efektif yang layak untuk perdagangan langsung. Ini cocok sebagai titik awal bagi pemula perdagangan algoritmik, dan dapat terus ditingkatkan melalui praktik untuk akhirnya membentuk sistem perdagangan yang unik.
/*backtest start: 2022-11-08 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2019 //@version=4 strategy(title = "Robot WhiteBox StopMA", shorttitle = "Robot WhiteBox StopMA", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(false, defval = false, title = "Short") len = input(50) src = input(ohlc4) elpercent = input(5.0, minval = 0, maxval = 100, title = "Shift long, %") espercent = input(-5.0, minval = -100, maxval = 0, title = "Shift short, %") showlines = input(true, defval = true, title = "Show lines") showbg = input(true, defval = true, title = "Show background") //Levels ma = sma(src, len) el = ma + ((ma / 100) * elpercent) es = ma + ((ma / 100) * espercent) //Lines colel = showlines ? color.lime : na colma = showlines ? color.blue : na coles = showlines ? color.red : na plot(el, color = colel, offset = 1) plot(ma, color = colma, offset = 1) plot(es, color = coles, offset = 1) //Background trend = 0 trend := high > el[1] ? 1 : low < es[1] ? -1 : trend[1] colbg = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na bgcolor(colbg, transp = 80) //Trading if ma > 0 strategy.entry("Long", strategy.long, needlong ? na : 0, stop = el) strategy.entry("Short", strategy.short, needshort ? na : 0, stop = es)