Sumber daya yang dimuat... Pemuatan...

Tren Mengikuti Strategi Stop Trailing Average True Range

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

img

Gambaran umum

Strategi ini menggunakan Average True Range (ATR) sebagai dasar untuk Trailing Stop (TS), secara dinamis menyesuaikan posisi stop-loss untuk mengikuti tren. Ketika harga bergerak ke arah yang menguntungkan, posisi stop-loss disesuaikan untuk mengunci keuntungan; ketika harga bergerak ke arah yang merugikan, posisi stop-loss tetap tidak berubah, dan setelah harga mencapai harga stop-loss, posisi ditutup. Kunci strategi ini terletak pada penyesuaian dinamis posisi stop-loss, yang dapat melindungi keuntungan dan memungkinkan keuntungan untuk berkembang seiring tren berlanjut.

Prinsip Strategi

  1. Menghitung ATR sebagai dasar untuk trailing stop. ATR mencerminkan volatilitas pasar dan digunakan untuk mengukur ukuran rata-rata perubahan harga.
  2. Hitung jarak stop-loss nLoss berdasarkan ATR dan parameter KeyValue. KeyValue adalah perkalian yang ditentukan pengguna, dan nLoss adalah hasil perkalian KeyValue dan ATR, yang menunjukkan bahwa jarak stop-loss adalah beberapa kali ATR.
  3. Menghitung posisi stop trailing dinamis xATRTrailingStop. Untuk posisi panjang, ditetapkan pada nilai yang lebih besar dari harga tertinggi dari lilin sebelumnya dan (close - nLoss); untuk posisi pendek, ditetapkan pada nilai yang lebih kecil dari harga terendah dari lilin sebelumnya dan (close + nLoss).
  4. Menghasilkan sinyal masuk. Ketika harga penutupan melintasi di atas xATRTrailingStop, pergi panjang; ketika harga penutupan melintasi di bawah xATRTrailingStop, pergi pendek.

Analisis Keuntungan

  1. Posisi stop-loss disesuaikan secara dinamis dengan fluktuasi harga, memungkinkan keuntungan untuk dikunci sementara juga memungkinkan keuntungan untuk memperluas sebagai tren berlanjut.
  2. Posisi stop loss didasarkan pada perhitungan ATR, yang dapat mencerminkan volatilitas pasar secara objektif dan lebih fleksibel dan efektif dibandingkan dengan stop loss tetap yang ditetapkan secara subjektif.
  3. Dengan memperkuat ATR dengan parameter KeyValue, Anda dapat mengatur jarak stop-loss yang sesuai berdasarkan preferensi risiko Anda.

Analisis Risiko

  1. Strategi yang mengikuti tren berkinerja buruk di pasar yang bergolak, dan ketika tren sepihak tidak jelas, sering stop-loss dapat menyebabkan kehilangan dana dengan cepat.
  2. Waktu masuk bergantung pada sinyal silang antara harga penutupan dan garis stop-loss dinamis, yang dapat menghasilkan stop-loss kecil berturut-turut di pasar yang bergolak.
  3. Strategi stop trailing tidak dapat menghindari kesenjangan yang disebabkan oleh berita bearish atau bullish yang signifikan, dan kecepatan penyesuaian posisi stop-loss tidak dapat mengikuti kecepatan perubahan harga, sehingga kerugian aktual jauh lebih besar daripada kerugian yang dapat dikendalikan yang diharapkan.

Arah Optimalisasi

  1. Indikator penilaian tren, seperti sistem rata-rata bergerak dan indikator momentum, dapat ditambahkan ke strategi untuk hanya memasuki pasar ketika tren jelas, menghindari perdagangan yang sering di pasar yang bergolak.
  2. Strategi mengambil keuntungan dapat dipertimbangkan, seperti menghitung ukuran posisi berdasarkan rumus Kelly, menetapkan titik keuntungan tetap untuk retracement stop-profit, dll, untuk mengurangi kemungkinan potensi pengembalian keuntungan pada akhir tren.
  3. Untuk bukaan gap, batas stop-loss maksimum dapat ditetapkan, seperti jumlah tetap atau persentase tetap.

Ringkasan

Strategi stop trailing ATR dapat secara dinamis menyesuaikan posisi stop loss berdasarkan besarnya fluktuasi harga dan dapat mencapai hasil yang baik di pasar tren. Namun, strategi ini juga memiliki risiko seperti ketidakmampuan untuk mengatasi pasar yang bergolak, frekuensi stop loss yang berlebihan, dan kesulitan menghindari celah. Untuk mengatasi kekurangan ini, strategi dapat dioptimalkan dan ditingkatkan dalam hal penilaian tren, strategi take profit, dan batas stop loss maksimum. Dengan penyesuaian ini, kemampuan beradaptasi dan profitabilitas 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 banyak