Strategi trailing stop loss ATR ganda


Tanggal Pembuatan: 2024-01-31 17:10:32 Akhirnya memodifikasi: 2024-01-31 17:10:32
menyalin: 3 Jumlah klik: 921
1
fokus pada
1617
Pengikut

Strategi trailing stop loss ATR ganda

Ringkasan

Strategi ATR Double Trailing Stop adalah strategi perdagangan short-line yang didasarkan pada indikator rata-rata real bandwidth ((ATR)). Strategi ini menetapkan dua garis stop cepat dan lambat ATR sekaligus, menilai masuk dan keluar berdasarkan persimpangan dua garis stop. Strategi ini sederhana dan mudah dipahami, merespons dengan cepat, dan cocok untuk pasar yang berfluktuasi tinggi.

Prinsip Strategi

Strategi ini terutama menggunakan indikator ATR untuk mengatur dua garis stop loss. Salah satunya adalah garis ATR cepat, ATR siklus pendek, kali kecil, cepat bereaksi; yang lain adalah garis ATR lambat, ATR siklus panjang, kali besar, berperan sebagai filter.

Logika operasi spesifiknya adalah: menghitung garis ATR cepat dan garis ATR lambat; jika harga garis cepat lebih tinggi dari garis lambat, stop loss diikuti dengan garis cepat, jika tidak, stop loss diikuti dengan garis lambat. Warna Kline menunjukkan stop loss yang saat ini digunakan, hijau dan biru menunjukkan stop loss dengan garis cepat, merah dan kuning menunjukkan stop loss dengan garis lambat.

Analisis Keunggulan

Strategi stop loss ATR ganda memiliki keuntungan sebagai berikut:

  1. Logika operasi sederhana dan jelas, mudah dipahami dan diterapkan.
  2. Respon cepat terhadap perubahan pasar, cocok untuk pasar yang berfluktuasi tinggi.
  3. Dual ATR Stop loss pengendalian risiko, efektif stop loss.
  4. Indikator ATR parametris, dapat menyesuaikan stop loss.
  5. Warna Kline yang terlihat jelas menunjukkan kerusakan.

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Terlalu sering terjadi transaksi.
  2. Indikator ATR kurang cocok dengan kurva, kemungkinan terjadi kehilangan pembesaran.
  3. Tidak dapat memfilter secara efektif dua tahap pasar, yaitu horizontal dan tren.

Risiko ini dapat dikurangi dengan mengoptimalkan siklus ATR, menyesuaikan ATR, dan memfilterkan indikator lainnya.

Arah optimasi

Strategi penghentian kerugian yang diikuti oleh ATR ganda dapat dioptimalkan lebih lanjut dengan:

  1. Mengoptimalkan parameter ATR, menyesuaikan stop loss.
  2. Menambahkan indikator penyaringan untuk menghindari transaksi yang tidak valid. Misalnya, menambahkan indikator rata-rata untuk menilai tren.
  3. Meningkatkan kondisi pembukaan posisi untuk menghindari kesalahan transaksi. Misalnya, meningkatkan volume transaksi dalam indikator energi.
  4. Meningkatkan waktu eksits untuk menghindari terlalu sering melakukan transaksi.

Meringkaskan

Dual ATR tail stop loss strategi secara keseluruhan mudah dipahami dan diterapkan, sangat cocok untuk skenario dengan volatilitas tinggi, dapat melakukan kontrol risiko secara efektif. Ruang optimasi juga besar, dapat ditingkatkan dengan cara penyesuaian parameter, menambahkan filter, dan lain-lain.

Kode Sumber Strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun

//@version=4
strategy("ATR Trailing Stop Strategy by ceyhun", overlay=true)

/////////notes////////////////////////////////////////
// This is based on the ATR trailing stop indicator //
// width addition of two levels of stops and        //
// different interpretation.                        //
// This is a fast-reacting system and is better     //
// suited for higher volatility markets             //
//////////////////////////////////////////////////////

SC = input(close, "Source", input.source)

// Fast Trail //
AP1 = input(5, "Fast ATR period", input.integer)  // ATR Period
AF1 = input(0.5, "Fast ATR multiplier", input.float)  // ATR Factor
SL1 = AF1 * atr(AP1)  // Stop Loss
Trail1 = 0.0
Trail1 := iff(SC > nz(Trail1[1], 0) and SC[1] > nz(Trail1[1], 0), max(nz(Trail1[1], 0), SC - SL1), iff(SC < nz(Trail1[1], 0) and SC[1] < nz(Trail1[1], 0), min(nz(Trail1[1], 0), SC + SL1), iff(SC > nz(Trail1[1], 0), SC - SL1, SC + SL1)))

// Slow Trail //
AP2 = input(10, "Slow ATR perod", input.integer)  // ATR Period
AF2 = input(2, "Slow ATR multiplier", input.float)  // ATR Factor
SL2 = AF2 * atr(AP2)  // Stop Loss
Trail2 = 0.0
Trail2 := iff(SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0), max(nz(Trail2[1], 0), SC - SL2), iff(SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0), min(nz(Trail2[1], 0), SC + SL2), iff(SC > nz(Trail2[1], 0), SC - SL2, SC + SL2)))

// Bar color for trade signal //
Green = Trail1 > Trail2 and close > Trail2 and low > Trail2
Blue = Trail1 > Trail2 and close > Trail2 and low < Trail2
Red = Trail2 > Trail1 and close < Trail2 and high < Trail2
Yellow = Trail2 > Trail1 and close < Trail2 and high > Trail2

// Signals //
Bull = barssince(Green) < barssince(Red)
Bear = barssince(Red) < barssince(Green)

Buy = crossover(Trail1, Trail2)
Sell = crossunder(Trail1, Trail2)

TS1 = plot(Trail1, "Fast Trail", style=plot.style_line,color=Trail1 > Trail2 ? color.blue : color.yellow, linewidth=2)
TS2 = plot(Trail2, "Slow Trail", style=plot.style_line,color=Trail1 > Trail2 ? color.green : color.red, linewidth=2)
fill(TS1, TS2, Bull ? color.green : color.red, transp=90)

plotcolor = input(true, "Paint color on chart", input.bool)

bcl = iff(plotcolor == 1, Blue ? color.blue : Green ? color.lime : Yellow ? color.yellow : Red ? color.red : color.white, na)
barcolor(bcl)

if Buy
    strategy.entry("Buy", strategy.long, comment="Buy")
    
if Sell
    strategy.entry("Sell", strategy.short, comment="Sell")