Strategi trailing stop loss berdasarkan SMA dan ATR


Tanggal Pembuatan: 2024-02-06 10:06:29 Akhirnya memodifikasi: 2024-02-06 10:06:29
menyalin: 0 Jumlah klik: 751
1
fokus pada
1617
Pengikut

Strategi trailing stop loss berdasarkan SMA dan ATR

Ringkasan

Strategi ini adalah strategi perdagangan garis panjang yang didasarkan pada pergerakan pergerakan sederhana (SMA) dan rata-rata volatilitas riil (ATR). Strategi ini menggabungkan keuntungan dari pelacakan tren dan manajemen risiko untuk mengendalikan penarikan dan memaksimalkan keuntungan.

Prinsip Strategi

Strategi ini menggunakan SMA 200 untuk menentukan arah tren besar, menggunakan ATR untuk mengatur garis stop loss, untuk melakukan stop loss yang dinamis. Secara khusus, sinyal beli adalah penutupan penutupan SMA 200 ditambah ATR 14 hari, yang menunjukkan bahwa penutupan saat ini berada di tengah tren naik.

Analisis Keunggulan

Strategi ini menggabungkan keunggulan dari dua indikator SMA dan ATR. SMA 200 dapat memfilter kebisingan pasar, mengunci arah utama garis panjang; dan ATR 14 hari dapat mengatur garis stop loss berdasarkan fluktuasi dua minggu terakhir, untuk mencapai efek stop loss yang dinamis. Ini memungkinkan keuntungan berkelanjutan dalam tren, sementara juga dapat secara efektif mengendalikan penarikan balik. Secara keseluruhan, strategi ini memiliki keunggulan:

  1. Rasio keuntungan dan kerugian yang tinggi. Mengikuti tren, menghentikan risiko pengendalian kerugian, sehingga mendapatkan rasio keuntungan dan kerugian yang tinggi.

  2. Pengembalian dapat dikontrol. Pelacakan dinamis ATR mengurangi dampak dari kejadian tak terduga, dan pengembalian dapat dikontrol secara efektif.

  3. Parameter sederhana. Hanya menggunakan dua parameter, untuk mencapai keseimbangan antara risiko dan keuntungan, menghindari optimasi berlebihan.

Analisis risiko

Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan. Risiko utama adalah:

  1. Strategi itu sendiri tidak dapat menilai perubahan tren, jika terjadi perubahan tren tiba-tiba dapat menyebabkan kerugian besar.

  2. SMA memiliki keterlambatan dan tidak dapat langsung mencerminkan perubahan tren.

  3. Risiko pengaturan parameter ATR. Terlalu besar atau terlalu kecil pengaturan parameter ATR dapat mempengaruhi kinerja strategi.

Solusi yang sesuai:

  1. Dalam kombinasi dengan indikator lain, seperti MACD.
  2. Tes kombinasi parameter yang berbeda untuk menemukan keseimbangan optimal.

Arah optimasi

Strategi ini juga dapat dioptimalkan dalam beberapa hal:

  1. Uji kombinasi parameter SMA dan ATR yang berbeda untuk menemukan parameter yang optimal.

  2. Menambahkan indikator teknis lainnya untuk membalikkan penilaian, seperti MACD.

  3. Mengoptimalkan mekanisme penghentian kerugian, seperti perubahan penghentian kerugian, penghentian kerugian bergerak dan sebagainya.

  4. Dengan mengkombinasikan indikator fundamental saham, hindari membeli saham yang tidak menjanjikan kenaikan.

Meringkaskan

Strategi ini mengintegrasikan metode pelacakan tren dan manajemen risiko dinamis, sehingga memungkinkan pengoptimalan stop loss dan stop loss selama kepemilikan garis panjang. Strategi ini memiliki rasio kerugian yang tinggi, pengembalian yang dapat dikendalikan, keseimbangan risiko dan keuntungan. Namun, ada juga risiko reversal tren dan kesulitan dalam pengoptimalan parameter. Secara keseluruhan, strategi ini dapat memberikan perdagangan kuantitatif dengan ide perdagangan garis panjang yang sederhana dan efektif, yang layak untuk diuji dan dioptimalkan lebih lanjut.

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

//@version=5
strategy("SMA+ATR Strategie", overlay=true)

// Benutzer-Inputs für SMA, ATR und die Anzeigeoption
smaLength = input(200, title="SMA Länge")
atrLength = input(14, title="ATR Länge")
showSMAandATR = input(true, title="Zeige SMA und ATR-Bänder")

// Berechnung von SMA und ATR
sma = ta.sma(close, smaLength)
atr = ta.atr(atrLength)

// Kauf- und Verkaufslogik basierend auf SMA und ATR
buyCondition = close > sma + atr
sellCondition = close < sma - atr

// Variable zum Speichern des Eintrittspreises
var float entryPrice = na

// Kauf- und Verkaufssignale
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    entryPrice := close // Speichere den Eintrittspreis

if (sellCondition)
    // Nur wenn ein Kauf stattgefunden hat
    if not na(entryPrice)
        // Berechne die Performance seit dem Kaufsignal
        performanceSinceBuy = ((close - entryPrice) / entryPrice) * 100
        // Anzeigen der Performance
        // Wähle die Box-Farbe basierend auf dem Vorzeichen der Performance
        plColor = performanceSinceBuy >= 0 ? color.green : color.red
        // Anzeigen der Performance in der entsprechenden Farbe
        plBox = "P/L: " + str.tostring(performanceSinceBuy, "#.##") + "%"
        label.new(bar_index, high, text=plBox, color=plColor, textcolor=color.white, style=label.style_label_center, yloc=yloc.price)
        
    // Schließe den Trade und setze den Eintrittspreis zurück
    strategy.close("Buy")
    entryPrice := na

// Optionale Anzeige von SMA und ATR-Band
plot(showSMAandATR ? sma : na, color=color.blue, title="SMA 200")
plot(showSMAandATR ? sma + atr : na, color=color.green, title="SMA 200 + ATR")
plot(showSMAandATR ? sma - atr : na, color=color.red, title="SMA 200 - ATR")