Strategi mengikuti tren berdasarkan ATR dan stop loss retracement Fibonacci


Tanggal Pembuatan: 2024-02-28 17:09:12 Akhirnya memodifikasi: 2024-02-28 17:09:12
menyalin: 0 Jumlah klik: 993
1
fokus pada
1617
Pengikut

Strategi mengikuti tren berdasarkan ATR dan stop loss retracement Fibonacci

Ringkasan

Strategi ini menggabungkan rentang rata-rata pergerakan nyata (ATR) dan Fibonacci retracement line untuk merancang strategi pelacakan tren dengan perlindungan stop loss. Melakukan pelacakan tren ketika harga menembus ATR retracement stop loss line; dan menggunakan Fibonacci retracement line untuk menetapkan target harga, untuk mencapai kolaborasi organik antara pelacakan tren dan stop loss.

Prinsip Strategi

  1. Hitung nilai ATR dan ATR withdrawal stop line. ATR withdrawal stop line adalah nilai ATR dikalikan dengan faktor ((seperti 3.5)).
  2. Hitung tiga Fibonacci retracement line sebagai target stop. Lokasi Fibonacci retracement line adalah persentase Fibonacci antara ATR retracement stop loss line dan new high/new low (misalnya 61,8%, 78,6%, 88,6%).
  3. Ketika harga menembus ATR, maka akan muncul sinyal buy/sell dan trend tracking.
  4. Targetnya adalah tiga garis mundur Fibonacci.

Keunggulan Strategis

  1. ATR stop loss dapat mengontrol risiko secara efektif dan mencegah pertumbuhan kerugian.
  2. Tujuan Fibonacci adalah untuk menghasilkan lebih banyak keuntungan dari tren, dan juga untuk menghindari mengejar ketinggalan.
  3. Logika operasi strategi jelas, sederhana, dan mudah diterapkan.
  4. Fleksibilitas ATR dan pengaturan Fibonacci dapat disesuaikan dengan pasar yang berbeda.

Risiko Strategis

  1. Dalam situasi getaran, ATR stop dapat sering dipicu, membawa risiko operasi yang sering.
  2. Ada beberapa risiko yang tidak terjawab dari penyesuaian atau penyesuaian.
  3. Optimasi parameter yang wajar diperlukan, seperti parameter siklus ATR dan sebagainya.

Arah optimasi

  1. Indikator ini dapat digabungkan dengan indikator untuk menilai tren dan menghindari operasi dalam situasi goncangan.
  2. Mekanisme masuk kembali dapat ditambahkan untuk mengurangi risiko missed callback.
  3. Untuk menguji dan mengoptimalkan siklus ATR, perkalian ATR, dan parameter Fibonacci.

Meringkaskan

Strategi ini mengintegrasikan dua metode analisis teknis penting, yaitu ATR stop loss dan Fibonacci target, yang dapat digunakan untuk mengoptimalkan keuntungan dalam tren dan juga untuk mengendalikan risiko dengan stop loss. Ini adalah strategi pelacakan tren yang sangat praktis. Dengan pengoptimalan lebih lanjut, strategi dapat dibuat lebih stabil dan lebih sesuai dengan situasi.

Kode Sumber Strategi
/*backtest
start: 2023-02-21 00:00:00
end: 2024-02-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ATR TrailStop with Fib Targets", overlay=true)

// Input parameters
atrPeriod = input(5, title="ATR Period")
ATRFactor = input(3.5, title="ATR Factor")
Fib1Level = input(61.8, title="Fib1 Level")
Fib2Level = input(78.6, title="Fib2 Level")
Fib3Level = input(88.6, title="Fib3 Level")

// ATR Calculation
atrValue = ta.atr(atrPeriod)

// ATR TrailStop Calculation
loss = ATRFactor * atrValue
trendUp = close[1] > close[2] ? (close - loss > close[1] ? close - loss : close[1]) : close - loss
trendDown = close[1] < close[2] ? (close + loss < close[1] ? close + loss : close[1]) : close + loss
trend = close > close[2] ? 1 : close < close[2] ? -1 : 0
trailStop = trend == 1 ? trendUp : trendDown

// Fibonacci Levels Calculation
ex = trend > trend[1] ? high : trend < trend[1] ? low : na
fib1 = ex + (trailStop - ex) * Fib1Level / 100
fib2 = ex + (trailStop - ex) * Fib2Level / 100
fib3 = ex + (trailStop - ex) * Fib3Level / 100

// Plotting
plot(trailStop, title="TrailStop", color=color.red)
plot(fib1, title="Fib1", color=color.white)
plot(fib2, title="Fib2", color=color.white)
plot(fib3, title="Fib3", color=color.white)

// Buy and Sell Signals
longCondition = close > trailStop and close[1] <= trailStop
shortCondition = close < trailStop and close[1] >= trailStop

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)