Sumber dimuat naik... memuat...

Trend Mengikut Strategi Penangguhan Jarak Benar Purata

Penulis:ChaoZhang, Tarikh: 2024-05-24 18:12:01
Tag:ATRTS

img

Ringkasan

Strategi ini menggunakan Julat Benar Purata (ATR) sebagai asas untuk Trailing Stop (TS), secara dinamik menyesuaikan kedudukan stop-loss untuk mengikuti trend. Apabila harga bergerak ke arah yang menguntungkan, kedudukan stop-loss diselaraskan dengan sewajarnya untuk mengunci keuntungan; apabila harga bergerak ke arah yang tidak menguntungkan, kedudukan stop-loss tetap tidak berubah, dan sebaik sahaja harga mencapai harga stop-loss, kedudukan ditutup. Kunci strategi ini terletak pada penyesuaian dinamik kedudukan stop-loss, yang dapat melindungi keuntungan dan membolehkan keuntungan berkembang ketika trend berterusan.

Prinsip Strategi

  1. Mengira ATR sebagai asas untuk hentian. ATR mencerminkan turun naik pasaran dan digunakan untuk mengukur saiz purata perubahan harga.
  2. Mengira jarak stop-loss nLoss berdasarkan parameter ATR dan KeyValue. KeyValue adalah pengganda yang ditakrifkan oleh pengguna, dan nLoss adalah hasil daripada KeyValue dan ATR, yang menunjukkan bahawa jarak stop-loss adalah beberapa kali ATR.
  3. Mengira kedudukan hentian yang dinamik xATRTrailingStop. Untuk kedudukan panjang, ia ditetapkan kepada yang lebih besar daripada harga tertinggi lilin sebelumnya dan (tutup - nLoss); untuk kedudukan pendek, ia ditetapkan kepada yang lebih kecil daripada harga terendah lilin sebelumnya dan (tutup + nLoss).
  4. Menghasilkan isyarat masuk. Apabila harga penutupan melintasi di atas xATRTrailingStop, pergi panjang; apabila harga penutupan melintasi di bawah xATRTrailingStop, pergi pendek.

Analisis Kelebihan

  1. Kedudukan stop-loss disesuaikan secara dinamik dengan turun naik harga, yang membolehkan keuntungan dikunci sambil juga membolehkan keuntungan berkembang apabila trend berterusan.
  2. Kedudukan stop-loss adalah berdasarkan pengiraan ATR, yang boleh mencerminkan turun naik pasaran secara objektif dan lebih fleksibel dan berkesan berbanding dengan stop-loss tetap yang ditetapkan secara subjektif.
  3. Dengan memperkuat ATR dengan parameter KeyValue, anda boleh menetapkan jarak stop-loss yang sesuai berdasarkan keutamaan risiko anda.

Analisis Risiko

  1. Strategi yang mengikuti trend tidak berfungsi dengan baik di pasaran yang bergolak, dan apabila trend sepihak tidak jelas, sering berhenti kerugian boleh menyebabkan kehilangan dana dengan cepat.
  2. Masa kemasukan bergantung pada isyarat silang antara harga penutupan dan garis stop-loss dinamik, yang boleh mengakibatkan stop-loss kecil berturut-turut dalam pasaran yang bergelombang.
  3. Strategi hentian berturut-turut tidak dapat mengelakkan jurang yang disebabkan oleh berita penurunan atau kenaikan yang signifikan, dan kelajuan penyesuaian kedudukan hentian tidak dapat mengikuti kelajuan perubahan harga, yang mengakibatkan kerugian sebenar jauh lebih besar daripada kerugian yang boleh dikawal yang dijangkakan.

Arah pengoptimuman

  1. Penunjuk penilaian trend, seperti sistem purata bergerak dan penunjuk momentum, boleh ditambah ke strategi untuk memasuki pasaran hanya apabila trend jelas, mengelakkan perdagangan yang kerap di pasaran yang bergelora.
  2. Strategi mengambil keuntungan boleh dipertimbangkan, seperti mengira saiz kedudukan berdasarkan formula Kelly, menetapkan mata keuntungan tetap untuk retracement stop-profit, dan lain-lain, untuk mengurangkan kemungkinan potensi keuntungan kembali pada akhir trend.
  3. Untuk pembukaan jurang, had stop-loss maksimum boleh ditetapkan, seperti jumlah tetap atau peratusan tetap.

Ringkasan

Strategi hentian trailing ATR dapat menyesuaikan kedudukan stop-loss secara dinamik berdasarkan besarnya turun naik harga dan dapat mencapai hasil yang baik di pasaran trend. Walau bagaimanapun, strategi ini juga mempunyai risiko seperti ketidakupayaan untuk mengatasi pasaran yang bergolak, kekerapan stop-loss yang berlebihan, dan kesukaran dalam mengelakkan pembukaan jurang. Untuk mengatasi kekurangan ini, strategi dapat dioptimumkan dan ditingkatkan dari segi penilaian trend, strategi mengambil keuntungan, dan had stop-loss maksimum. Dengan penyesuaian ini, kemampuan menyesuaikan diri dan keuntungan strategi diharapkan dapat ditingkatkan.


/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Long TAP", overlay=true)

// Constants
keyValueDefault = 3.0
keyValueStep = 0.5
atrPeriodDefault = 10

// Inputs
keyValue = input.float(keyValueDefault, title="Key Value")
atrPeriod = input.int(atrPeriodDefault, title="ATR Period")

// Calculations
xATR = ta.atr(atrPeriod)
nLoss = keyValue * xATR

// Trailing Stop Calculation
var float xATRTrailingStop = 0.0
xATRTrailingStop := ta.highest(math.max(nz(xATRTrailingStop[1], 0), close - nLoss), 1)
xATRTrailingStop := ta.lowest(math.min(nz(xATRTrailingStop, 0), close + nLoss), 1)

// Position Calculation
var int pos = 0
pos := nz(pos[1], 0)
if (close[1] < nz(xATRTrailingStop, 0) and close > nz(xATRTrailingStop, 0))
    pos := 1
else if (close[1] > nz(xATRTrailingStop, 0) and close < nz(xATRTrailingStop, 0))
    pos := -1

// Plotting Trailing Stop
var color xcolor = na
if (pos == -1)
    xcolor := color.red
else if (pos == 1)
    xcolor := color.green
plot(xATRTrailingStop, color=xcolor, title="Trailing Stop")

// Buy/Sell Signals
buySignal = ta.crossover(close, xATRTrailingStop)
sellSignal = ta.crossunder(close, xATRTrailingStop)

// Strategy
if (buySignal)
    strategy.entry("Long", strategy.long)
    label.new(bar_index, xATRTrailingStop, text="Buy Signal", color=color.green, style=label.style_label_up, yloc=yloc.belowbar)
if (sellSignal)
    strategy.entry("Short", strategy.short)
    label.new(bar_index, xATRTrailingStop, text="Sell Signal", color=color.red, style=label.style_label_down, yloc=yloc.abovebar)

// Alerts
alertcondition(buySignal, title='UT BOT Buy', message='UT BOT Buy')
alertcondition(sellSignal, title='UT BOT Sell', message='UT BOT Sell')


Berkaitan

Lebih lanjut