Sumber dimuat naik... memuat...

Trend EMA Multi-Level Fibonacci Mengikut Strategi

Penulis:ChaoZhang, Tarikh: 2024-11-29 15:09:56
Tag:FIBEMAMASMA

img

Ringkasan

Strategi ini adalah sistem perdagangan trend-mengikut yang menggabungkan retracements Fibonacci, purata bergerak eksponen berganda, dan analisis jumlah. Ia mengenal pasti peluang perdagangan berpotensi dengan menganalisis kedudukan harga pada tahap retracement Fibonacci yang berbeza (0, 0.382, 0.618, 1), mengesahkan trend dengan EMA pelbagai tempoh (20/50/100/200), dan menapis melalui ambang jumlah. Sistem ini termasuk mekanisme pengurusan risiko yang komprehensif dengan tetapan stop-loss peratusan tetap dan mengambil keuntungan.

Prinsip Strategi

Logik teras adalah berdasarkan analisis teknikal pelbagai peringkat:

  1. Menggunakan tetingkap 30 tempoh untuk mengira tahap retracement Fibonacci, menubuhkan rangka kerja sokongan dan rintangan
  2. Membina sistem pengesahan trend pelbagai peringkat menggunakan purata bergerak eksponen 20/50/100/200
  3. Memicu isyarat panjang apabila harga mendekati tahap 0.382 Fibonacci dengan jumlah di atas ambang dan harga di atas purata bergerak
  4. Memicu isyarat pendek apabila harga mendekati tahap 0.618 Fibonacci dengan jumlah di atas ambang dan harga di bawah purata bergerak
  5. Melaksanakan mekanisme mengambil keuntungan berasaskan peratusan dan menghentikan kerugian pada 6% dan 3% masing-masing

Kelebihan Strategi

  1. Analisis Multidimensional: Menggabungkan corak harga, trend, dan jumlah untuk meningkatkan kebolehpercayaan isyarat
  2. Pengurusan Risiko Komprehensif: Syarat Stop-Loss dan Take Profit yang jelas mengawal risiko setiap perdagangan dengan berkesan
  3. Pengesahan Trend yang menyeluruh: Sistem purata bergerak berganda dengan tepat menilai kekuatan trend dan arah
  4. Penapisan Isyarat yang ketat: Memerlukan kepuasan serentak harga, purata bergerak, dan keadaan jumlah
  5. Visualisasi yang tinggi: Sistem label yang jelas menandakan titik masuk dan keluar untuk analisis dan pengoptimuman

Risiko Strategi

  1. Risiko pasaran sampingan: Boleh menghasilkan isyarat palsu yang kerap di pasaran yang berbeza, pertimbangkan untuk menambah penapis osilator
  2. Risiko tergelincir: Keadaan jumlah boleh menyebabkan tergelincir pelaksanaan, memerlukan penyesuaian ambang jumlah
  3. Risiko Pengurusan Wang: Hentian peratusan tetap mungkin tidak fleksibel, pertimbangkan penyesuaian dinamik berdasarkan turun naik
  4. Kebergantungan trend: Strategi berfungsi dengan baik dalam trend yang jelas tetapi mungkin menghadapi kerugian berturut-turut semasa peralihan trend
  5. Sensitiviti Parameter: Kombinasi parameter berbilang meningkatkan risiko overfitting, memerlukan pengujian semula dalam jangka masa

Arahan pengoptimuman

  1. Pengaturan Stop-Loss Dinamik: Melaksanakan penunjuk ATR untuk penyesuaian stop-loss dinamik dan penyesuaian volatiliti pasaran yang lebih baik
  2. Kuantifikasi Kekuatan Trend: Tambah ADX atau penunjuk serupa untuk menyesuaikan saiz kedudukan berdasarkan kekuatan trend
  3. Analisis Volume Dipertingkatkan: Sertakan purata bergerak jumlah dan analisis jumlah yang tidak normal
  4. Peningkatan Masa Masuk: Menggabungkan RSI atau pengayun serupa untuk peluang overbought / oversold ke arah trend
  5. Pengurusan Posisi: Melaksanakan saiz kedudukan dinamik berdasarkan kekuatan trend dan turun naik pasaran

Ringkasan

Ini adalah strategi trend berikut pelbagai peringkat yang direka dengan baik yang membina kerangka analisis yang komprehensif menggunakan alat analisis teknikal klasik. Kekuatannya terletak pada pengesahan isyarat yang ketat dan pengurusan risiko yang lengkap, sementara perhatian perlu diberikan kepada prestasi di pasaran yang berbeza. Melalui pengoptimuman yang dicadangkan, terutamanya dalam pengurusan risiko dinamik dan pengukuran kekuatan trend, kestabilan dan keuntungan strategi dapat ditingkatkan lagi.


/*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")



Berkaitan

Lebih lanjut