Strategi mengikut arah aliran berdasarkan purata bergerak dinamik


Tarikh penciptaan: 2024-01-02 10:44:53 Akhirnya diubah suai: 2024-01-02 10:44:53
Salin: 0 Bilangan klik: 559
1
fokus pada
1621
Pengikut

Strategi mengikut arah aliran berdasarkan purata bergerak dinamik

Gambaran keseluruhan

Strategi ini berdasarkan kepada dinamika rata-rata garis petunjuk, untuk mewujudkan trend harga yang real-time pengesanan, melalui pemecahan garis rata-rata untuk menghantar isyarat perdagangan. Keuntungan strategi adalah parameter yang mudah, isyarat penilaian yang jelas, sesuai untuk memegang kedudukan panjang dan sederhana.

Prinsip Strategi

Strategi ini menggunakan indikator garis rata yang dinamik, termasuk pelbagai jenis garis rata seperti ALMA, EMA, SMA dan lain-lain. Prinsip asasnya adalah, apabila harga melewati garis rata di atas, lakukan lebih banyak; apabila harga melewati garis rata di bawah, lakukan kosong.

Khususnya, strategi menggunakan garis rata yang terbentuk pada titik rendah yang tinggi, dan kemudian menggunakan garis rata-rata rendah sebagai garis sinyal ganda, dan garis rata-rata tinggi sebagai garis sinyal pendek. Apabila harga penutupan lebih tinggi daripada garis rata-rata rendah, lakukan lebih banyak; Apabila harga penutupan lebih rendah daripada garis rata-rata tinggi, buat kosong.

Dengan cara ini, indikator garis rata digunakan untuk menentukan trend harga, dan kemudian digabungkan dengan prinsip penembusan untuk menghantar isyarat, membentuk strategi trend yang mudah dan praktikal.

Kelebihan Strategik

  • Penghakiman menggunakan penunjuk garis rata-rata, parameter mudah diatur, mudah dikendalikan
  • Peraturan penilaian isyarat jelas, tidak menghasilkan isyarat palsu
  • Algoritma linear pilihan bebas, fleksibel untuk menghadapi perubahan pasaran
  • Parameter garis purata yang boleh disesuaikan untuk menyesuaikan diri dengan trend yang berbeza-beza
  • Sinyal boleh disahkan dalam jangka masa yang lebih lama, meningkatkan kebolehpercayaan

Risiko dan penyelesaian

  • Indeks rata-rata tertinggal, mungkin terlepas peluang
    • Mempersingkatkan kitaran purata dengan betul, atau menggunakan EMA purata bergerak indeks
  • Gempa besar dalam jangka pendek, risiko kemerosotan
    • Melepaskan markah hentian yang sesuai untuk memastikan ruang pergerakan yang mencukupi
  • Risiko jangka panjang yang mungkin tidak dapat dihentikan
    • Berpadu dengan penilaian lain, mengelakkan kenaikan dan penurunan

Pengoptimuman Strategi

  • Sesuaikan algoritma dan parameter garis rata mengikut ciri-ciri pelbagai jenis
  • Menambah penilaian sub-indikator untuk meningkatkan kesan strategi
  • Menambah mekanisme penghalang kerosakan
  • Penilaian kebolehpercayaan isyarat dalam pelbagai kerangka masa
  • Mencari parameter yang lebih baik dengan teknologi pembelajaran mesin

ringkaskan

Strategi ini menggunakan indikator garis rata untuk menentukan arah trend harga, dan menghantar isyarat perdagangan berdasarkan teori penembusan. Kelebihannya adalah mudah digunakan, sesuai untuk memegang kedudukan garis panjang dan menengah, dan boleh disesuaikan dengan parameter untuk menyesuaikan diri dengan perubahan pasaran. Perlu berhati-hati untuk mengelakkan guncangan jangka pendek dan risiko yang dibawa oleh pemegang jangka panjang, yang dapat diselesaikan dengan menghentikan kerugian.

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

//@version=4
strategy(title="Baseline Strategy - evo", shorttitle="Baseline", overlay=true)

//INPUTS
mat =               input("ALMA", "MA Type", options=["SMA", "EMA", "WMA", "HMA", "VWMA", "RMA", "ALMA"])
baseline =          input(55, title="MA Length")
src =               input(ohlc4, title="Closing Source")

offset =            input(0.85, step=0.05, title="Offset (alma only)")
sigma =             input(10, title="Sigma (alma only)")

useCurrentRes =     input(true, title="Use Current Resolution")
resCustom =         input("1440", title="Timeframe")

showsignals =       input(false, title="Show Signals ?")

//BASELINE
baselinehigh = 

 mat=="SMA" ? sma(high,baseline) : 
 mat=="EMA" ? ema(high,baseline) : 
 mat=="WMA" ? wma(high,baseline) : 
 mat=="HMA" ? wma(2*wma(high, baseline/2)-wma(high, baseline), round(sqrt(baseline))) : 
 mat=="VWMA" ? vwma(high,baseline) : 
 mat=="RMA" ? rma(high,baseline) :
 mat=="ALMA" ? alma(high, baseline, offset, sigma) : na

baselinelow = 

 mat=="SMA" ? sma(low,baseline) : 
 mat=="EMA" ? ema(low,baseline) : 
 mat=="WMA" ? wma(low,baseline) : 
 mat=="HMA" ? wma(2*wma(low, baseline/2)-wma(low, baseline), round(sqrt(baseline))) : 
 mat=="VWMA" ? vwma(low,baseline) : 
 mat=="RMA" ? rma(low,baseline) : 
 mat=="ALMA" ? alma(low, baseline, offset, sigma) : na

//RESOLUTION
res =               useCurrentRes ? timeframe.period : resCustom

mtfhigh =           security(syminfo.tickerid, res, baselinehigh)
mtflow =            security(syminfo.tickerid, res, baselinelow)

//PLOTS
plot(mtfhigh, color=color.navy, linewidth=2, transp=0, title="Baseline High")
plot(mtflow, color=color.navy, linewidth=2, transp=0, title="Baseline Low")

long =              src > mtfhigh
short =             src < mtflow

barcolor(long ? #ffe0b2 : short ? #2a2e39 : not long and not short ? #b09e82 : na, title="BaseLine BarColor")

signal = 0
signal := long ? 1 : short ? 2 : nz(signal[1])

plotshape(showsignals ? (signal != signal[1] and long ? mtflow : na) : na, title="Long", location=location.absolute, size=size.small, style=shape.labelup, text="Long", textcolor=color.black, transp=40, color=#00ff00)
plotshape(showsignals ? (signal != signal[1] and short ? mtfhigh : na) : na, title="Short", location=location.absolute, size=size.small, style=shape.labeldown, text="Short", textcolor=color.white, transp=40, color=#ff0000)

alertcondition(signal != signal[1], title="Trend Change !", message="Trend Change !")

if (long)
    strategy.entry("Long", strategy.long)
if (short)
    strategy.entry("Short", strategy.short)