Strategi Henti Kehilangan Purata Pergerakan Berganda


Tarikh penciptaan: 2024-02-05 13:45:51 Akhirnya diubah suai: 2024-02-05 13:45:51
Salin: 0 Bilangan klik: 565
1
fokus pada
1617
Pengikut

Strategi Henti Kehilangan Purata Pergerakan Berganda

Gambaran keseluruhan

Strategi ini menghasilkan isyarat beli dengan mengira purata bergerak dua parameter yang berbeza apabila garis cepat melintasi garis lambat. Ia juga menggunakan jangkauan pergerakan sebenar purata untuk mengesan harga berhenti dan menghasilkan isyarat jual apabila harga jatuh di bawah harga berhenti. Strategi ini dapat mengesan trend pasaran dengan berkesan dan berhenti tepat pada masanya setelah keuntungan.

Prinsip Strategi

  1. Rata-rata Bergerak Cepat ((EMA): parameter adalah purata bergerak indeks 12 hari, yang dapat bertindak balas dengan cepat terhadap perubahan harga.
  2. Rata-rata Bergerak Lambat ((SMA): parameter adalah purata bergerak mudah 45 hari, yang mewakili trend jangka panjang.
  3. Apabila bergerak perlahan di atas rata-rata bergerak cepat, ia menghasilkan isyarat beli.
  4. Mengira purata pergerakan sebenar 15 hari (ATR) sebagai penanda aras untuk menghentikan kerugian.
  5. Tetapkan stop loss mengikut nilai ATR (seperti 6 kali ATR) dan kemas kini harga stop loss dalam masa nyata.
  6. Sinyal jual dihasilkan apabila harga berada di bawah harga stop loss.

Strategi ini menggabungkan trend tracking dan pengurusan hentian kerugian, yang boleh mengesan arah garis tengah dan boleh mengawal kerugian tunggal melalui hentian.

Analisis kelebihan

  1. Kombinasi purata bergerak dapat mengenal pasti trend dengan berkesan, meningkatkan kebolehpercayaan isyarat.
  2. Tracking Stop Loss Dinamika boleh menghentikan kerugian tepat pada masanya, mengelakkan serangan terhadap kekuatan kewangan.
  3. Stop loss yang digabungkan dengan ATR membuat harga stop loss menjadi munasabah dan mengelakkan terlalu sensitif.
  4. Strategi yang jelas dan mudah difahami, parameter yang boleh disesuaikan secara fleksibel.

Analisis risiko

  1. Rata-rata bergerak terlewat dan mungkin terlepas peluang untuk memendekkannya.
  2. Stop loss yang terlalu longgar boleh menjejaskan keuntungan.
  3. Stop loss yang terlalu sensitif akan meningkatkan frekuensi transaksi dan beban yuran.
  4. Perubahan kadar turun naik saham boleh mempengaruhi kestabilan parameter ATR.

Parameter purata bergerak boleh dioptimumkan dengan sewajarnya, atau menyesuaikan ATR untuk mengimbangi stop loss. Ia juga boleh digabungkan dengan indikator lain sebagai syarat penapisan untuk meningkatkan masa masuk.

Arah pengoptimuman

  1. Uji lebih banyak kombinasi parameter untuk memilih purata bergerak yang terbaik.
  2. Menyesuaikan parameter kelipatan ATR terhad mengikut ciri-ciri saham yang berbeza.
  3. Menambah syarat penapisan seperti penunjuk kuantiti dan harga untuk mengelakkan transaksi yang tidak perlu.
  4. Mengumpul lebih banyak ujian data sejarah untuk mengesahkan kestabilan parameter.

ringkaskan

Strategi ini berjaya mengintegrasikan trend tracking moving average dan ATR stop loss, dengan parameter pengoptimuman boleh menyesuaikan diri dengan ciri-ciri saham yang berbeza. Strategi ini membentuk batas pembelian yang jelas dan batas stop loss, menjadikan logik perdagangan mudah dan jelas. Secara keseluruhannya, strategi stop loss yang dijejaki oleh dua rata-rata bergerak ini stabil, mudah, mudah dioptimumkan, sesuai sebagai strategi asas untuk perdagangan saham.

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

//@version=2
//created by XPloRR 24-02-2018

strategy("XPloRR MA-Buy ATR-MA-Trailing-Stop Strategy",overlay=true, initial_capital=1000,default_qty_type=strategy.percent_of_equity,default_qty_value=100)

testStartYear = input(2005, "Start Year")
testStartMonth = input(1, "Start Month")
testStartDay = input(1, "Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2050, "Stop Year")
testStopMonth = input(12, "Stop Month")
testStopDay = input(31, "Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriodBackground = input(title="Background", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

emaPeriod = input(12, "Exponential MA")
smaPeriod = input(45, "Simple MA")
stopPeriod = input(12, "Stop EMA")
delta = input(6, "Trailing Stop #ATR")

testPeriod() => true

emaval=ema(close,emaPeriod)
smaval=sma(close,smaPeriod)
stopval=ema(close,stopPeriod)
atr=sma((high-low),15)

plot(emaval, color=blue,linewidth=1)
plot(smaval, color=orange,linewidth=1)
plot(stopval, color=lime,linewidth=1)

long=crossover(emaval,smaval) 
short=crossunder(emaval,smaval)

//buy-sell signal
stop=0
inlong=0
if testPeriod()
    if (long and (not inlong[1]))
        strategy.entry("buy",strategy.long)
        inlong:=1
        stop:=emaval-delta*atr
    else
        stop:=iff((nz(emaval)>(nz(stop[1])+delta*atr))and(inlong[1]),emaval-delta*atr,nz(stop[1]))
        inlong:=nz(inlong[1])
        if ((stopval<stop) and (inlong[1]))
            strategy.close("buy")
            inlong:=0
            stop:=0
else
    inlong:=0
    stop:=0
plot(stop,color=green,linewidth=1)