Ide utama dari strategi ini adalah untuk memetakan harga masuk dan harga impas setelah membuka posisi, untuk secara visual menampilkan tingkat harga di mana perpecahan di atas harga masuk akan menghasilkan keuntungan. Ini dapat membantu pedagang mengelola posisi dengan lebih baik dan mewujudkan keuntungan.
Kode masuk panjang ketika SMA crossover terjadi dan masuk pendek pada SMA crossunder. Kemudian menghitung harga masuk dan harga impas setelah biaya. Harga impas dihitung sebagai: untuk panjang, harga impas = harga masuk * (1 + biaya); untuk pendek, harga impas = harga masuk * (1 - biaya). Akhirnya, ia memetakan garis harga masuk dan garis harga impas, mengisi area di antara mereka.
Dengan cara ini, setelah harga menembus garis harga masuk, itu berarti perdagangan sekarang menguntungkan. Pedagang dapat menggunakan garis impas untuk mengatur tingkat mengambil keuntungan atau menghentikan kerugian untuk mengunci keuntungan.
Komponen utama dari kode adalah:
Dengan pemeriksaan kondisi sederhana untuk masuk, perhitungan harga impas, dan plot garis tambahan, strategi harga impas dilaksanakan.
Keuntungan dari strategi ini meliputi:
Tampilan intuitif keuntungan / kerugian, dapat dengan cepat menilai apakah harga telah mencapai target keuntungan.
Dapat menggunakan garis impas untuk mengatur tingkat mengambil keuntungan / stop loss untuk menghindari peningkatan kerugian.
Kode yang sederhana dan mudah dipahami, mudah diterapkan dan disesuaikan.
Dapat dimasukkan ke dalam strategi trading sendiri, menggunakan garis impas untuk mengelola posisi.
Mudah untuk memodifikasi parameter biaya untuk pertukaran dan produk yang berbeda.
Dapat mengoptimalkan entri dengan menyesuaikan periode SMA.
Risiko dari strategi ini meliputi:
SMA memiliki sifat keterlambatan, mungkin melewatkan perubahan harga.
Garis impas tidak bisa sepenuhnya menghindari kerugian.
Tidak ada mekanisme keluar, pedagang harus memantau P / L sendiri.
Pengaturan biaya yang salah dapat menyebabkan perhitungan titik impas yang salah.
Pergeseran tidak dipertimbangkan.
Tidak ada stop loss, bisa menyebabkan kerugian besar.
Solusinya adalah:
Pertimbangkan indikator yang lebih sensitif seperti MACD.
Tambahkan indikator tren untuk menghindari perdagangan kontra-tren.
Tambahkan mengambil keuntungan dan stop loss logika untuk keluar otomatis.
Tetapkan biaya yang tepat berdasarkan pertukaran yang sebenarnya.
Tambahkan slippage tetap untuk masuk dan keluar yang optimal.
Tambahkan stop loss untuk membatasi kerugian maksimum.
Beberapa cara untuk mengoptimalkan strategi:
Ganti SMA dengan indikator yang lebih canggih seperti MACD atau KDJ.
Tambahkan filter tren untuk menghindari perdagangan kontra-tren.
Mengoptimalkan periode SMA untuk akurasi entri yang lebih baik.
Tambahkan mengambil keuntungan dan stop loss logika untuk keluar otomatis.
Set slipage untuk backtest dan live trading.
Mengoptimalkan pengaturan biaya agar sesuai dengan kenyataan.
Tambahkan stop loss untuk membatasi kerugian maksimum.
Jalankan strategi pada beberapa kerangka waktu untuk diversifikasi.
Masukkan perubahan volume untuk meningkatkan entri.
Gunakan pembelajaran mesin untuk mengoptimalkan parameter.
Strategi ini secara intuitif menampilkan tingkat harga break-even di mana breakout dapat menghasilkan keuntungan. Ini adalah strategi bantu sederhana dan praktis dengan keuntungan seperti kode sederhana dan implementasi yang mudah. Tetapi risiko juga perlu ditangani. Kita dapat mengoptimalkannya dari banyak aspek untuk membuatnya lebih kuat dan menguntungkan. Secara keseluruhan, ini memberikan contoh referensi yang bagus yang layak dipelajari dan diterapkan.
/*backtest start: 2022-11-15 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // © NikitaDoronin //@version=4 strategy("Plot Break-even Price", overlay=true) /// Break-even calculation ep = 0.0 ep := na(ep[1]) ? na : ep[1] p = 0.0 p := na(p[1]) ? na : p[1] /// Fees Input fee_inp = input(0.25, title='Price Change in %', step=0.1)/100 /// Your Strategy calculation longCondition = crossover(sma(close, 14), sma(close, 28)) shortCondition = crossunder(sma(close, 14), sma(close, 28)) /// Stategy Entry if (longCondition) ep := close p := close * (1 + fee_inp) strategy.entry("My Long Entry Id", strategy.long) if (shortCondition) ep := close p := close * (1 - fee_inp) strategy.entry("My Short Entry Id", strategy.short) /// Plot Break-even Price p1 = plot(ep, color = color.red, transp = 85) p2 = plot(p, color = color.green) fill(p1, p2, color = color.red, transp = 85)