Strategi Pecah Julat Purata Bergerak


Tarikh penciptaan: 2023-12-12 17:38:19 Akhirnya diubah suai: 2023-12-12 17:38:19
Salin: 0 Bilangan klik: 715
1
fokus pada
1621
Pengikut

Strategi Pecah Julat Purata Bergerak

Gambaran keseluruhan

Strategi ini adalah strategi penembusan selang yang berdasarkan purata bergerak. Ia akan berdasarkan purata bergerak dalam tempoh tertentu dan garis atas dan bawah yang ditetapkan, untuk menilai penembusan harga untuk melakukan operasi jual beli.

Prinsip Strategi

Prinsip-prinsip utama strategi ini ialah:

  1. Tetapkan purata bergerak untuk tempoh tertentu sebagai garisan tengah.

  2. Setkan julat jarak di atas dan di bawah paksi tengah, julat jarak diperoleh dengan mengalikan paksi tengah dengan peratusan tertentu. Jalur laluan atas adalah paksi tengah dengan ((100% + setkan peratusan), dan Jalur laluan bawah adalah paksi tengah dengan ((100% - setkan peratusan))

  3. Apabila harga naik, buatlah lompatan; apabila harga turun, buatlah lompatan.

  4. Harga pesanan ditetapkan sebagai harga garisan atas dan bawah yang sepadan.

  5. Apabila harga kembali ke arah pusat, kedudukan kosong akan keluar.

Dengan cara ini, strategi dagangan boleh dilaksanakan dengan menggunakan purata bergerak dan julatannya untuk menangkap harga yang pecah.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Konsepnya mudah difahami, mudah difahami dan mudah dilaksanakan.

  2. Ia boleh disesuaikan dengan parameter untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.

  3. Garis tengah dan julat boleh menyaring bunyi pasaran dengan berkesan untuk menangkap trend.

  4. Menggunakan harga terhad untuk mengawal risiko.

  5. Berhenti kehilangan semasa kembali ke sumbu tengah, untuk mengelakkan kerugian yang berlebihan.

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Tetapan parameter julat yang tidak betul boleh menyebabkan transaksi yang kerap atau tidak mencukupi.

  2. Kemungkinan besar akan berlaku penembusan palsu dan mungkin akan berlaku kemusnahan.

  3. Apabila keadaan berubah-ubah, garis tengah dan jarak tidak akan berfungsi.

  4. Kembali ke garisan tengah, anda mungkin akan mengalami kekalahan terdahulu.

Penyelesaian:

  1. Parameter pengoptimuman, memilih purata bergerak yang sesuai untuk tempoh dan peratusan selang.

  2. Mengelakkan penembusan palsu, jika ia digabungkan dengan petunjuk lain.

  3. Meningkatkan kaedah intervensi.

  4. Pengaturan purata bergerak adalah lebih lama, dengan jarak yang lebih besar.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan cara berikut:

  1. Menambah syarat-syarat berhenti, seperti menjejaki berhenti dan mengelakkan kerugian yang berlebihan.

  2. Menambah penapis indikator seperti MACD, KD dan lain-lain untuk mengurangkan pelanggaran palsu.

  3. Tambah fungsi pengoptimuman parameter automatik, membolehkan parameter disesuaikan dalam masa nyata mengikut perubahan pasaran.

  4. Menambah syarat untuk membuka kedudukan dan mengelakkan hanya bergantung pada penembusan.

  5. Mengoptimumkan pergerakan purata berkala dan parameter selang.

ringkaskan

Strategi ini secara keseluruhan adalah strategi penembusan rantaian purata bergerak yang agak praktikal. Konsepnya mudah, mudah difahami dan dilaksanakan, dengan penapisan kebisingan dalam rantaian, ia lebih berkesan di pasaran yang lebih jelas. Tetapi ada beberapa risiko, perlu berhati-hati dengan pengoptimuman parameter dan digunakan dalam kombinasi dengan petunjuk lain.

Kod sumber strategi
/*backtest
start: 2023-01-01 00:00:00
end: 2023-08-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Robot WhiteBox ShiftMA", shorttitle = "Robot WhiteBox ShiftMA", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
per = input(3, title = "Length")
src = input(ohlc4, title = "Source")
shortlevel = input(10.0, title = "Short line (red)")
longlevel = input(-5.0, title = "Long line (lime)")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//SMAs
sma = sma(src, per) 
shortline = sma * ((100 + shortlevel) / 100)
longline = sma * ((100 + longlevel) / 100)
plot(shortline, linewidth = 2, color = red, title = "Short line")
plot(sma, linewidth = 2, color = blue, title = "SMA line")
plot(longline, linewidth = 2, color = lime, title = "Long line")

//Trading
size = strategy.position_size
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]

if (not na(close[per])) and size == 0 and needlong
    strategy.entry("L", strategy.long, lot, limit = longline)
    
if (not na(close[per])) and size == 0 and needshort
    strategy.entry("S", strategy.short, lot, limit = shortline)
    
if (not na(close[per])) and size > 0 
    strategy.entry("Close", strategy.short, 0, limit = sma)
    
if (not na(close[per])) and size < 0 
    strategy.entry("Close", strategy.long, 0, limit = sma)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()