Sumber dimuat naik... memuat...

Hentikan Pengangkutan Dinamik Lanjutan dengan Strategi Penargetan Risiko-Penghargaan

Penulis:ChaoZhang, Tarikh: 2024-12-11 14:57:09
Tag:RSIATRSMA

img

Ringkasan

Strategi ini adalah sistem dagangan canggih yang menggabungkan hentian yang dinamik, nisbah risiko-balasan, dan keluar RSI yang melampau. Ia mengenal pasti corak tertentu (corak bar selari dan corak pin bar) untuk masuk perdagangan, sambil menggunakan ATR dan paras terendah baru-baru ini untuk penempatan stop loss dinamik, dan menentukan sasaran keuntungan berdasarkan nisbah risiko-balasan yang telah ditetapkan. Sistem ini juga menggabungkan mekanisme keluar pasaran yang terlalu banyak dibeli / terlalu banyak dijual berdasarkan RSI.

Prinsip Strategi

Logik teras merangkumi beberapa komponen utama:

  1. Isyarat kemasukan berdasarkan dua corak: corak bar selari (bar menaik besar mengikuti bar menurun besar) dan corak bar pin berganda.
  2. Hentian trailing dinamik menggunakan pengganda ATR yang diselaraskan dengan paras terendah N-bar baru-baru ini, memastikan tahap stop loss disesuaikan dengan turun naik pasaran.
  3. Sasaran keuntungan yang ditetapkan berdasarkan nisbah risiko-balasan tetap, dikira menggunakan nilai risiko ® untuk setiap perdagangan.
  4. Nilai kedudukan yang dikira secara dinamik berdasarkan jumlah risiko tetap dan nilai risiko setiap dagangan.
  5. RSI mekanisme keluar melampau mencetuskan penutupan kedudukan pada pasaran melampau.

Kelebihan Strategi

  1. Pengurusan Risiko Dinamik: Tahap Stop Loss menyesuaikan secara dinamik dengan turun naik pasaran melalui gabungan ATR dan paras terendah baru-baru ini.
  2. Kawalan kedudukan yang tepat: Ukuran kedudukan berdasarkan jumlah risiko tetap memastikan risiko yang konsisten setiap perdagangan.
  3. Mekanisme Keluar Berbilang Dimensi: Menggabungkan hentian, sasaran keuntungan tetap, dan ekstrem RSI.
  4. Arahan Dagangan Fleksibel: Pilihan untuk perdagangan panjang sahaja, pendek sahaja, atau dua arah.
  5. Persediaan Risiko-Ganjaran yang jelas: Nisbah risiko-ganjaran yang telah ditentukan menentukan sasaran keuntungan yang jelas untuk setiap perdagangan.

Risiko Strategi

  1. Risiko ketepatan pengiktirafan corak: Potensi pengenalan palsu bar paralel dan bar pin.
  2. Risiko slippage dalam Stop Loss: Mungkin menghadapi slippage yang ketara di pasaran yang tidak menentu.
  3. Keluar RSI yang Premature: Boleh membawa kepada keluar awal di pasaran trend yang kuat.
  4. Batasan nisbah risiko-balasan tetap: nisbah risiko-balasan yang optimum mungkin berbeza-beza di bawah keadaan pasaran.
  5. Risiko overfitting pengoptimuman parameter: Kombinasi parameter berbilang boleh membawa kepada pengoptimuman berlebihan.

Arahan Pengoptimuman Strategi

  1. Peningkatan Isyarat Masuk: Tambah lebih banyak penanda pengesahan corak seperti indikator jumlah dan trend.
  2. Rasio Risiko-Bajaran Dinamis: Penyesuaian nisbah risiko-balasan berdasarkan turun naik pasaran.
  3. Penyesuaian Parameter Pintar: Memperkenalkan algoritma pembelajaran mesin untuk pengoptimuman parameter dinamik.
  4. Pengesahan pelbagai jangka masa: Tambah mekanisme pengesahan isyarat di pelbagai jangka masa.
  5. Klasifikasi persekitaran pasaran: Gunakan set parameter yang berbeza untuk keadaan pasaran yang berbeza.

