Strategi Pembalikan Dua Arah

Penulis:ChaoZhang, Tarikh: 2023-11-02 16:47:08
Tag:

img

Ringkasan

Strategi pembalikan dua arah adalah strategi perdagangan Bitcoin yang mudah yang menetapkan pesanan beli stop-loss berdasarkan julat dagangan hari sebelumnya. Idea utama strategi ini adalah bahawa jika harga pembukaan pada hari semasa lebih tinggi daripada harga penutupan hari sebelumnya, tetapkan pembelian stop-loss berhampiran tinggi; jika harga pembukaan lebih rendah daripada harga penutupan hari sebelumnya, tetapkan pembelian stop-loss berhampiran rendah.

Logika Strategi

Strategi ini mula-mula mengira julat dagangan hari sebelumnya, yang merupakan harga tertinggi dikurangkan daripada harga terendah. Selepas pembukaan hari semasa, ia menilai sama ada harga lebih tinggi atau lebih rendah daripada harga penutupan hari sebelumnya. Jika lebih tinggi, harga pembelian stop-loss ditetapkan pada harga pembukaan ditambah 0.6 kali julat hari sebelumnya. Jika lebih rendah, harga pembelian stop-loss ditetapkan pada harga pembukaan ditambah 1.8 kali julat hari sebelumnya. Strategi akan membuka kedudukan panjang apabila kerugian berhenti dicetuskan, dan menutup kedudukan sebelum akhir hari semasa.

Secara khusus, strategi ini mengandungi dua peraturan kemasukan:

  1. Jika harga pembukaan hari semasa lebih tinggi daripada harga penutupan hari sebelumnya (longCond1 dipenuhi), dan dalam tetingkap masa backtest (window() dipenuhi, tetapkan pembelian stop-loss pada harga pembukaan ditambah 0.6 kali julat hari sebelumnya (strategi.long1).

  2. Jika harga pembukaan hari semasa lebih rendah daripada harga penutupan hari sebelumnya (longCond2 dipenuhi), dan dalam tetingkap backtest, tetapkan pembelian stop-loss pada harga pembukaan ditambah 1.8 kali julat hari sebelumnya (strategi.long2).

Strategi akan membuka kedudukan panjang apabila salah satu daripada stop loss di atas dicetuskan, dan menutup kedudukan sebelum akhir hari menggunakan strategi.close_all (().

Analisis Kelebihan

Strategi pembalikan dua arah mempunyai kelebihan berikut:

  1. Mengambil pergerakan pembalikan tanpa kecenderungan arah. Strategi ini mempertimbangkan kedua-dua arah ke atas dan ke bawah, menangkap pemindahan pembalikan dalam kedua-dua arah.

  2. Risiko yang boleh dikawal dengan stop loss. Stop loss yang telah ditentukan secara berkesan mengehadkan kerugian maksimum setiap perdagangan.

  3. Mengelakkan risiko semalam dengan menutup semua kedudukan setiap hari.

  4. Frekuensi dagangan yang lebih tinggi untuk dagangan jangka pendek.

  5. Logik yang mudah dan jelas, mudah difahami dan dilaksanakan.

Analisis Risiko

Walau bagaimanapun, terdapat juga beberapa risiko yang perlu diperhatikan untuk strategi:

  1. Jarak stop loss yang tidak betul boleh menyebabkan stop loss dipukul. Jika stop loss terlalu ketat, ia boleh dihentikan sebelum waktunya dalam keadaan pasaran yang melampau.

  2. Frekuensi perdagangan yang tinggi boleh menimbulkan kos transaksi yang besar. Pembukaan dan penutupan kedudukan harian boleh mengumpulkan bayaran komisen yang besar.

  3. Kemungkinan untuk dihentikan di pasaran yang bergelora.

  4. Tidak dapat menunggang pergerakan trend. Strategi ini lebih sesuai untuk pembalikan, tidak dapat menangkap keuntungan dari kesinambungan trend.

Peluang Peningkatan

Beberapa cara strategi boleh ditingkatkan:

  1. Mengoptimumkan jarak stop loss. Uji tahap berhenti yang berbeza untuk mencari titik stop loss yang optimum. Juga pertimbangkan berhenti dinamik berdasarkan turun naik pasaran.

  2. Tambah penapis trend. Semak trend jangka masa yang lebih besar sebelum masuk untuk mengelakkan perdagangan yang bertentangan dengan trend.

  3. Perbaiki peraturan kemasukan. Pertimbangkan untuk menambah jumlah atau petunjuk momentum untuk meningkatkan ketepatan kemasukan.

  4. Memperkenalkan pengurusan kedudukan. Uji hentian atau trend mengikuti keluar untuk menunggang trend yang menguntungkan.

  5. Uji produk yang berbeza. Strategi ini mungkin berfungsi dengan lebih baik dengan produk volatiliti yang lebih tinggi.

  6. Menggunakan teknik pembelajaran mesin. Mengoptimumkan parameter seperti berhenti dan entri menggunakan algoritma ML.

Kesimpulan

Secara keseluruhan, strategi pembalikan dua arah adalah konsep strategi jangka pendek yang sangat mudah dan praktikal. Ia dapat menangkap peluang pembalikan dengan berkesan dalam kedua-dua pergerakan menaik dan menurun. Walau bagaimanapun, risiko seperti jarak stop loss dan peraturan kemasukan perlu dioptimumkan untuk mengurangkan risiko dan meningkatkan ketahanan. Dengan penyempurnaan utama, strategi boleh menjadi alat perdagangan jangka pendek yang sangat berguna.


/*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 ===

Lebih lanjut