Strategi henti kerugian purata bergerak trend berganda


Tarikh penciptaan: 2023-11-06 16:52:11 Akhirnya diubah suai: 2023-11-06 16:52:11
Salin: 0 Bilangan klik: 654
1
fokus pada
1617
Pengikut

Strategi henti kerugian purata bergerak trend berganda

Gambaran keseluruhan

Strategi ini menggabungkan penunjuk dua hala dan penunjuk rata-rata bergerak, menggunakan penunjuk dua hala untuk menentukan arah trend pasaran, dan menggunakan rata-rata bergerak untuk pengesahan trend, termasuk strategi mengikuti trend. Digabungkan dengan halangan untuk mengawal risiko, termasuk strategi yang lebih stabil.

Prinsip Strategi

  1. Hitung harga penutupan semalam dengan rata-rata SMA tertinggi dalam tempoh tertentu, dan harga penutupan semalam dengan rata-rata SMA terendah dalam tempoh tertentu.

  2. Bandingkan harga penutupan semasa dengan hubungan atas dan bawah, menilai arah trend semasa. Harga penutupan lebih tinggi daripada atas, dinilai sebagai lebih banyak; harga penutupan lebih rendah daripada bawah, dinilai sebagai kosong.

  3. Hitung garis rata-rata harga penutupan SMA 200 kitaran sebagai kriteria untuk trend garis tengah dan panjang.

  4. Apabila dinilai sebagai lebih tinggi, jika harga penutupan menembusi garis rata-rata SMA dari arah bawah, menghasilkan isyarat beli; apabila dinilai sebagai kosong, jika harga penutupan menembusi garis rata-rata SMA dari arah atas, menghasilkan isyarat jual.

  5. Selepas memasuki kedudukan bermulut, jika harga penutupan turun, sebagai isyarat kedudukan rata; setelah memasuki kedudukan kosong, jika harga penutupan turun, sebagai isyarat kedudukan rata.

  6. Tetapkan titik hentian dengan peratusan tetap, jika titik hentian di bawah harga penutupan, anda akan mengaktifkan pesanan hentian

Kelebihan Strategik

  1. Menggunakan penunjuk dua hala untuk menentukan arah trend, trend dapat dikenal pasti dengan berkesan, meningkatkan kebarangkalian untuk memasuki arah yang betul.

  2. Penambahan garis rata, boleh menapis sebahagian daripada isyarat bunyi bising, untuk mengelakkan perdagangan salah dalam keadaan gegaran.

  3. Menggunakan halangan kerugian untuk mengawal risiko kerugian tunggal, anda boleh mengelakkan kerugian yang terlalu besar.

  4. Operasi strategi agak mudah, mudah difahami dan sesuai untuk pemula.

Risiko Strategik

  1. Penunjuk dua hala lebih sensitif kepada tetapan parameter, kombinasi parameter kitaran yang berbeza, boleh menyebabkan perbezaan hasil yang lebih besar, perlu berhati-hati menguji pengoptimuman parameter.

  2. Tetapan garis rata terlalu panjang, akan menyaring lebih banyak peluang perdagangan; garis rata terlalu pendek, tidak berkesan untuk menghilangkan bunyi. Tetapan parameter kitaran garis rata perlu ditimbang.

  3. Titik hentian terlalu lebar dan tidak dapat mengawal risiko dengan baik; terlalu sempit mudah dikeluarkan oleh turun naik harga biasa. Perlu berhati-hati menetapkan ruang hentian.

  4. Strategi lebih bergantung pada pengoptimuman parameter, dan jika parameter tidak ditetapkan dengan betul, ia mungkin tidak dapat mengenal pasti arah trend dengan betul, yang menyebabkan kesilapan dalam membuat keputusan perdagangan.

