Artikel ini terutama memperkenalkan strategi perdagangan kuantitatif yang disebut
Logika perdagangan dari strategi ini sangat sederhana dan jelas. Secara khusus mencakup langkah-langkah berikut:
Gunakan crossover SMA 14 periode dan SMA 28 periode sebagai sinyal untuk panjang dan pendek. Ketika SMA 14 periode naik di atas SMA 28 periode, pergi panjang. Ketika SMA 14 periode turun di bawah SMA 28 periode, pergi pendek.
Menghitung indikator ATR dan mengalikannya dengan faktor untuk mendapatkan posisi take profit dinamis. misalnya, mengatur panjang ATR menjadi 7, pengganda menjadi 1,5, maka lebar saluran take profit dinamis adalah 1,5 kali 7-periode ATR.
Ketika arah posisi panjang, tambahkan harga tinggi dan lebar saluran take profit dinamis untuk mendapatkan garis take profit panjang. Ketika arah posisi pendek, kurangi lebar saluran take profit dinamis dari harga rendah untuk mendapatkan garis take profit pendek.
Setelah harga melebihi garis take profit dinamis ini, take profit untuk keluar segera.
Melalui langkah-langkah di atas, strategi ini mencapai efek profit trailing yang sederhana namun efisien dan pengambilan keuntungan yang cepat. Saluran ATR menyediakan kemampuan penyesuaian dinamis untuk garis take profit, sementara kondisi 1 bar yang baru ditambahkan memastikan bahwa garis take profit hanya dipicu dalam kondisi pasar yang menguntungkan tiba-tiba. Ini dapat secara efektif mengurangi keluar dini karena mengambil keuntungan.
Strategi
Idenya sederhana dan jelas, mudah dimengerti dan diterapkan, cocok untuk pemula untuk belajar.
Dinamis ATR mengambil keuntungan dapat secara otomatis melacak keuntungan dan menghindari meninggalkan keuntungan di atas meja.
Menambahkan 1 bar kondisi tinggi / rendah mencegah mengambil keuntungan dari memicu pada gerakan yang lebih kecil.
Panjang ATR dan pengganda dapat disesuaikan untuk menyesuaikan tingkat pengambilan keuntungan.
Dapat keluar dengan cepat untuk menangkap pergerakan harga yang menguntungkan.
Sangat dapat diperluas, mudah untuk menerapkan strategi stop loss/take profit lainnya berdasarkan kerangka kerja ini.
Ada juga beberapa risiko dengan strategi ini:
Ekspansi ATR tiba-tiba dapat menyebabkan keluarnya keuntungan awal.
Tidak dapat secara efektif menyaring kebisingan pasar, rentan terhadap sinyal palsu.
Hanya mengandalkan SMA crossover untuk pengambilan keputusan, tidak efektif untuk situasi pasar yang kompleks.
Tidak ada mekanisme stop loss untuk membatasi kerugian secara efektif.
Parameter default mungkin tidak cocok untuk semua produk, perlu optimasi.
Untuk mengurangi risiko di atas, kita dapat mengoptimalkan dari aspek berikut:
Tambahkan aturan filter berdasarkan indikator lain untuk menghilangkan sinyal palsu.
Tambahkan strategi stop loss untuk mengontrol kerugian secara ketat per perdagangan.
Mengoptimalkan parameter menggunakan Walk Forward Analysis.
Secara terpisah mengoptimalkan parameter untuk produk yang berbeda.
Meningkatkan model pembelajaran mesin untuk keputusan yang lebih cerdas.
Berdasarkan analisis risiko, arah optimalisasi terutama meliputi:
Tambahkan filter sinyal: Tambahkan aturan filter berdasarkan indikator seperti MACD, Bollinger Band dll setelah sinyal untuk menghindari kebisingan.
Tambahkan garis stop loss: Tambahkan garis stop loss berdasarkan ATR atau trailing stop ke kontrol per trade loss.
Optimasi parameter: Optimalkan parameter seperti Panjang ATR, ATR Multiplier menggunakan pembelajaran mesin.
Penyesuaian risiko: Tune ukuran posisi, parameter risiko berdasarkan produk yang berbeda.
Fusi model: Gabungkan strategi ini dengan pembelajaran mesin, jaringan saraf untuk meningkatkan akurasi.
Intervensi manual: Memungkinkan penolakan manual tingkat mengambil keuntungan / stop loss pada saat-saat kritis.
Dengan optimalisasi di arah di atas, profitabilitas dan stabilitas strategi dapat ditingkatkan secara signifikan.
Secara singkat,
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Peter_O //@version=5 strategy("TrailingTakeProfit example", overlay=true, margin_long=100, margin_short=100, default_qty_value = 1, initial_capital = 100) longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28)) shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28)) if longCondition strategy.entry("Long", strategy.long, comment="long", alert_message="long") if shortCondition strategy.entry("Short", strategy.short, comment="short", alert_message="short") atr_length=input.int(7, title="ATR Length") atr_multiplier = input.float(1.5, title="ATR Multiplier") atr_multiplied = atr_multiplier * ta.atr(atr_length) ttp_top_bracket = strategy.position_size>0 ? high[1]+atr_multiplied : na ttp_bottom_bracket = strategy.position_size<0 ? low[1]-atr_multiplied : na plot(ttp_top_bracket, title="ttp_top_bracket", color=color.lime, style=plot.style_linebr, offset=1) plot(ttp_bottom_bracket, title="ttp_bottom_bracket", color=color.red, style=plot.style_linebr, offset=1) strategy.exit("closelong", from_entry="Long", limit=ttp_top_bracket, alert_message = "closelong") strategy.exit("closeshort", from_entry="Short", limit=ttp_bottom_bracket, alert_message = "closeshort") // var table alertsDisplayTable = table.new(position.top_right, 1, 5, color.black) // if barstate.islastconfirmedhistory // table.cell(alertsDisplayTable, 0, 0, "TradingConnector-compatible alerts sent", text_color=color.white) // table.cell(alertsDisplayTable, 0, 1, "at Long Entry: long", text_color=color.white) // table.cell(alertsDisplayTable, 0, 2, "at Short Entry: short", text_color=color.white) // table.cell(alertsDisplayTable, 0, 3, "at Long Exit: closelong", text_color=color.white) // table.cell(alertsDisplayTable, 0, 4, "at Short Exit: closeshort", text_color=color.white)