Strategi dagangan berdasarkan penarikan balik pelarian


Tarikh penciptaan: 2024-02-28 18:01:56 Akhirnya diubah suai: 2024-02-28 18:01:56
Salin: 0 Bilangan klik: 318
1
fokus pada
1166
Pengikut

Strategi dagangan berdasarkan penarikan balik pelarian

Gambaran keseluruhan

Strategi perdagangan penyesuaian terobosan adalah strategi perdagangan garis pendek. Strategi ini menggabungkan beberapa petunjuk untuk menilai trend besar, trend pertengahan dan trend jangka pendek, dan untuk mengikuti trend melalui isyarat pengesahan trend yang sama dan saling melengkapi.

Prinsip Strategi

Strategi ini adalah berdasarkan kepada harga mutlak kekuatan dan MACD untuk mencapai penyesuaian semula perdagangan. Pertama, mengira harga 9 kitaran, 21 kitaran dan 50 kitaran EMA, untuk menentukan arah trend besar; kemudian mengira harga mutlak kekuatan, yang mencerminkan kekuatan penyesuaian jangka pendek; akhirnya mengira MACD untuk menentukan arah trend jangka pendek. Beli apabila trend besar meningkat dan terdapat penyesuaian jangka pendek; jual apabila trend besar menurun dan terdapat rebound jangka pendek.

Khususnya, tren besar untuk naik mesti memenuhi EMA 9 hari yang lebih tinggi daripada EMA 21 hari, EMA 21 hari lebih tinggi daripada EMA 50 hari. Kriteria penilaian penyesuaian jangka pendek adalah perbezaan indikator kekuatan mutlak kurang dari 0, MACDDIFF kurang dari 0. Tren besar untuk turun mesti memenuhi EMA 9 hari lebih rendah daripada EMA 21 hari, EMA 21 hari lebih rendah daripada EMA 50 hari. Kriteria penilaian rebound jangka pendek adalah perbezaan indikator kekuatan mutlak lebih tinggi daripada 0, MACDDIFF lebih tinggi daripada 0.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Gabungan Trend Besar dan Pelarasan Jangka Pendek untuk Mengelakkan Penembusan Palsu
  2. Penggunaan pelbagai kombinasi penunjuk, kebolehpercayaan yang lebih tinggi
  3. Indeks kekuatan mutlak mencerminkan kekuatan penyesuaian untuk menilai kualiti penyesuaian
  4. MACD boleh menilai trend jangka pendek dan kawasan overbought dan oversold

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Kesilapan dalam menilai trend yang besar boleh menyebabkan kegagalan perdagangan
  2. Kesilapan dalam penilaian masa dan kekuatan pemulihan yang mungkin tidak berkesan
  3. Indeks terbelah dalam keadaan yang melampau, menghasilkan isyarat yang salah

Untuk menghadapi risiko di atas, boleh dilakukan dengan mengoptimumkan parameter, menilai indikator kitaran yang berbeza; menyesuaikan peraturan pegangan, mengawal kerugian tunggal; menggabungkan lebih banyak isyarat penapisan indikator, meningkatkan ketepatan dan lain-lain.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Uji gabungan lebih banyak penunjuk untuk mencari strategi perdagangan yang lebih sesuai
  2. Mengoptimumkan parameter penunjuk dan meningkatkan kepekaan penunjuk
  3. Menyesuaikan kaedah penangguhan kerugian untuk mengurangkan kerugian tunggal maksimum
  4. Menambah syarat penapisan untuk memberi isyarat di kawasan yang lebih berkesan
  5. Meningkatkan ketepatan penghakiman dengan menggunakan lebih banyak pengukuran kitaran masa

ringkaskan

Secara keseluruhannya, strategi perdagangan penyesuaian penyesuaian secara keseluruhan adalah strategi perdagangan garis pendek yang lebih stabil. Ia menggabungkan penghakiman tren besar dan pendek, mengelakkan perdagangan yang salah dalam keadaan gegaran.

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

//@version=5 
strategy("Divergence Scalper [30MIN]", overlay=true , commission_value=0.04 ) 
message_long_entry = input("long entry message") 
message_long_exit = input("long exit message") 
message_short_entry = input("short entry message") 
message_short_exit = input("short exit message") 
//3x ema 
out9 = ta.ema(close,9) 
out21 = ta.ema(close,21) 
out50 = ta.ema(close,50) 
//abs 
absolute_str_formula( ) => 
    top=0.0 
    bottom=0.0 
    if(close>close[1]) 
        top:= nz(top[1])+(close/close[1]) 
    else 
        top:=nz(top[1]) 
    if(close<=close[1]) 
        bottom:= nz(bottom[1])+(close[1]/close) 
    else 
        bottom:=nz(bottom[1]) 
    if (top+bottom/2>=0) 
        1-1/(1+(top/2)/(bottom/2)) 
abs_partial=absolute_str_formula() 
abs_final = abs_partial - ta.sma(abs_partial,50) 
//macd 
fast_length = input(title="Fast Length", defval=23) 
slow_length = input(title="Slow Length", defval=11) 
src = input(title="Source", defval=open) 
signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 6) 
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) 
sma_signal = input.string(title="Signal Line MA Type", defval="SMA", options=["SMA", "EMA"]) 
// Calculating 
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) 
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) 
macd = fast_ma - slow_ma 
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) 
hist = macd - signal 
long= abs_final > 0 and hist <0 and out9<out21 and out21<out50 
short = abs_final <0 and hist >0 and out9>out21 and out21>out50 
long_exit = abs_final <0 and hist >0 and out9>out21 and out21>out50 
short_exit = abs_final > 0 and hist <0 and out9<out21 and out21<out50 
strategy.entry("long", strategy.long, when = long and barstate.isconfirmed, alert_message = message_long_entry) 
strategy.entry("short", strategy.short, when = short and barstate.isconfirmed, alert_message = message_short_entry) 
strategy.close("long", when = long_exit and barstate.isconfirmed, alert_message = message_long_exit) 
strategy.close("short", when = short_exit and barstate.isconfirmed, alert_message = message_short_exit)