Strategi penjejakan aliran purata pergerakan Fibonacci berbilang peringkat

FIB EMA MA SMA
Tarikh penciptaan: 2024-11-29 15:09:56 Akhirnya diubah suai: 2024-11-29 15:09:56
Salin: 0 Bilangan klik: 486
1
fokus pada
1617
Pengikut

Strategi penjejakan aliran purata pergerakan Fibonacci berbilang peringkat

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan untuk mengesan trend yang menggabungkan Fibonacci retracement, moving averages pelbagai indeks dan jumlah transaksi. Strategi ini mengesahkan trend dengan menganalisis di mana harga berada di pelbagai tahap Fibonacci retracement (<0.382, <0.618, <1.0), digabungkan dengan EMA pelbagai kitaran (<20/50/100/200) dan mengenal pasti peluang perdagangan yang berpotensi melalui penapisan nilai penurunan transaksi. Sistem ini direka bentuk dengan mekanisme pengurusan risiko yang lengkap, termasuk peratusan yang tetap untuk menghentikan kerugian dan penempatan.

Prinsip Strategi

Logik utama strategi ini adalah berdasarkan kepada pendekatan analisis teknikal bertingkat:

  1. Menggunakan 30 kitaran sebagai julat terbalik untuk mengira tahap Fibonacci retracement untuk membina kerangka sokongan dan rintangan pergerakan harga
  2. Membina sistem pengesahan trend bertingkat melalui purata bergerak indeks pada kitaran 20/50/100/200
  3. Apabila harga mendekati tahap Fibonacci 0.382 dan jumlah transaksi lebih besar daripada penurunan, isyarat lebih banyak akan dicetuskan jika harga berada di atas garis purata
  4. Apabila harga mendekati tahap Fibonacci 0.618 dan jumlah transaksi lebih besar daripada penurunan nilai, isyarat shorting akan dicetuskan jika harga berada di bawah garis rata-rata
  5. Sistem Stop Loss Berasaskan Peratusan, 6% dan 3%

Kelebihan Strategik

  1. Analisis pelbagai dimensi: menggabungkan tiga dimensi bentuk harga, trend dan jumlah transaksi untuk meningkatkan kebolehpercayaan isyarat
  2. Pengurusan risiko yang sempurna: menetapkan syarat-syarat yang jelas untuk menghentikan dan menghentikan kerugian, mengawal risiko setiap perdagangan dengan berkesan
  3. Pengesahan trend yang mencukupi: menggunakan sistem pelbagai garis rata untuk menilai kekuatan dan arah trend dengan lebih tepat
  4. Penapisan isyarat yang ketat: memerlukan syarat harga, garis purata dan jumlah transaksi untuk mengurangkan kemungkinan penembusan palsu
  5. Tingkat visibiliti yang tinggi: tempat masuk dan keluar yang jelas ditandakan melalui sistem label untuk memudahkan analisis dan pengoptimuman

Risiko Strategik

  1. Risiko pasaran bergolak: Isyarat palsu yang mungkin sering berlaku dalam pasaran bergolak horizontal, penapisan penunjuk golak disyorkan untuk ditingkatkan
  2. Risiko slippage: mungkin menghadapi slippage yang perlu disesuaikan dengan keadaan sebenar
  3. Risiko pengurusan wang: Stop loss peratusan tetap mungkin tidak fleksibel dalam beberapa keadaan dan disyorkan untuk disesuaikan dengan pergerakan kadar turun naik
  4. Kebergantungan trend: strategi berfungsi dengan baik dalam trend yang jelas, tetapi mungkin mengalami kerugian berturut-turut dalam tempoh peralihan trend
  5. Sensitiviti parameter: Kombinasi pelbagai parameter meningkatkan risiko overfit, yang perlu diuji semula dalam tempoh masa yang berbeza

Arah pengoptimuman strategi

  1. Pengoptimuman Hentian Dinamis: Cadangan untuk memperkenalkan penunjuk ATR untuk menyesuaikan jarak hentian secara dinamik, meningkatkan daya serap terhadap turun naik pasaran
  2. Kuantiti kekuatan trend: Indikator kekuatan trend seperti ADX boleh ditambah, meningkatkan kedudukan semasa trend kuat, mengurangkan perdagangan semasa trend lemah
  3. Peningkatan analisis kuantiti transaksi: disyorkan untuk meningkatkan analisis kuantiti transaksi rata-rata dan luar biasa untuk meningkatkan ketepatan analisis kuantiti transaksi
  4. Optimumkan masa masuk: anda boleh menggunakan RSI dan lain-lain untuk mencari peluang overbought dan oversold dalam arah trend
  5. Pengurusan kedudukan yang baik: disyorkan untuk menyesuaikan peratusan pegangan kedudukan mengikut kekuatan trend dan pergerakan kadar turun naik pasaran

