Noro Menggeser Strategi Stop Loss Moving Average

Penulis:ChaoZhang, Tanggal: 2024-01-30 15:49:34
Tag:

img

Gambaran umum

Noro Shifted Moving Average Stop Loss Strategy adalah strategi mengikuti tren. Ini menghitung garis rata-rata bergerak sederhana 3 hari, dan menetapkan garis panjang di atasnya dan garis stop loss di bawahnya pada persentase tertentu.

Logika Strategi

Inti dari strategi ini adalah menghitung garis rata-rata bergerak sederhana 3 hari ma. Kemudian persentase lo ditambahkan di atas ma untuk mendapatkan garis panjang untuk entri. Ketika harga melintasi di atas panjang, posisi panjang dibuka. Di bawah ma persentase sl dikurangi untuk mendapatkan stop loss line stop. Ketika harga turun di bawah stop, posisi dihentikan. Ada juga mengambil garis keuntungan yang ditetapkan pada persentase di atas harga saham rata-rata saat ini. tp

Aturan khusus adalah:

  1. Menghitung 3-hari sederhana rata-rata bergerak ma
  2. Panjang garis panjang = ma + ma * lo%
  3. Take profit line take = Rata-rata harga saham saat ini + Rata-rata harga saham saat ini * tp%
  4. Stop loss line stop = Rata-rata harga saham saat ini - Rata-rata harga saham saat ini * sl%

Ini membangun strategi trend berikut yang menetapkan garis masuk, mengambil keuntungan dan stop loss berdasarkan ma benchmark dan persentase yang dapat dikonfigurasi.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah dapat melacak tren secara otomatis. Dengan pergi panjang untuk menangkap tren naik dan pendek untuk tren turun tanpa perlu pengenalan pola, ia menangkap tren.

Keuntungan lain adalah penyesuaian parameter yang fleksibel. Dengan mengubah persentase untuk panjang, mengambil keuntungan dan stop loss, ukuran posisi dan jarak stop loss dapat dengan mudah dikendalikan.

Analisis Risiko

Risiko terbesar dari strategi ini adalah slippage. Karena stop order digunakan untuk stop loss, dalam penurunan harga pasar yang cepat dapat selang jauh di bawah stop loss sebelum pesanan dipenuhi. Hal ini dapat menyebabkan kerugian yang bencana.

Risiko lain berasal dari parameter yang ditetapkan dengan buruk yang menyebabkan masuk dan keluar yang terlalu sering, meningkatkan biaya komisi.

Arahan Optimasi

Strategi dapat dioptimalkan dengan cara berikut:

  1. Menggunakan limit order bukan stop order untuk stop loss untuk menghindari risiko slippage

  2. Tambahkan pengaturan ukuran posisi untuk skala masuk dan keluar dengan lancar, mengurangi frekuensi perdagangan

  3. Tambahkan filter deteksi tren untuk menghindari sinyal palsu di pasar non-trend

  4. Mengoptimalkan pengaturan parameter untuk menemukan kombinasi yang optimal

Kesimpulan

Noro Shifted Moving Average Stop Loss Strategy adalah strategi yang sederhana dan praktis mengikuti tren. Ini dapat secara otomatis melacak tren dengan mengambil keuntungan dan mengendalikan risiko stop loss. Risiko terbesar berasal dari slippage potensial dan perdagangan yang terlalu sering dari optimasi parameter yang buruk. Dengan meningkatkan teknik stop loss dan mengoptimalkan parameter, strategi dapat dibuat lebih kuat.


/*backtest
start: 2023-12-30 00:00:00
end: 2024-01-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//2019
//Noro

//@version=4
strategy("Stop-loss", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
lo = input(-5.0, title = "Long-line, %")
tp = input(5.0, title = "Take-profit")
sl = input(2.0, title = "Stop-loss")

//SMA
ma = sma(ohlc4, 3)
long = ma + ((ma / 100) * lo)

//Orders
avg = strategy.position_avg_price
if ma > 0
    strategy.entry("Long", strategy.long, limit = long)
    strategy.entry("Take", strategy.short, 0, limit = avg + ((avg / 100) * tp))
    strategy.entry("Stop", strategy.short, 0, stop = avg - ((avg / 100) * sl))
    
//Cancel order
if strategy.position_size == 0
    strategy.cancel("Take")
    strategy.cancel("Stop")

//Lines
plot(long, offset = 1, color = color.black, transp = 0)
take = avg != 0 ? avg + ((avg / 100) * tp) : long + ((long / 100) * tp)
stop = avg != 0 ? avg - ((avg / 100) * sl) : long - ((long / 100) * sl)
takelinecolor = avg == avg[1] and avg != 0 ? color.lime : na
stoplinecolor = avg == avg[1] and avg != 0 ? color.red : na
plot(take, offset = 1, color = takelinecolor, linewidth = 3, transp = 0)
plot(stop, offset = 1, color = stoplinecolor, linewidth = 3, transp = 0)

Lebih banyak