Multi Timeframe Beli strategi penurunan

Penulis:ChaoZhang, Tarikh: 2023-10-27 16:56:23
Tag:

img

Ringkasan

Multi timeframe buy the dip strategy adalah strategi perdagangan automatik yang agak mudah yang boleh menghasilkan keuntungan yang mengagumkan, terutamanya semasa tempoh uptrend.

Strategi ini menangkap kejatuhan harga tiba-tiba dalam jangka masa 1 jam apabila harga telah meningkat dengan ketara dalam 12 jam yang lalu.

Setup skrip dioptimumkan pada jangka masa 30 minit. Anda boleh menyesuaikan parameter untuk menyesuaikan jangka masa yang berbeza.

Sistem mencetuskan isyarat beli apabila:

  • Harga turun 1% daripada dua lilin sebelumnya (frame masa 1 jam = dua lilin 30 minit)
  • Harga naik 3% dari 12 jam yang lalu (dua puluh empat lilin 30 minit sama dengan jangka masa yang dikehendaki)

Setup ini telah dioptimumkan menjalankan lebih daripada 150 backtest pada lebih daripada 20 pasangan perdagangan crypto yang berbeza.

Strategi ini mengandaikan setiap pesanan untuk berdagang 30% daripada modal yang tersedia. Yuran dagangan sebanyak 0.1% diambil kira. Yuran itu sejajar dengan yuran asas yang digunakan di Binance, pertukaran cryptocurrency terbesar.

Logika Strategi

Idea teras strategi pembelian multi-frame adalah untuk menggabungkan kedua-dua jangka masa jangka panjang dan jangka pendek untuk menentukan isyarat kemasukan.

Pertama, ia memeriksa jangka masa 1 jam untuk melihat sama ada terdapat penurunan harga tiba-tiba. Ini disahkan dengan memeriksa sama ada lilin semasa telah jatuh lebih daripada 1% berbanding dengan dua lilin sebelumnya.

Kedua, ia memeriksa jangka masa 12 jam untuk melihat sama ada terdapat trend menaik yang ketara dalam jangka panjang. ini disahkan dengan mengira jika harga telah meningkat lebih daripada 3% dalam 12 jam terakhir.

Hanya apabila terdapat penurunan jangka pendek dan trend kenaikan jangka panjang isyarat beli akan dicetuskan.

Gabungan ini mengelakkan membeli secara membabi buta dalam trend penurunan jangka panjang sementara juga menangkap peluang penurunan jangka pendek.

Secara teknikal, strategi ini menggunakan duaperc_change()fungsi dengan parameter yang berbeza untuk memeriksa kedua-dua bingkai masa. Satu memeriksa perubahan 12 jam, yang lain memeriksa perubahan 1 jam. Apabila kedua-dua syarat dipenuhi, isyarat beli dicetuskan.

Analisis Kelebihan

Kelebihan terbesar dari strategi pembelian pelbagai jangka masa adalah bahawa ia dapat menentukan trend dengan berkesan dan menangkap peluang menarik balik.

  1. Menggabungkan dua bingkai masa mengelakkan membeli dalam trend penurunan jangka panjang, mengurangkan kerugian yang tidak perlu.

  2. Tempoh jangka pendek menangkap penurunan tiba-tiba yang memberikan harga kemasukan yang lebih rendah.

  3. Parameter yang diuji dan dioptimumkan menjadikan strategi lebih sesuai untuk turun naik crypto yang tinggi.

  4. Bayaran dagangan dipertimbangkan, menjadikan simulasi lebih dekat dengan dagangan sebenar.

  5. Logik mudah dan konfigurasi parameter menjadikannya mudah difahami dan disesuaikan.

  6. Digunakan secara meluas untuk pasangan dagangan yang berbeza dengan fleksibiliti yang tinggi.

Analisis Risiko

Strategi pembelian pelbagai jangka masa juga mempunyai beberapa risiko, terutamanya dalam bidang berikut:

  1. Tidak dapat sepenuhnya mengelakkan risiko pecah palsu, penurunan jangka pendek boleh menjadi pembalikan trend.

  2. Parameter tetap mungkin tidak dapat disesuaikan sepenuhnya dengan perubahan pasaran, yang memerlukan penyesuaian.

  3. Ujian belakang selalu berfungsi dengan baik dalam simulasi, terdapat perbezaan dalam perdagangan langsung.

  4. Beberapa risiko kelewatan masa kehilangan titik masuk yang optimum semasa turun naik harga.

  5. Strategi tunggal terdedah kepada risiko sistemik.

  6. Perdagangan frekuensi tinggi meningkatkan beban yuran dagangan.

