Strategi Dagangan Panjang Berdasarkan Julat Pecah


Tarikh penciptaan: 2023-09-19 17:19:55 Akhirnya diubah suai: 2023-09-19 17:19:55
Salin: 2 Bilangan klik: 623
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini adalah strategi untuk menghasilkan isyarat dagangan berdasarkan harga yang melanggar julat pengembalian tetap. Apabila harga melanggar harga tertinggi dalam tempoh pengembalian, melakukan banyak operasi; Apabila harga jatuh di bawah harga tertinggi, melakukan penyingkiran.

Prinsip Strategi

  1. Tetapkan parameter kitaran semak semula, contohnya 4 hari.

  2. Harga tertinggi dalam tempoh 4 hari terakhir.

  3. Harga tertinggi hari ini telah melampaui harga tertinggi 4 hari lalu, jadi buatlah lebih banyak.

  4. Apabila harga tidak mampu menembusi harga tertinggi dalam tempoh 4 hari, maka ia akan ditutup.

  5. Dengan menggunakan parameter reverse, anda boleh melakukan banyak arah kosong untuk beralih.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Kesimpulannya, signal jelas.

  2. Tetapkan parameter julat penembusan untuk mengelakkan pengoptimuman parameter rumit dan pengoptimuman berlebihan.

  3. Ia boleh bertukar dengan mudah dalam pelbagai arah, menyesuaikan diri dengan pelbagai keadaan pasaran.

  4. Semak semula ke dalam julat tetap yang menapis sebahagian daripada bunyi bising, untuk mencapai trend pengesanan yang berterusan.

  5. Tidak perlu mengira petunjuk yang rumit, strategi ringkas dan berkesan.

Analisis risiko

Risiko utama strategi ini ialah:

  1. “Penyusutan yang tetap, tidak dapat menyesuaikan diri dengan perubahan pasaran”.

  2. Tidak dipertimbangkan untuk menghentikan kerugian, terdapat kerugian besar yang melebihi risiko.

  3. Parameter tetap terdedah kepada kemungkinan kegagalan pasaran.

  4. Perdagangan bising mungkin terlalu kerap dan meningkatkan kos transaksi.

  5. Parameter tidak dioptimumkan, parameter lalai sukar untuk mencapai kesan optimum.

Arah pengoptimuman

Ia boleh dioptimumkan dalam beberapa aspek:

  1. Optimumkan parameter utama untuk mencari kombinasi parameter terbaik.

  2. Menggabungkan pengiraan rentang penembusan dinamik berdasarkan ATR dan sebagainya.

  3. Pertimbangkan untuk memasukkan stop loss bergerak atau stop loss peratusan tetap.

  4. Menggunakan indikator trend untuk mengelakkan perdagangan berlebihan di pasaran yang bergolak.

  5. Kaedah ini digunakan untuk menguji parameter kecergasan dalam lebih banyak jenis perdagangan.

  6. Menambah algoritma pembelajaran mesin untuk mengoptimumkan parameter secara automatik.

ringkaskan

Strategi ini secara keseluruhannya adalah strategi perdagangan yang sangat mudah berdasarkan harga yang terobosan. Dengan cara mengoptimumkan julat parameter, menambah mekanisme stop-loss, penilaian trend, dan lain-lain, ia boleh menjadi strategi kuantitatif yang mudah dilaksanakan dan praktikal.

Kod sumber strategi
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/11/2016
// Breakout Range Long Strategy
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Breakout Range Long Strategy Backtest", overlay = true)
look_bak = input(4, minval=1, title="Look Bak")
reverse = input(false, title="Trade reverse")
xHighest = highest(high, look_bak)
pos =	iff(high > xHighest[1], 1, 0)
if (pos == 1 and strategy.position_size == 0 and reverse == false) 
    strategy.entry("Long", strategy.long)
if (pos == 1 and strategy.position_size == 0 and reverse == true) 
    strategy.entry("Short", strategy.short)
if (pos == 0 and strategy.position_size > 0)
    strategy.close("Long")
if (pos == 0 and strategy.position_size < 0)
    strategy.close("Short")
barcolor(strategy.position_size > 0 ? green: strategy.position_size < 0 ? red: blue)   
plotshape(pos, style=shape.triangleup, location = location.belowbar, color = green)