Ringkasan

Ini adalah strategi dagangan yang direka dengan baik yang menggabungkan beberapa konsep analisis teknikal yang matang untuk membina sistem dagangan yang lengkap. Kekuatan strategi terletak pada sistem pengurusan risiko yang komprehensif dan peraturan dagangan yang fleksibel, sementara perhatian perlu diberikan kepada pengoptimuman parameter dan kesesuaian pasaran. Melalui arah pengoptimuman yang dicadangkan, terdapat ruang untuk peningkatan strategi.


/*backtest
start: 2024-11-10 00:00:00
end: 2024-12-09 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ZenAndTheArtOfTrading | www.TheArtOfTrading.com
// @version=5
strategy("Trailing stop 1", overlay=true)

// Get user input 
int     BAR_LOOKBACK    = input.int(10, "Bar Lookback")
int     ATR_LENGTH      = input.int(14, "ATR Length")
float   ATR_MULTIPLIER  = input.float(1.0, "ATR Multiplier")
rr                      = input.float(title="Risk:Reward", defval=3)

// Basic definition
var float shares=na
risk = 1000
var float R=na
E = strategy.position_avg_price

// Input option to choose long, short, or both
side = input.string("Long", title="Side", options=["Long", "Short", "Both"])

// RSI exit option
RSIexit = input.string("Yes", title="Exit at RSI extreme?", options=["Yes", "No"])
RSIup = input(75)
RSIdown = input(25)

// Get indicator values 
float atrValue = ta.atr(ATR_LENGTH)

// Calculate stop loss values
var float trailingStopLoss = na 
float longStop  = ta.lowest(low, BAR_LOOKBACK) - (atrValue * ATR_MULTIPLIER)
float shortStop = ta.highest(high, BAR_LOOKBACK) + (atrValue * ATR_MULTIPLIER)

// Check if we can take trades 
bool canTakeTrades = not na(atrValue)
bgcolor(canTakeTrades ? na : color.red)

//Long pattern
    //Two pin bar
onepinbar = (math.min(close,open)-low)/(high-low)>0.6 and math.min(close,open)-low>ta.sma(high-low,14)
twopinbar = onepinbar and onepinbar[1]
notatbottom = low>ta.lowest(low[1],10)
    // Parallel
bigred = (open-close)/(high-low)>0.8 and high-low>ta.sma(high-low,14)
biggreen = (close-open)/(high-low)>0.8 and high-low>ta.sma(high-low,14)
parallel = bigred[1] and biggreen  
atbottom = low==ta.lowest(low,10)

// Enter long trades (replace this entry condition)
longCondition = parallel 
if (longCondition and canTakeTrades and  strategy.position_size == 0 and (side == "Long" or side == "Both"))
    R:= close-longStop
    shares:= risk/R
    strategy.entry("Long", strategy.long,qty=shares)

// Enter short trades (replace this entry condition)
shortCondition = parallel
if (shortCondition and canTakeTrades and strategy.position_size == 0 and (side == "Short" or side == "Both"))
    R:= shortStop - close
    shares:= risk/R
    strategy.entry("Short", strategy.short,qty=shares)

// Update trailing stop
if (strategy.position_size > 0)
    if (na(trailingStopLoss) or longStop > trailingStopLoss)
        trailingStopLoss := longStop
else if (strategy.position_size < 0)
    if (na(trailingStopLoss) or shortStop < trailingStopLoss)
        trailingStopLoss := shortStop
else
    trailingStopLoss := na

// Exit trades with trailing stop
strategy.exit("Long Exit",  "Long",  stop=trailingStopLoss, limit = E + rr*R )
strategy.exit("Short Exit", "Short", stop=trailingStopLoss, limit = E - rr*R)

//Close trades at RSI extreme
if ta.rsi(high,14)>RSIup and RSIexit == "Yes"
    strategy.close("Long")
if ta.rsi(low,14)<RSIdown and RSIexit == "Yes"
    strategy.close("Short")

// Draw stop loss 
plot(trailingStopLoss, "Stop Loss", color.red, 1, plot.style_linebr)

Berkaitan

Lebih lanjut