Untuk risiko, beberapa langkah pengoptimuman boleh dipertimbangkan:

  1. Tambah lebih banyak penunjuk untuk menentukan trend jangka pendek dan panjang untuk meningkatkan ketepatan.

  2. Mengoptimumkan parameter untuk membuat mereka menyesuaikan diri dengan lebih dinamik dengan pasaran.

  3. Strategi ujian dalam persekitaran hidup untuk mengukur perbezaan daripada backtest.

  4. Sesuaikan jangka masa dengan sewajarnya untuk mengurangkan masalah kelewatan masa.

  5. Menggunakan pelbagai strategi yang tidak berkaitan untuk mempelbagaikan risiko sistemik.

  6. Tetapkan stop loss yang betul dan ambil keuntungan untuk mengawal risiko setiap perdagangan.

Arahan pengoptimuman

Masih ada ruang yang besar untuk mengoptimumkan strategi pembelian pelbagai jangka masa, terutamanya dalam bidang-bidang ini:

  1. Tambah lebih banyak penunjuk seperti Bollinger Bands, RSI dll untuk meningkatkan kestabilan.

  2. Menggabungkan model pembelajaran mesin untuk pengoptimuman parameter dinamik untuk menyesuaikan diri dengan pasaran yang berubah.

  3. Mengoptimumkan stop loss dan mengambil strategi keuntungan untuk mengurangkan risiko setiap perdagangan.

  4. Uji balik pada lebih banyak pasangan dagangan dan jangka masa untuk mencari set parameter yang optimum.

  5. Menggabungkan perubahan jumlah untuk mengelakkan isyarat palsu dari perdagangan arbitraj.

  6. Tambah modul pengurusan risiko seperti peruntukan aset, saiz kedudukan dan lain-lain untuk mengawal risiko keseluruhan.

  7. Jelajahi jenis strategi algoritma lain seperti trend berikut, arbitrage dan lain-lain untuk kepelbagaian.

  8. Penyelidikan kombinasi pelbagai jangka masa yang lebih kompleks untuk mencari set yang optimum.

  9. Menggabungkan unsur perdagangan berita menggunakan peristiwa sebagai pemacu perdagangan.

Dengan teknik pengoptimuman ini, strategi dapat menjadi lebih kukuh, pintar dan komprehensif untuk kerumitan pasaran kripto.

Kesimpulan

Secara keseluruhannya, strategi pembelian pelbagai jangka masa adalah sistem perdagangan jangka pendek yang sangat praktikal. Ia melihat kedua-dua dimensi masa jangka pendek dan jangka panjang secara serentak untuk meningkatkan ketepatan sambil tetap agak cekap. Dengan penyesuaian parameter dan pengoptimuman yang betul, ia dapat menyesuaikan diri dengan kebanyakan pasaran perdagangan, terutamanya aset trend.

Tetapi seperti mana-mana strategi mekanikal, ia mempunyai batasan yang memerlukan peniaga untuk kekal rasional dan terus mengoptimumkan dan menyesuaikan diri dengan pasaran yang berubah.

Kesimpulannya, strategi pembelian pelbagai jangka masa memberikan templat yang sangat baik untuk perdagangan algoritma. Ia meringkaskan perkara utama seperti memilih jangka masa, mengkonfigurasi parameter, pengujian belakang, kawalan risiko dll. Menggunakan strategi ini dengan bijak dan memperbaikinya melalui amalan dapat membantu peniaga memahami petunjuk penting di tengah-tengah lautan data, dan mencapai alfa yang konsisten di pasaran.


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 4h
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=1
strategy(shorttitle='Multi Time Frame Buy the Dips',title='Multi Time Frame 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()  => true       // create function "within window of time"

inp_lkb = input(24, title='Lookback Long Period')
inp_lkb_2 = input(2, title='Lookback Short Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

// Call the function    
overall = perc_change(inp_lkb)
overall_2 = perc_change(inp_lkb_2)

//Entry

dip= -(input(1))
increase= (input(3))

strategy.entry(id="long", long = true, when = overall > increase and overall_2 < dip and window()) 

//Exit
Stop_loss= ((input (3))/100)
Take_profit= ((input (4))/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())


Lebih lanjut