Strategi ini menggunakan moving average untuk menghasilkan sinyal perdagangan dan menetapkan stop loss persentase tetap dan mengambil tingkat keuntungan berdasarkan harga masuk untuk mengontrol risiko dan imbalan dari setiap perdagangan.
Strategi ini pertama-tama menggunakan rata-rata bergerak eksponensial 5 hari (EMA) dan EMA 32 hari untuk menentukan arah tren.
Setelah memasuki perdagangan, strategi secara dinamis menetapkan stop loss dan take profit untuk setiap perdagangan berdasarkan persentase stop loss dan take profit yang ditentukan oleh pengguna. Secara khusus, untuk perdagangan panjang, stop loss ditetapkan pada harga masuk × (1 - persentase stop loss) dan take profit ditetapkan pada harga masuk × (1 + persentase take profit). Untuk perdagangan pendek, itu terbalik - stop loss pada harga masuk × (1 + persentase stop loss) dan take profit pada harga masuk × (1 - persentase take profit).
Hal ini memungkinkan untuk memastikan rasio risiko / imbalan tetap untuk setiap perdagangan dan mengendalikan risiko dan keuntungan.
Cara ini mengatur stop loss dan mengambil keuntungan memiliki beberapa keuntungan yang signifikan:
Hal ini dapat membatasi kerugian maksimum per perdagangan dan secara efektif mengendalikan risiko perdagangan.
Ini dapat mengunci rasio keuntungan tetap per perdagangan dan memastikan pengembalian.
Stop loss dan take profit point bervariasi dengan harga masuk yang sebenarnya daripada menggunakan nilai tetap.
Pengguna dapat menentukan selera risiko mereka dengan menyesuaikan parameter input.
Logika strategi yang sederhana dan intuitif, mudah dipahami dan diverifikasi.
Ada juga beberapa risiko dengan strategi ini:
Rata-rata bergerak dapat menghasilkan sinyal yang tidak valid yang berlebihan, dengan kemungkinan tinggi dihentikan setelah masuk.
Mengambil rasio keuntungan diatur terlalu tinggi dapat mengakibatkan profitabilitas yang tidak cukup, terlalu rendah mungkin gagal untuk memenangkan cukup.
Stop loss yang terlalu dekat dapat meningkatkan peluang untuk dihentikan dan harus memberikan beberapa penyangga.
Pilihan produk perdagangan dan kerangka waktu dapat mempengaruhi efektivitas.
Solusi yang sesuai:
Mengoptimalkan parameter rata-rata bergerak untuk mengurangi sinyal palsu.
Uji rasio keuntungan yang berbeda untuk menemukan yang optimal.
Sesuaikan jarak stop loss berdasarkan volatilitas pasar.
Mengevaluasi kinerja strategi di berbagai produk dan kerangka waktu.
Strategi ini dapat ditingkatkan dalam hal berikut:
Tambahkan indikator lain untuk validasi tren untuk menghindari sinyal palsu yang berlebihan dari rata-rata bergerak.
Optimalkan stop loss dan ambil persentase keuntungan berdasarkan data backtest untuk menemukan parameter yang optimal.
Ubah stop loss ke trailing stop untuk mengunci lebih banyak keuntungan berjalan.
Tambahkan aturan ukuran posisi dengan piramida dan stop loss untuk mengelola risiko perdagangan.
Mengevaluasi variasi kinerja di berbagai instrumen perdagangan dan kerangka waktu.
Strategi ini mengidentifikasi arah tren dengan rata-rata bergerak, dan menetapkan persentase stop loss tetap dan mengambil keuntungan berdasarkan harga masuk untuk mengendalikan risiko dan imbalan perdagangan tunggal. Keuntungannya adalah secara efektif membatasi kerugian, memastikan rasio keuntungan, dengan logika yang sederhana dan langsung. Konfigurasi yang tepat dari parameter stop loss / take profit, pemilihan produk perdagangan dan kerangka waktu, dan berbagai cara untuk lebih mengoptimalkan strategi perlu dicatat.
/*backtest start: 2022-12-11 00:00:00 end: 2023-12-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // © theCrypster 2020 //@version=4 strategy("Fixed Percent Stop Loss & Take Profit %", overlay=true) // Moving Averages to get some example trades generated eg1 = ema(close, 5) eg2 = ema(close, 32) long = crossover(eg1, eg2) short = crossunder(eg1, eg2) strategy.entry("LONG", strategy.long, when=long) strategy.entry("SHORT", strategy.short, when=short) // // The Fixed Percent Stop Loss Code // User Options to Change Inputs (%) stopPer = input(5.0, title='Stop Loss %', type=input.float) / 100 takePer = input(10.0, title='Take Profit %', type=input.float) / 100 // Determine where you've entered and in what direction longStop = strategy.position_avg_price * (1 - stopPer) shortStop = strategy.position_avg_price * (1 + stopPer) shortTake = strategy.position_avg_price * (1 - takePer) longTake = strategy.position_avg_price * (1 + takePer) if strategy.position_size > 0 strategy.exit(id="Close Long", stop=longStop, limit=longTake) if strategy.position_size < 0 strategy.exit(id="Close Short", stop=shortStop, limit=shortTake) //PLOT FIXED SLTP LINE plot(strategy.position_size > 0 ? longStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Long Fixed SL") plot(strategy.position_size < 0 ? shortStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Short Fixed SL") plot(strategy.position_size > 0 ? longTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Long Take Profit") plot(strategy.position_size < 0 ? shortTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Short Take Profit") //