Strategi mengikut arah aliran berdasarkan henti rugi anjakan semula ATR dan Fibonacci


Tarikh penciptaan: 2024-02-28 17:09:12 Akhirnya diubah suai: 2024-02-28 17:09:12
Salin: 0 Bilangan klik: 993
1
fokus pada
1617
Pengikut

Strategi mengikut arah aliran berdasarkan henti rugi anjakan semula ATR dan Fibonacci

Gambaran keseluruhan

Strategi ini menggabungkan jangkauan rata-rata pergerakan sebenar (ATR) dan garisan pengunduran Fibonacci untuk merancang strategi pemantauan trend dengan perlindungan hentian. Melakukan pemantauan trend apabila harga menembusi garisan pengunduran ATR; dan menggunakan garisan pengunduran Fibonacci untuk menetapkan sasaran harga, untuk mewujudkan pemantauan trend dan penghentian hentian.

Prinsip Strategi

  1. Hitung nilai ATR dan ATR tarik balik stop loss. ATR tarik balik stop loss adalah nilai ATR yang dikalikan dengan faktor ((seperti 3.5)).
  2. Hitung tiga Fibonacci retracement line sebagai sasaran stop loss. Lokasi Fibonacci retracement line adalah peratusan Fibonacci antara ATR retracement stop loss line dan new high/new low (seperti 61.8%, 78.6%, 88.6%).
  3. Apabila harga menembusi ATR, ia akan menghasilkan isyarat beli/jual untuk mengikuti trend.
  4. Tarikan penghentian adalah tiga garisan pengunduran Fibonacci.

Kelebihan Strategik

  1. Penutupan ATR dapat mengawal risiko dengan berkesan dan menghalang kerugian daripada berkembang.
  2. Matlamat Fibonacci adalah untuk mendapatkan keuntungan yang lebih besar dalam trend, dan mengelakkan mengejar kenaikan dan penurunan.
  3. Logik operasi strategi jelas, mudah dan mudah dilaksanakan.
  4. Faktor nisbah ATR dan tetapan Fibonacci boleh disesuaikan dengan pasaran yang berbeza.

Risiko Strategik

  1. Dalam keadaan gegaran, gangguan ATR mungkin sering dipicu, membawa risiko operasi yang kerap.
  2. Terdapat risiko yang tidak dapat diimbangi atau disesuaikan.
  3. Optimasi parameter yang munasabah diperlukan, seperti parameter kitaran ATR dan sebagainya.

Arah pengoptimuman

  1. Ia boleh digabungkan dengan indikator trend untuk mengelakkan operasi dalam keadaan goyah.
  2. Mekanisme kemasukan semula boleh ditambah untuk mengurangkan risiko kehilangan panggilan balik.
  3. Ujian dan pengoptimuman untuk kitaran ATR, kelipatan ATR, parameter Fibonacci.

ringkaskan

Strategi ini mengintegrasikan dua kaedah analisis teknikal penting, ATR Stop dan Fibonacci Target, yang dapat mengoptimumkan keuntungan dalam trend, dan boleh menggunakan Stop untuk mengawal risiko, merupakan strategi trend yang sangat praktikal. Dengan pengoptimuman lanjut, strategi dapat dibuat lebih stabil dan lebih sesuai dengan keadaan.

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