Strategi Keluar Chandelier

Penulis:ChaoZhang, Tanggal: 2024-01-05 15:57:51
Tag:

img

Gambaran umum

Strategi ini menggunakan indikator Chandelier Exit untuk menentukan arah dan momentum harga dan menghasilkan sinyal beli dan jual.

Logika Strategi

Strategi ini didasarkan pada indikator Chandelier Exit yang menetapkan garis stop-loss berdasarkan tertinggi tertinggi, terendah terendah dan Rentang Benar Rata-rata. Secara khusus, strategi ini menghitung ATR 22 hari dan mengalikannya dengan koefisien (default 3) untuk memperoleh nilai untuk garis stop panjang dan pendek. Strategi ini menghasilkan sinyal jual ketika harga melanggar di bawah stop panjang ketika panjang, dan sinyal beli ketika harga melanggar di atas stop pendek ketika pendek.

Strategi ini hanya melakukan operasi beli. Ini memicu entri panjang ketika harga pecah di atas garis stop panjang sebelumnya, dan menciptakan sinyal keluar ketika harga jatuh di bawah garis stop pendek, menutup posisi panjang.

Analisis Keuntungan

  • Menggunakan garis stop loss dinamis dari Chandelier Exit untuk mengontrol risiko secara efektif
  • Mengkombinasikan price breakout untuk menangkap pergerakan tren
  • Mengimplementasikan strategi yang menghindari pembalikan naik/turun dengan hanya membeli
  • Kondisi peringatan memicu pemberitahuan untuk memantau status strategi

Analisis Risiko

  • Chandelier Exit sensitif terhadap ekspansi volatilitas yang dapat menyebabkan sinyal palsu
  • Tidak ada stop loss setelah membeli untuk membatasi kerugian
  • Tidak ada mekanisme mengambil keuntungan untuk mengunci keuntungan

Pengurangan Risiko:

  1. Tambahkan filter dengan indikator lain untuk menghindari sinyal palsu
  2. Menerapkan stop loss untuk membatasi kerugian maksimum %
  3. Masukkan penghentian laba terakhir, seperti penyesuaian lini jual dinamis atau keluar parsial

Peluang Peningkatan

  1. Uji set parameter yang berbeda untuk mengoptimalkan entri dan keluar
  2. Tambahkan filter indikator untuk mengkonfirmasi sinyal dan menghindari sinyal palsu
  3. Pertimbangkan untuk mengizinkan operasi pembelian dan penjualan
  4. Memperkenalkan mekanisme stop loss dan take profit

Kesimpulan

Strategi ini mengidentifikasi peluang pembalikan menggunakan garis stop dinamis dari indikator Chandelier Exit. Strategi ini membeli pada pemutusan ke atas dari garis stop panjang dan menjual ketika harga jatuh di bawah garis stop pendek, menerapkan strategi satu sisi sederhana yang menghindari pembalikan ke atas / ke bawah. Strategi ini secara efektif mengendalikan risiko tetapi tidak memiliki ketentuan stop loss dan take profit.


/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Chandelier Exit Strategy", overlay=true)

length = input(title='ATR Period', defval=22)
mult = input.float(title='ATR Multiplier', step=0.1, defval=3.0)
showLabels = input(title='Show Buy/Sell Labels ?', defval=true)
useClose = input(title='Use Close Price for Extremums ?', defval=true)
highlightState = input(title='Highlight State ?', defval=true)

atr = mult * ta.atr(length)

longStop = (useClose ? ta.highest(close, length) : ta.highest(length)) - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? math.max(longStop, longStopPrev) : longStop

shortStop = (useClose ? ta.lowest(close, length) : ta.lowest(length)) + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop

var int dir = 1
dir := close > shortStopPrev ? 1 : close < longStopPrev ? -1 : dir

var color longColor = color.green
var color shortColor = color.red

longStopPlot = plot(dir == 1 ? longStop : na, title='Long Stop', style=plot.style_linebr, linewidth=2, color=color.new(longColor, 0))
buySignal = dir == 1 and dir[1] == -1
plotshape(buySignal ? longStop : na, title='Long Stop Start', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(longColor, 0))
plotshape(buySignal and showLabels ? longStop : na, title='Buy Label', text='Buy', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(longColor, 0), textcolor=color.new(color.white, 0))

shortStopPlot = plot(dir == 1 ? na : shortStop, title='Short Stop', style=plot.style_linebr, linewidth=2, color=color.new(shortColor, 0))
sellSignal = dir == -1 and dir[1] == 1
plotshape(sellSignal ? shortStop : na, title='Short Stop Start', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(shortColor, 0))
plotshape(sellSignal and showLabels ? shortStop : na, title='Sell Label', text='Sell', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(shortColor, 0), textcolor=color.new(color.white, 0))

changeCond = dir != dir[1]
alertcondition(changeCond, title='Alert: CE Direction Change', message='Chandelier Exit has changed direction!')
alertcondition(buySignal, title='Alert: CE Buy', message='Chandelier Exit Buy!')
alertcondition(sellSignal, title='Alert: CE Sell', message='Chandelier Exit Sell!')

// Define initial capital
initial_capital =25

// Trigger buy order and close buy order on sell signal
if buySignal
    strategy.entry("Buy", strategy.long, qty = initial_capital / close)

if sellSignal
    strategy.close("Buy")


Lebih banyak