Strategi Trailing Stop Rata-rata Bergerak


Tanggal Pembuatan: 2023-09-19 21:33:48 Akhirnya memodifikasi: 2023-09-19 21:33:48
menyalin: 2 Jumlah klik: 691
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini menghasilkan sinyal beli dengan crossover antara EMA cepat untuk membeli rata-rata dan SMA lambat untuk menjual rata-rata, dan menggunakan stop loss pelacakan dinamis ATR untuk mengendalikan risiko, yang bertujuan untuk melampaui strategi beli dan pegang dengan sedikit perdagangan.

Prinsip Strategi

  1. Perhitungan EMA cepat untuk membeli rata-rata dan SMA lambat untuk membeli rata-rata, menghasilkan sinyal beli ketika garis cepat melewati garis lambat dan mencapai intensitas pembelian tertentu.

  2. Perhitungan EMA cepat menjual rata-rata dan SMA lambat menjual rata-rata, menghasilkan sinyal jual ketika garis cepat melewati garis lambat.

  3. Menggunakan N-avg harian dengan ATR sebagai indikator stop loss untuk mengontrol risiko.

  4. Memulai strategi, melakukan pembelian dan penjualan selama pengamatan ulang.

  5. Setiap saham mengoptimalkan kombinasi parameter yang berbeda, mencari parameter terbaik.

Strategi ini menggabungkan keuntungan dari indikator moving average untuk menilai tren dan sinyal silang dan stop loss pelacakan dinamis ATR, dengan mengoptimalkan parameter untuk menyesuaikan karakteristik setiap varietas, dengan tujuan untuk mendapatkan keuntungan tambahan dari pembelian dan kepemilikan melalui sedikit perdagangan presisi.

Analisis Keunggulan

  1. EMA cepat dan SMA lambat bersilang menghasilkan sinyal perdagangan yang dapat mengidentifikasi tren.

  2. Stop loss ATR menyesuaikan posisi stop loss sesuai dengan fluktuasi pasar, untuk mengontrol risiko secara efektif.

  3. Optimalisasi parameter untuk setiap saham dapat meningkatkan tingkat keuntungan.

  4. Logika dan aturan transaksi yang sederhana, mudah diterapkan dan diverifikasi.

  5. Fungsi pengembalian lengkap untuk memverifikasi keberhasilan strategi.

  6. Mencari stabilitas di luar keuntungan tambahan yang dimiliki.

Analisis risiko

  1. Parameter yang dioptimalkan tidak selalu berlaku untuk masa depan dan mungkin perlu dioptimalkan kembali secara berkala.

  2. EMA dan SMA yang bersilang dapat menghasilkan sinyal yang salah atau sinyal yang tertinggal.

  3. ATR stop loss mungkin terlalu radikal, dan dapat dengan tepat memperluas area stop loss.

  4. Terlalu sering bertransaksi, dan mungkin kehilangan kesempatan untuk bertransaksi.

  5. Konsekuensi dari biaya transaksi harus dipertimbangkan.

Arah optimasi

  1. Terus menguji kombinasi parameter yang berbeda untuk mencari parameter yang optimal.

  2. Cobalah untuk memasukkan indikator lain untuk filter sinyal.

  3. Mengoptimalkan parameter periodik ATR, menyeimbangkan sensitivitas stop loss.

  4. Evaluasi efek dari pelepasan yang tepat dari ambang kerugian.

  5. Pertimbangkan metode yang menggabungkan pembelajaran mesin dan lain-lain untuk mencari parameter optimasi otomatis.

  6. Studi tentang efek peningkatan frekuensi pembukaan gudang.

Meringkaskan

Ini bergerak rata-rata melacak strategi stop loss, menggabungkan keuntungan dari cross-line yang menghasilkan sinyal dan ATR stop loss pengendalian risiko, dengan parameter yang dioptimalkan untuk menyesuaikan dengan karakteristik masing-masing saham, adalah sederhana dan praktis overbought strategi ide. Meskipun parameter yang dioptimalkan tidak menjamin efek masa depan, tetapi strategi ini secara keseluruhan perdagangan logika jelas, operasional yang kuat, layak untuk perbaikan lebih lanjut dan pengujian, memiliki inspirasi yang baik.

Kode Sumber Strategi
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//created by XPloRR 04-03-2018

strategy("XPloRR 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)

ema1Period = input(12, "Fast EMA Buy")
sma1Period = input(54, "Slow SMA Buy")
strength1 = input(52, "Minimum Buy Strength")

ema2Period = input(18, "Fast EMA Sell")
sma2Period = input(55, "Slow SMA Sell")
strength2 = input(100, "Minimum Sell Strength")

delta = input(8, "Trailing Stop (#ATR)")

testPeriod() => true

ema1val=ema(close,ema1Period)
sma1val=sma(close,sma1Period)
ema1strength=10000*(ema1val-ema1val[1])/ema1val[1]

ema2val=ema(close,ema2Period)
sma2val=sma(close,sma2Period)
ema2strength=10000*(ema2val-ema2val[1])/ema2val[1]

plot(ema1val,color=blue,linewidth=1)
plot(sma1val,color=orange,linewidth=1)
plot(ema2val,color=navy,linewidth=1)
plot(sma2val,color=red,linewidth=1)

long=crossover(ema1val,sma1val) and (ema1strength > strength1) 
short=crossunder(ema2val,sma2val) and (ema2strength < -strength2)

stopval=ema(close,6)
atr=sma((high-low),15)

inlong=0
buy=0
stop=0
if testPeriod()
    if (inlong[1])
        inlong:=inlong[1]
        buy:=close
        stop:=iff((stopval>(stop[1]+delta*atr)),stopval-delta*atr,stop[1])
    if (long) and (not inlong[1])
        strategy.entry("buy",strategy.long)
        inlong:=close
        buy:=close
        stop:=stopval-delta*atr
plot(buy,color=iff(close<inlong,red,lime),style=columns,transp=90,linewidth=1)
plot(stop,color=iff((short or (stopval<stop)) and (close<inlong),red,lime),style=columns,transp=60,linewidth=1)
if testPeriod()
    if (short or (stopval<stop)) and (inlong[1])
        strategy.close("buy")
        inlong:=0
        stop:=0
        buy:=0