Strategi Take Profit on Trend bertujuan untuk mendeteksi tren jangka panjang dan penurunan jangka pendek, mengambil posisi panjang selama tren kenaikan secara keseluruhan sambil menangkap penurunan jangka pendek, dengan level stop loss dan take profit yang wajar diatur untuk mengikuti tren dan mengambil keuntungan secara tepat waktu.
Strategi ini terutama menggunakan EMA dan RSI untuk menentukan tren jangka panjang dan jangka pendek. Secara khusus, ia menggunakan EMA 50 hari dan EMA 200 hari untuk menilai tren jangka panjang, dan RSI untuk mengukur kekuatan tren. Ketika jangka panjang berada dalam tren naik (200 hari EMA naik) dan kuat (RSI di atas 50), dan jangka pendek melihat pullback (terakhir 2 lilin menutup lebih rendah), posisi panjang diambil.
Setelah memasuki posisi, strategi menetapkan kondisi stop loss dan take profit. Ketika harga naik lebih dari 2x unit BHD di atas harga masuk, keuntungan diambil. Ketika harga turun lebih dari 3x unit BHD di bawah harga masuk, posisi dihentikan.
Dengan cara ini, strategi sepenuhnya mempertimbangkan karakteristik tren jangka panjang dan pendek, meningkatkan keuntungan sambil mengendalikan risiko, mengikuti tren sambil mengambil keuntungan tepat waktu.
Strategi ini memiliki keuntungan berikut:
Mempertimbangkan tren jangka panjang dan jangka pendek, dikombinasikan dengan indikator kekuatan, menghindari entri buta di berbagai pasar.
Entri mengikuti arah tren, tingkat kemenangan yang lebih tinggi.
Take profit dan stop loss point memungkinkan pengambilan keuntungan dan pengendalian risiko yang tepat waktu.
TP dan SL dinamis berdasarkan volatilitas, relatif wajar.
Tes balik menunjukkan hasil yang baik dan stabilitas di seluruh simbol dan kerangka waktu.
Logika yang sederhana dan jelas, mudah dipahami dan diterapkan untuk semua tingkat keterampilan.
Strategi ini juga memiliki beberapa risiko:
Kesalahan penilaian jangka panjang/pendek yang mengarah ke arah masuk yang salah.
Kecelakaan pasar seperti tebing dapat menembus berhenti.
Pengaturan parameter yang buruk berdampak negatif pada kinerja.
TP diatur terlalu ketat, mungkin keluar lebih awal.
Backtest ≠ kinerja langsung, optimasi terus-menerus diperlukan.
Solusi:
Optimalkan parameter, sesuaikan periode MA, tambahkan indikator cross-validation.
Stop yang lebih luas, ukuran posisi, kontrol risiko lainnya.
Pengujian backtesting untuk mengevaluasi parameter.
Optimasi TP dinamis berdasarkan kondisi pasar.
Pengujian backtesting yang sedang berlangsung, optimalisasi, penyesuaian langsung.
Strategi dapat dioptimalkan lebih lanjut dengan:
Pengaturan parameter, periode MA, periode unit BHD dll.
Menambahkan indikator, MACD, KD dll untuk akurasi jangka pendek yang lebih baik.
Mengoptimalkan TP/SL, ukuran dinamis berdasarkan volatilitas dll.
Menambahkan ukuran posisi berdasarkan kekuatan tren.
Mencoba ketahanan di lebih banyak simbol dan kerangka waktu.
Menambahkan filter seperti harga penutupan > terbuka untuk menghindari perangkap.
Mengintegrasikan pembelajaran mesin untuk lebih banyak otomatisasi dan kecerdasan.
Ini dapat meningkatkan tingkat kemenangan, pengembalian, stabilitas, kemampuan beradaptasi dll.
Secara keseluruhan strategi Take Profit on Trend memiliki kelebihan mempertimbangkan tren panjang/pendek, mengikuti tren, jelas TP/SL. Ini adalah pendekatan trend berikut yang stabil dan efisien. Tetapi risiko ada, membutuhkan optimasi berkelanjutan dan penyesuaian langsung. Logika jelas dan mudah diterapkan. Layak dipelajari dan diterapkan untuk pedagang. Dengan optimasi lebih lanjut, ini dapat menjadi strategi kuantitatif yang kuat.
/*backtest start: 2023-08-26 00:00:00 end: 2023-09-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © BHD_Trade_Bot // @version=5 strategy( shorttitle = 'Take Profit On Trend', title = 'Take Profit On Trend (by BHD_Trade_Bot)', overlay = true, calc_on_every_tick = true, calc_on_order_fills = true, use_bar_magnifier = true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type = strategy.commission.percent, commission_value = 0.1) // Backtest Time Period start_year = input(title='Start year' ,defval=2021) start_month = input(title='Start month' ,defval=1) start_day = input(title='Start day' ,defval=1) start_time = timestamp(start_year, start_month, start_day, 00, 00) end_year = input(title='end year' ,defval=2050) end_month = input(title='end month' ,defval=1) end_day = input(title='end day' ,defval=1) end_time = timestamp(end_year, end_month, end_day, 23, 59) is_back_test_time() => true // EMA ema50 = ta.ema(close, 50) ema200 = ta.ema(close, 200) // RSI rsi200 = ta.rsi(close, 200) // EMA_CD emacd = ema50 - ema200 emacd_signal = ta.ema(emacd, 50) hist = emacd - emacd_signal // BHD Unit bhd_unit = ta.rma(high - low, 200) * 2 bhd_upper = ema200 + bhd_unit bhd_lower = ema200 - bhd_unit // All n candles is going down all_body_decrease(n) => isValid = true for i = 0 to (n - 1) if (close[i] > close[i + 1]) isValid := false break isValid // ENTRY CONDITIONS // Long-term uptrend entry_condition1 = rsi200 > 51 and hist > 0 // Short-term downtrend entry_condition2 = all_body_decrease(2) ENTRY_CONDITIONS = entry_condition1 and entry_condition2 if ENTRY_CONDITIONS and is_back_test_time() strategy.entry('entry', strategy.long) // CLOSE CONDITIONS // Price increase 2 BHD unit take_profit = close > strategy.position_avg_price + bhd_unit * 2 // Price decrease 3 BHD unit stop_loss = close < strategy.position_avg_price - bhd_unit * 3 CLOSE_CONDITIONS = take_profit or stop_loss if CLOSE_CONDITIONS strategy.close('entry') // Draw plot(ema50, color=color.orange, linewidth=2) plot(ema200, color=color.purple, linewidth=2) bhd_upper_line = plot(bhd_upper, color=color.teal) bhd_lower_line = plot(bhd_lower, color=color.teal) fill(bhd_upper_line, bhd_lower_line, color=color.new(color.teal, 90))