Arah pengoptimuman strategi

  1. Kombinasi parameter kitaran yang berbeza boleh diuji untuk mencari parameter yang membuat penunjuk dua hala lebih tepat dalam menilai trend.

  2. Penunjuk garis purata yang boleh diuji untuk kitaran yang berbeza untuk mencari parameter garis purata yang terbaik untuk mengimbangi kesan kebisingan dan mengekalkan isyarat.

  3. Anda boleh cuba merancang mekanisme hentian yang menyesuaikan diri dengan turun naik pasaran, menjadikan hentian lebih dekat dengan keadaan pasaran.

  4. Anda juga boleh cuba untuk menambah petunjuk lain untuk membantu, seperti pengesahan kuantiti, jangka masa yang panjang, dan sebagainya, untuk meningkatkan kestabilan strategi.

  5. Strategi yang telah dioptimumkan boleh disahkan dengan menggunakan analisis maju berjalan untuk memastikan parameter masih stabil.

ringkaskan

Strategi ini mengintegrasikan kelebihan penunjuk dua hala dan garis purata bergerak, dan merupakan strategi pengesanan trend yang mempunyai ruang untuk mengoptimumkan parameter. Dengan menetapkan dan mengoptimumkan parameter yang munasabah, prestasi strategi yang lebih baik dapat diperoleh. Namun, berhati-hati untuk mengawal risiko pengoptimuman parameter yang berlebihan dan memastikan kestabilan parameter. Secara keseluruhan, strategi ini sesuai untuk digunakan sebagai kes penjelajahan dan pembelajaran strategi.

Kod sumber strategi
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@Isaac
//Estrategia vista en ▼▼
//YT: Trading Zone
strategy('SSL Strategy + EMA 200 AND Stop Loss', overlay=true)

ema = ta.ema(close, 200)

stop_loss = input.float(2.00, title='Stop Loss', step=0.10)

period = input(title='Period', defval=10)
len = input(title='Period', defval=10)
smaHigh = ta.sma(high, len)
smaLow = ta.sma(low, len)
Hlv = int(na)
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? smaHigh : smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh


cruceArriba = ta.crossover(sslUp, sslDown)
cruceAbajo = ta.crossunder(sslUp, sslDown)

alcista = (close > ema ) and (cruceArriba) 
bajista = (close < ema) and (cruceAbajo)

var SL = 0.0
//Cerrar compra por cruce
por_cruce = ta.crossunder(sslUp, sslDown)

//Cerrar venta por cruce
por_cruceAB = ta.crossunder(sslDown, sslUp)

//Cerrar compra y venta por stop loss
Stop = SL

comprado = strategy.position_size > 0
vendido = strategy.position_size < 0

UTmpconvertL = strategy.position_avg_price * (1 + 0.1)
UTmpdefineL = (UTmpconvertL > close and strategy.openprofit > 0.1)
UTSPL = UTmpdefineL

SPL = UTSPL

///////////////////////////////////////////////////////////////////////

UTmpconvertLS = strategy.position_avg_price * (1 + 0.1)
UTmpdefineLS = (UTmpconvertLS > close and strategy.openprofit > 0.1)
UTSPLS = UTmpdefineLS

SPLS = UTSPLS

////////////////////////////////////////////////////////////////////////

if not comprado and not vendido and alcista
    cantidad = (strategy.equity / close)
    strategy.entry('Compra', strategy.long, qty=cantidad, comment="Long")
    SL := sslDown


if comprado and not vendido and por_cruce and SPL
    strategy.close("Compra", comment="Exit Long")
    SL := 0
    
if comprado and not vendido and Stop
    strategy.exit('Compra', stop=Stop, comment="SL")
    SL := 0

///////////////////////////////////////////////////////////////////

if not comprado and not vendido and bajista
    cantidad = (strategy.equity / close)
    strategy.entry('Venta', strategy.short, qty=cantidad, comment="Short")
    SL := sslDown

if not comprado and vendido and por_cruceAB and SPLS
    strategy.close("Venta", comment="Exit Short")
    SL := 0
    
if not comprado and vendido and Stop
    strategy.exit('Venta', stop=Stop, comment="SLS")
    SL := 0



plot(Stop > 0 ? Stop : na, style=plot.style_circles, color=color.new(color.yellow,0))
plot(ema)
plot(sslDown, linewidth=2, color=color.new(color.red, 0))
plot(sslUp, linewidth=2, color=color.new(color.lime, 0))