ringkaskan

Ini adalah strategi pengesanan trend bertingkat yang dirancang dengan baik, yang membina kerangka analisis tiga dimensi dengan menggabungkan alat analisis teknikal klasik. Kelebihan strategi terletak pada kekukuhan pengesahan isyarat dan integriti pengurusan risiko, tetapi juga perlu berhati-hati terhadap prestasi dalam pasaran yang bergolak. Dengan arah pengoptimuman yang disyorkan, terutamanya dengan peningkatan dalam pengurusan risiko dinamik dan pengukuran kekuatan trend, kestabilan dan keuntungan strategi dijangka akan meningkat lebih lanjut.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ALD Fib Ema SAKALAM", overlay=true)

// Inputs
lookback = input.int(30, title="Lookback Period for Fibonacci", minval=10)
volumeThreshold = input.float(500000, title="24h Volume Threshold", step=50000)
stopLossPct = input.float(3.0, title="Stop Loss %", minval=0.5)
takeProfitPct = input.float(6.0, title="Take Profit %", minval=1.0)
maLength = input.int(50, title="Trend Filter MA Length", minval=1)

// Moving Average (Trend Filter)
ma = ta.sma(close, maLength)

// High and Low for Fibonacci Levels
var float swingHigh = na
var float swingLow = na

if bar_index > lookback
    swingHigh := ta.highest(high, lookback)
    swingLow := ta.lowest(low, lookback)

// Fibonacci Levels Calculation
fib0 = swingLow
fib1 = swingHigh
fib382 = swingHigh - 0.382 * (swingHigh - swingLow)
fib618 = swingHigh - 0.618 * (swingHigh - swingLow)

// 24-hour Volume Calculation
volume24h = ta.sma(volume, 24)

// Plot Fibonacci Levels
plot(fib0, title="Fib 0", color=color.new(color.red, 80))
plot(fib382, title="Fib 0.382", color=color.new(color.green, 50))
plot(fib618, title="Fib 0.618", color=color.new(color.blue, 50))
plot(fib1, title="Fib 1", color=color.new(color.red, 80))
plot(ma, title="Trend Filter MA", color=color.orange)

// Entry Condition: Buy Signal
longCondition = (close <= fib382) and (volume24h > volumeThreshold) and (close > ma)
if (longCondition)
    strategy.entry("Buy", strategy.long)
    label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white)

// Exit Conditions
takeProfitPrice = strategy.position_avg_price * (1 + takeProfitPct / 100)
stopLossPrice = strategy.position_avg_price * (1 - stopLossPct / 100)

// Place Exit Orders
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=takeProfitPrice, stop=stopLossPrice)

// Add Labels for Exits
if (strategy.position_size > 0)
    if (high >= takeProfitPrice)
        label.new(bar_index, high, "EXIT (Take Profit)", style=label.style_label_down, color=color.blue, textcolor=color.white)

    if (low <= stopLossPrice)
        label.new(bar_index, low, "EXIT (Stop Loss)", style=label.style_label_down, color=color.red, textcolor=color.white)

// Short Selling Conditions
shortCondition = (close >= fib618) and (volume24h > volumeThreshold) and (close < ma)
if (shortCondition)
    strategy.entry("Sell", strategy.short)
    label.new(bar_index, high, "SELL", style=label.style_label_down, color=color.red, textcolor=color.white)

// Short Exit Conditions
if (strategy.position_size < 0)
    strategy.exit("Short Take Profit/Stop Loss", from_entry="Sell", limit=strategy.position_avg_price * (1 - takeProfitPct / 100), stop=strategy.position_avg_price * (1 + stopLossPct / 100))

// Add EMA 20/50/100/200
shortest = ta.ema(close, 20)
short = ta.ema(close, 50)
longer = ta.ema(close, 100)
longest = ta.ema(close, 200)

plot(shortest, color=color.orange, title="EMA 20")
plot(short, color=color.red, title="EMA 50")
plot(longer, color=color.black, title="EMA 100")
plot(longest, color=color.green, title="EMA 200")