Strategi beli rendah jual tinggi adalah strategi perdagangan jangka panjang yang sangat sederhana namun efektif. Strategi ini secara otomatis membeli cryptocurrency setelah penurunan besar dan menjual ketika kenaikan mencapai target yang ditetapkan, sehingga menghasilkan keuntungan selama fluktuasi pasar utama.
Inti dari strategi ini adalah untuk menilai apakah pasar telah mengalami penurunan besar dengan menghitung naik turunnya harga cryptocurrency selama periode yang diberikan. Ketika harga cryptocurrency telah turun tajam di luar ambang batas yang ditetapkan selama periode waktu yang paling baru, itu menunjukkan bahwa pasar mungkin sangat panik. Strategi ini kemudian akan membeli secara otomatis. Selain itu, strategi ini juga menetapkan titik stop loss dan take profit yang memicu stop loss otomatis atau mengambil keuntungan ketika harga mencapai dua titik ini.
Secara khusus, strategi ini menggunakan fungsi trailing_change untuk menghitung kenaikan dan penurunan keseluruhan harga cryptocurrency selama periode lookback tertentu. Ketika kenaikan dan penurunan harga cryptocurrency dalam lilin inp_lkb terakhir lebih rendah dari nilai negatif dari set parameter dip, itu adalah penurunan utama yang memenuhi kondisi pembelian. Pada saat ini, dalam jendela waktu backtest, pesanan pembelian strategi akan dipicu.
Setelah membeli, strategi ini akan melacak perubahan harga secara real time dan menetapkan dua kondisi keluar: (1) Ketika harga turun di bawah (1 - persentase stop loss) % dari harga pembukaan, order stop loss akan dipicu; (2) Ketika harga naik di atas (1 + persentase take profit) % dari harga pembukaan, order take profit akan dipicu.
Keuntungan terbesar dari strategi beli rendah jual tinggi ini adalah sangat sederhana dan mudah dilaksanakan. Tidak memerlukan indikator teknis yang kompleks, hanya mengandalkan kenaikan dan penurunan harga selama periode terakhir untuk menilai kondisi pasar, menjadikannya sangat cocok untuk pedagang pemula. Pada saat yang sama, membeli rendah dan menjual tinggi juga merupakan strategi jangka panjang yang efektif, terutama di pasar cryptocurrency yang sangat fluktuatif. Strategi perdagangan yang bertentangan seperti itu dapat menghasilkan pengembalian jangka panjang yang cukup besar.
Selain itu, strategi ini mendukung pengaturan stop loss dan take profit, yang dapat secara efektif mengendalikan kerugian perdagangan individu dan mengunci beberapa keuntungan. Ini juga membuat strategi ini cocok untuk perdagangan langsung, bahkan jika pasar mengalami fluktuasi merugikan yang lebih besar, kerugian dapat dikendalikan dalam kisaran yang terjangkau.
Risiko utama dari strategi ini adalah bahwa tidak mungkin untuk menentukan waktu pembalikan pasar. Jika pasar terus menurun tanpa rebound, posisi panjang yang dibuka dapat mengalami kerugian mengambang yang lebih besar. Oleh karena itu, menetapkan titik stop loss sangat penting. Jika titik stop loss ditetapkan terlalu luas, kerugian tunggal dapat menghancurkan.
Risiko lain yang perlu dicatat adalah bahwa jika ada fluktuasi pasar yang ganas, harga dapat memicu stop loss atau mengambil keuntungan dalam waktu singkat. Ini dapat menyebabkan biaya perdagangan tambahan. Terutama ketika pasar berfluktuasi tajam, tidak jarang harga memicu beberapa stop loss dan mengambil keuntungan berulang kali dalam waktu singkat.
Untuk mengatasi risiko-risiko di atas, kita dapat menetapkan periode mundur yang lebih lama untuk memastikan sinyal beli yang lebih stabil dan dapat diandalkan yang menyaring beberapa sinyal palsu dalam fluktuasi pasar. Selain itu, periode pendinginan perdagangan tertentu dapat diperkenalkan. Tidak membuka posisi baru untuk jangka waktu setelah menutup posisi juga dapat secara efektif mengurangi masalah frekuensi perdagangan yang terlalu tinggi yang disebabkan oleh fluktuasi harga.
Masih ada ruang untuk optimalisasi lebih lanjut dari strategi ini, terutama dalam aspek berikut:
Adapun parameter stop loss dan take profit dapat disesuaikan secara dinamis.
Menggabungkan beberapa faktor untuk menentukan waktu masuk. Selain kenaikan dan penurunan baru-baru ini, faktor lain seperti perubahan volume perdagangan dapat diperkenalkan untuk menentukan sinyal pembalikan yang lebih andal.
Tambahkan mekanisme re-entry. Setelah stop loss atau take profit, strategi re-entry tertentu dapat diatur untuk membeli kembali peluang pembalikan baru.
Secara keseluruhan, strategi beli rendah jual tinggi ini sangat cocok untuk pasar cryptocurrency yang sangat fluktuatif. Ini menangkap peluang pembalikan pasar dan menetapkan stop loss dan mengambil keuntungan untuk mengendalikan risiko. Strategi ini sangat sederhana, mudah dipahami dan diimplementasikan, menjadikannya ideal untuk pedagang pemula. Dengan optimasi lebih lanjut, kinerja strategi yang lebih stabil dapat diperoleh. Singkatnya, membeli rendah dan menjual tinggi adalah strategi perdagangan jangka panjang yang layak direkomendasikan.
/*backtest start: 2023-11-25 00:00:00 end: 2023-12-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/ // © Coinrule //@version=3 strategy(shorttitle='Buy the Dips',title='Buy the Dips (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month") fromDay = input(defval = 10, title = "From Day") fromYear = input(defval = 2020, title = "From Year") thruMonth = input(defval = 1, title = "Thru Month") thruDay = input(defval = 1, title = "Thru Day") thruYear = input(defval = 2112, title = "Thru Year") showDate = input(defval = true, title = "Show Date Range") start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" inp_lkb = input(1, title='Lookback Period') perc_change(lkb) => overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100 // Call the function overall = perc_change(inp_lkb) //Entry dip= -(input(2)) strategy.entry(id="long", long = true, when = overall< dip and window()) //Exit Stop_loss= ((input (2))/100) Take_profit= ((input (2))/100) longStopPrice = strategy.position_avg_price * (1 - Stop_loss) longTakeProfit = strategy.position_avg_price * (1 + Take_profit) strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())