
Strategi berbalik dua arah adalah strategi perdagangan Bitcoin yang mudah untuk menetapkan pesanan beli dan rugi pada hari itu berdasarkan rangkaian perdagangan hari sebelumnya. Gagasan utama strategi ini adalah untuk menetapkan pembelian dan kerugian di dekat paras tinggi jika harga pembukaan hari itu meningkat daripada harga penutupan hari sebelumnya; untuk menetapkan pembelian dan kerugian di dekat paras rendah jika harga pembukaan hari itu jatuh daripada harga penutupan hari sebelumnya.
Strategi ini mula mengira julat dagangan hari sebelumnya, iaitu harga tertinggi tolak harga terendah. Kemudian, selepas bukaan hari itu, menilai apakah harga meningkat berbanding harga penutupan hari sebelumnya, jika naik, harga beli terhenti ditetapkan sebagai harga bukaan ditambah 0.6 kali julat dagangan hari sebelumnya; jika turun, harga beli terhenti ditetapkan sebagai harga bukaan ditambah 1.8 kali julat dagangan hari sebelumnya.
Secara khusus, strategi ini merangkumi dua peraturan kemasukan:
Jika harga pembukaan hari lebih tinggi daripada harga penutupan hari sebelumnya ((longCond1 dipenuhi), dan dalam tempoh masa pengiraan semula (window ((() dipenuhi), anda boleh membeli (strategy.long1) dalam harga pembukaan ditambah 0.6 kali ganda daripada julat hari sebelumnya.
Jika harga pembukaan hari lebih rendah daripada harga penutupan hari sebelumnya ((longCond2 dipenuhi), dan dalam masa yang terhad, anda boleh membeli stop loss dalam harga pembukaan ditambah 1.8 kali ganda daripada hari sebelumnya ((strategy.long2)).
Strategi ini akan membuka lebih banyak kedudukan selepas mencetuskan dua halangan di atas, dan kemudian menutup posisi dengan strategi.close_all () sebelum penutupan hari.
Strategi pembalikan dua arah mempunyai kelebihan berikut:
Strategi ini mengambil kira kedua-dua kenaikan dan penurunan harga pada masa yang sama, dan dapat menangkap pergerakan berbalik yang pecah dari arah yang berbeza.
Risiko boleh dikawal, ada perlindungan hentian. Strategi menetapkan harga hentian terlebih dahulu, yang dapat mengawal kerugian maksimum perdagangan tunggal dengan berkesan.
Setiap hari tutup, mengelakkan risiko semalaman. Strategi untuk menutup kedudukan sebelum penutupan hari, tidak memegang kedudukan semalaman, dapat mengurangkan risiko turun naik yang besar semalaman.
Frekuensi dagangan yang tinggi, sesuai untuk operasi garis pendek. Hanya memegang dagangan satu hari perdagangan, dapat memastikan frekuensi dagangan yang tinggi.
Strategi ini mudah difahami dan dilaksanakan.
Dalam pada itu, terdapat beberapa risiko yang perlu diperhatikan dalam strategi pembalikan dua hala:
Jarak penangguhan yang tidak dipilih dengan betul boleh menyebabkan penangguhan ditembusi. Jika jarak penangguhan ditetapkan terlalu kecil, dalam kes-kes yang melampau, ia boleh menyebabkan kerosakan yang disebabkan oleh penembusan langsung.
Frekuensi dagangan yang terlalu tinggi boleh menyebabkan tekanan kos dagangan. Dagangan frekuensi tinggi dengan kedudukan kosong setiap hari dapat mengumpulkan lebih banyak yuran.
Kerugian mudah dihentikan di bawah trend gegaran yang besar. Kerugian dihentikan dalam keadaan gegaran lebih mudah dicetuskan, sehingga menyebabkan kerugian.
Strategi ini lebih sesuai untuk pasaran yang berbalik dan tidak dapat terus menangkap keuntungan trend selepas trend pecah.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Optimumkan Jarak Henti. Anda boleh menguji pelbagai kedudukan henti untuk mencari titik henti terbaik. Anda juga boleh menyesuaikan jarak henti secara dinamik mengikut turun naik pasaran.
Menambah penapis trend. Anda boleh menilai arah trend pada tahap yang lebih besar sebelum masuk dan mengelakkan perdagangan berlawanan.
Optimumkan peraturan pembukaan kedudukan. Anda boleh mempertimbangkan untuk menambah pertimbangan bentuk grafik pada masa sebelum penembusan, atau menambah pertimbangan logik kuantitatif untuk meningkatkan ketepatan pembukaan kedudukan.
Tambah pengoptimuman pegangan. Anda boleh menguji penambahan stop loss bergerak atau trend track EXIT untuk keuntungan berterusan.
Uji varieti yang berlainan. Strategi ini mungkin lebih sesuai untuk varieti yang lebih berfluktuasi, dan data dari pelbagai varieti boleh diuji untuk mencari varieti yang paling sesuai.
Menggabungkan teknologi pembelajaran mesin. Anda boleh mempertimbangkan untuk menggunakan pembelajaran mesin untuk mengoptimumkan parameter seperti jarak hentian, peraturan pembukaan simpanan.
Strategi pembalikan dua arah secara keseluruhan adalah strategi strategi garis pendek yang sangat ringkas dan praktikal. Ia sesuai untuk situasi kenaikan dan penurunan harga yang berbalik pada masa yang sama, dan dapat menangkap peluang pembalikan dengan berkesan. Tetapi strategi ini juga mempunyai beberapa risiko, memerlukan pengoptimuman jarak henti, peraturan pembukaan kedudukan dan sebagainya untuk mengurangkan risiko dan meningkatkan kestabilan strategi.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Simple strat", shorttitle="Simple Strat", overlay=true)
// X001TK R1 strategy
//
//
// This strategy combines the special approach in previous daily range trading
//
// This strategy goes long on stop buy order which is calculated as previous day range
// multiplied by special number.
//
// This pure strategy does not have any
// stop loss or take profit money management logic.
//
// Exit rule is simple. We close the position on market close or next day open
//
//
//
//
// Input
length = input(10, minval=1)
stopLossPercent=input(1.1,"Stop Loss Percent")
profitPercent=input(9,"Profit Percent")
// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2018, title = "From Year", minval = 2000)
ToMonth = input(defval = 3, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 2029, title = "To Year", minval = 2017)
ses_cls = input(defval=true, title="End of Session Close Out?")
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
// === STRATEGY ===
// conditions
longCond1 = close>close[1]
longCond2 = close<close[1]
strategy.entry("long1", strategy.long, when=longCond1==true and window()==true, stop=close+(high - low)*0.6)
strategy.entry("long2", strategy.long, when=longCond2==true and window()==true, stop=close+(high - low)*1.8)
strategy.close_all(when=ses_cls)
// === /STRATEGY ===