Strategi Purata Pergerakan Henti Rugi Penutupan Dinamik


Tarikh penciptaan: 2024-01-29 15:52:43 Akhirnya diubah suai: 2024-01-29 15:52:43
Salin: 0 Bilangan klik: 621
1
fokus pada
1617
Pengikut

Strategi Purata Pergerakan Henti Rugi Penutupan Dinamik

Gambaran keseluruhan

Strategi ini menggunakan pemikiran trailing stop yang dinamik, berdasarkan ATR dan nilai harga yang tinggi untuk mengira garis hentian jangka pendek. Menggabungkan pemikiran Chandelier Exit, berdasarkan arah garis hentian untuk menentukan arah posisi pendek panjang. Apabila garis hentian terobosan ke atas dinilai sebagai bullish, lakukan lebih banyak; Apabila garis hentian terobosan ke bawah dinilai sebagai bearish, lakukan kosong.

Strategi ini mempunyai fungsi berganda untuk menilai isyarat berhenti dan masuk.

Prinsip Strategi

Strategi ini terdiri daripada beberapa bahagian:

  1. Garis Hentian Panjang dan Pendek berdasarkan ATR

ATR dikira secara real-time berdasarkan tempoh dan kelipatan ATR yang ditetapkan oleh pengguna. Kemudian, garis hentian jangka panjang dan pendek dikira berdasarkan ATR dan paras paras harga:

    longStop = 最高价 - ATR
    shortStop = 最低价 + ATR
  1. Meneroka arah perdagangan

Bandingkan garis hentian K sebelumnya dengan garis hentian K semasa. Jika garis hentian K semasa pecah, isyarat perdagangan dikeluarkan:

    长仓止损线上方突破,做多
    短仓止损线下方突破,做空
  1. Set Stop Loss dan Stop Stop mengikut perbandingan ganjaran risiko

Dari ATR, jarak hentian dan jarak berhenti dikira berdasarkan RRR berbanding RRR yang ditetapkan oleh pengguna. Ia juga menetapkan perintah berhenti dan berhenti apabila anda membuka kedudukan.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Tracking Stop Loss secara Dinamis dan Stop Loss Pada Masa Yang Tepat

Strategi ini menggunakan garis hentian yang dikesan secara dinamik untuk menghentikan kerugian dan mengawal risiko penurunan.

  1. Ia mempunyai fungsi penghalang kerosakan dan penilaian masuk.

Garis hentian strategi ini juga digunakan sebagai syarat untuk masuk, mempermudah logik strategi.

  1. Rasio risiko-balas yang boleh ditetapkan

Mengikut nisbah risiko/balasan yang ditetapkan, usaha untuk mendapatkan keuntungan yang lebih tinggi adalah wajar.

  1. Mudah difahami dan diperluaskan

Strategi ini direka dengan mudah dan mudah difahami dan dioptimumkan.

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Risiko dua hala

Strategi ini adalah strategi perdagangan dua hala, dengan risiko over dan under.

  1. Ketergantungan ATR

Tetapan parameter ATR secara langsung mempengaruhi garis hentian dan frekuensi perdagangan. Tetapan yang tidak betul boleh menyebabkan hentian terlalu longgar atau frekuensi perdagangan terlalu tinggi.

  1. Kebolehan beradaptasi pasaran

Strategi ini lebih sesuai untuk penembusan selepas menyusun garis purata dan tidak sesuai untuk situasi yang terlalu trendy.

Untuk mengatasi risiko ini, anda boleh mengoptimumkan:

  1. Gabungan trend

Menggabungkan indikator trend seperti MA untuk menilai trend pasaran dan mengelakkan dagangan berlawanan.

  1. Kombinasi parameter pengoptimuman

Mengoptimumkan parameter ATR dan parameter RRR untuk membuat stop loss dan stop loss lebih munasabah.

  1. Tambah syarat penapisan

Meningkatkan syarat penapisan untuk jumlah transaksi atau indikator turun naik untuk memastikan kualiti transaksi.

Arah pengoptimuman

Strategi ini masih boleh dioptimumkan lagi:

  1. Pembelajaran Mesin

Menggunakan model pembelajaran mesin untuk meramalkan trend harga, meningkatkan ketepatan kemasukan.

  1. Options untuk membina portfolio tanpa risiko

Menggunakan kadar turun naik harga varian perlindungan pilihan untuk membina portfolio risiko bebas.

  1. Arbitrage merentas pasaran

Arbitrage statistik antara pasaran dan varieti yang berbeza untuk mendapatkan Alpha yang stabil.

  1. Perdagangan algoritma

Pemantauan strategi yang cekap dan perdagangan dalam talian melalui enjin dagangan algoritma.

ringkaskan

Artikel ini mengkaji secara mendalam strategi perdagangan kuantitatif yang berasaskan penghentian kehilangan pengesanan dinamik. Strategi ini mempunyai fungsi pengurusan penghentian dan penilaian isyarat perdagangan, yang dapat mengawal risiko dengan berkesan. Kami juga menganalisis kelebihan strategi, risiko yang mungkin ada, dan idea pengoptimuman seterusnya.

Kod 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!")