Strategi Rata-rata Pergerakan Stop Loss Penutupan Dinamis


Tanggal Pembuatan: 2024-01-29 15:52:43 Akhirnya memodifikasi: 2024-01-29 15:52:43
menyalin: 0 Jumlah klik: 621
1
fokus pada
1617
Pengikut

Strategi Rata-rata Pergerakan Stop Loss Penutupan Dinamis

Ringkasan

Strategi ini menggunakan pemikiran trailing stop yang dinamis, berdasarkan ATR dan nilai tertinggi harga untuk menghitung garis stop posisi pendek dan panjang. Bergabung dengan pemikiran Chandelier Exit, berdasarkan arah garis stop untuk menilai arah posisi pendek dan panjang.

Strategi ini memiliki fungsi ganda untuk menilai sinyal stop loss dan entry.

Prinsip Strategi

Strategi ini terdiri dari beberapa bagian utama:

  1. Garis stop loss jangka pendek berdasarkan ATR

ATR berdasarkan siklus panjang dan kelipatan mult yang ditetapkan oleh pengguna, ATR dihitung secara real time. Lalu, stop loss jangka panjang dan pendek dihitung berdasarkan ATR dan harga maksimum:

    longStop = 最高价 - ATR
    shortStop = 最低价 + ATR
  1. Mencari Keuntungan dari Terobosan

Bandingkan garis stop loss dari garis K sebelumnya dengan garis stop loss dari garis K saat ini. Jika garis stop loss dari garis K saat ini terobosan, sinyal perdagangan akan dikirim:

    长仓止损线上方突破,做多
    短仓止损线下方突破,做空
  1. Stop Loss dan Stop Stop Setup berdasarkan Return On Risk

Dari ATR, stop loss distance dan stop loss distance dihitung berdasarkan RRR yang ditetapkan pengguna. Anda juga dapat mengatur stop loss dan stop loss saat membuka posisi.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Tracking Stop Loss Dinamis, Stop Loss tepat waktu

Strategi ini mengadopsi jalur stop loss yang dilacak secara dinamis, yang memungkinkan stop loss dan pengendalian risiko penurunan.

  1. Selain itu juga memiliki fungsi stop loss dan entry judgement.

Garis Stop Loss ini juga digunakan sebagai kriteria untuk masuk dan menyederhanakan logika strategi.

  1. Tingkat RR yang dapat disetel

Mengambil keuntungan yang lebih besar sesuai dengan rasio risiko/pengembalian yang ditetapkan.

  1. Mudah dimengerti dan diperluas

Strategi ini dibuat dengan struktur yang sederhana, mudah dipahami dan dioptimalkan untuk ekspansi.

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Risiko bilateral

Strategi ini adalah strategi perdagangan bilateral dengan risiko over dan under.

  1. Ketergantungan pada parameter ATR

Pengaturan parameter ATR secara langsung mempengaruhi garis stop loss dan frekuensi perdagangan. Pengaturan yang salah dapat menyebabkan stop loss terlalu longgar atau frekuensi perdagangan terlalu tinggi.

  1. Adaptasi pasar tren

Strategi ini lebih cocok untuk situasi yang terjadi setelah perhitungan garis rata-rata dan tidak cocok untuk situasi yang terlalu kuat.

Untuk mengatasi risiko di atas, Anda dapat mengoptimalkan:

  1. Kombinasi dengan indikator tren

Menggabungkan indikator tren seperti MA untuk menilai tren pasar dan menghindari perdagangan berlawanan arah.

  1. Kombinasi parameter optimasi

Optimalkan parameter ATR dan RRR untuk membuat stop loss dan stop loss lebih masuk akal.

  1. Menambahkan kondisi filter

Meningkatkan kondisi penyaringan volume atau indikator volatilitas untuk memastikan kualitas transaksi.

Arah optimasi

Strategi ini masih bisa dioptimalkan lebih jauh:

  1. Menggabungkan pembelajaran mesin

Menggunakan model pembelajaran mesin untuk memprediksi tren harga, meningkatkan akurasi masuk.

  1. Menggunakan Options untuk membangun portofolio tanpa risiko

Menggunakan volatilitas harga varietas hedging opsi untuk membangun portofolio risiko bebas.

  1. Arbitrage lintas pasar

Arbitrage statistik antara pasar yang berbeda dan varietas yang berbeda menghasilkan Alpha yang stabil.

  1. Perdagangan Algorithmic

Melalui mesin perdagangan algoritmik untuk melakukan strategi yang efisien dan real-time trading.

Meringkaskan

Dalam artikel ini, kami menganalisis strategi perdagangan kuantitatif yang didasarkan pada stop loss pelacakan dinamis. Strategi ini memiliki manajemen stop loss dan penilaian sinyal perdagangan, yang dapat mengontrol risiko secara efektif. Kami juga menganalisis kelebihan strategi, risiko yang mungkin ada, dan ide-ide pengoptimalan selanjutnya.

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

//@version=5
strategy("Chandelier Exit with 1-to-1 Risk-Reward", shorttitle='CE', overlay=true)

// Chandelier Exit Logic
length = input.int(title='ATR Period', defval=22)
mult = input.float(title='ATR Multiplier', step=0.1, defval=3.0)
useClose = input.bool(title='Use Close Price for Extremums', 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

// Risk-Reward Ratio
riskRewardRatio = input.int(1, title="Risk-Reward Ratio", minval=1, maxval=10, step=1)

// Calculate Take Profit and Stop Loss Levels
takeProfitLevel = atr * riskRewardRatio
stopLossLevel = atr

// Entry Conditions
longCondition = dir == 1 and dir[1] == -1
shortCondition = dir == -1 and dir[1] == 1

// Entry Signals
if (longCondition)
    strategy.entry("Long", strategy.long, stop=close - stopLossLevel, limit=close + takeProfitLevel)
if (shortCondition)
    strategy.entry("Short", strategy.short, stop=close + stopLossLevel, limit=close - takeProfitLevel)

longStopPlot = plot(dir == 1 ? longStop : na, title='Long Stop', style=plot.style_linebr, linewidth=2, color=color.green)
shortStopPlot = plot(dir == 1 ? na : shortStop, title='Short Stop', style=plot.style_linebr, linewidth=2, color=color.red)

midPricePlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0, display=display.none, editable=false)

fill(midPricePlot, longStopPlot, color=color.new(color.green, 90), title='Long State Filling')
fill(midPricePlot, shortStopPlot, color=color.new(color.red, 90), title='Short State Filling')

// Alerts
if (dir != dir[1])
    strategy.entry("Direction Change", strategy.long, comment="Chandelier Exit has changed direction!")
if (longCondition)
    strategy.entry("Buy Signal", strategy.long, comment="Chandelier Exit Buy!")
if (shortCondition)
    strategy.entry("Sell Signal", strategy.short, comment="Chandelier Exit Sell!")