SSL Channel Breakout Strategy dengan Trailing Stop Loss

Penulis:ChaoZhang, Tanggal: 2023-10-25 17:40:37
Tag:

img

Gambaran umum

Strategi ini menggunakan indikator saluran SSL untuk mengidentifikasi arah tren dan penembusan perdagangan dengan momentum. Ini akan panjang ketika harga pecah di atas pita atas SSL dan akan pendek ketika harga pecah di bawah pita bawah SSL. Stop loss bergerak dan trailing stop loss digunakan untuk mengendalikan risiko.

Logika Strategi

  1. Menghitung band atas dan bawah saluran SSL menggunakan SMA harga tinggi dan rendah dengan periode N.

  2. Menghasilkan sinyal panjang ketika dekat berada di atas band atas, dan sinyal pendek ketika dekat berada di bawah band bawah.

  3. Atur stop loss tetap di band berlawanan setelah masuk, untuk membatasi kerugian.

  4. Atur stop loss yang mengikuti pergerakan harga, untuk mengunci keuntungan.

  5. Keluar saat harga mencapai stop loss tetap atau trailing stop loss.

Keuntungan

  1. Gunakan indikator saluran untuk menentukan arah tren, menghindari pecah palsu.

  2. Stop loss ganda menggabungkan pengambilan keuntungan dan pengendalian risiko.

  3. Frekuensi perdagangan yang tinggi cocok dengan perdagangan jangka pendek.

  4. Parameter fleksibel yang dapat disesuaikan dengan gaya perdagangan pribadi.

  5. Otomatis mendeteksi panjang / pendek, tidak perlu penilaian arah.

Risiko

  1. Perdagangan jangka pendek rentan terhadap kejutan berita dan volatilitas tinggi.

  2. Stop loss tetap dapat memicu kerugian besar setelah breakout.

  3. Stop loss trailing yang tidak tepat dapat menyebabkan keluar prematur.

  4. Saluran pecah rentan terhadap sinyal palsu.

  5. Hanya cocok untuk pedagang jangka pendek yang berpengalaman.

Solusi:

  1. Atur stop loss tetap yang wajar untuk membatasi kerugian per perdagangan.

  2. Optimalkan tingkat stop loss untuk menghindari keluar lebih awal.

  3. Tambahkan filter volume untuk mengkonfirmasi kebocoran yang sebenarnya.

  4. Mengelola ukuran posisi, skala untuk mengontrol eksposur risiko.

Optimalisasi

  1. Optimalkan periode SMA untuk menemukan panjang terbaik.

  2. Coba indikator saluran lain seperti BB, KD dll.

  3. Tambahkan indikator volume untuk mengkonfirmasi kredibilitas.

  4. Pertimbangkan tingkat omset untuk menghindari low volume false breakout.

  5. Uji periode tunggu yang berbeda untuk menemukan waktu keluar yang optimal.

  6. Uji parameter stop loss tetap dan trailing.

  7. Sesuaikan strategi ukuran posisi untuk memaksimalkan efisiensi modal.

Ringkasan

Strategi ini menggabungkan bias arah saluran SSL dan sinyal breakout, dengan manajemen stop loss ganda. Ini bereaksi cepat untuk menangkap tren, cocok untuk perdagangan frekuensi tinggi. Berhati-hati dengan breakout palsu, memperbaiki mekanisme stop loss, dan ukuran posisi kontrol. Dengan optimasi lebih lanjut, ini memiliki potensi untuk menjadi strategi perdagangan jangka pendek yang efektif.


/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("SSL Channel Cross with Trailing Stop and Stop Loss", overlay=true)

period = input(title="Period", defval=10)
len = input(title="Length", defval=10)
smaHigh = sma(high, len)
smaLow = sma(low, len)

Hlv = 0
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]

sslDown = Hlv < 0 ? smaHigh : smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh

plot(sslDown, linewidth=2, color=color.red)
plot(sslUp, linewidth=2, color=color.lime)

longCondition = crossover(sslUp, sslDown)
shortCondition = crossunder(sslUp, sslDown)

// Define el tamaño del trailing stop en puntos (ajusta según tu preferencia)
trailingStopSize = input(title="Trailing Stop Size (in Points)", defval=10)

var float trailingStopPrice = na
var float stopLossPrice = na

if (longCondition)
    // Si se cumple la condición de compra, configura la posición larga, el trailing stop y el stop loss
    strategy.entry("Long", strategy.long)
    trailingStopPrice := low - trailingStopSize
    stopLossPrice := sslDown

if (shortCondition)
    // Si se cumple la condición de venta corta, configura la posición corta, el trailing stop y el stop loss
    strategy.entry("Short", strategy.short)
    trailingStopPrice := high + trailingStopSize
    stopLossPrice := sslUp

// Calcula el trailing stop
if (strategy.position_size > 0)
    trailingStopPrice := max(trailingStopPrice, stopLossPrice)
    if (close < trailingStopPrice)
        strategy.close("ExitLong", comment="Trailing Stop Long")

if (strategy.position_size < 0)
    trailingStopPrice := min(trailingStopPrice, stopLossPrice)
    if (close > trailingStopPrice)
        strategy.close("ExitShort", comment="Trailing Stop Short")


Lebih banyak