Sumber dimuat naik... memuat...

Dynamic WaveTrend dan Strategi Dagangan Kuantitatif Bersepadu Fibonacci

Penulis:ChaoZhang, Tarikh: 2025-01-17 15:09:01
Tag:RSIWTFIBEMASMAHLC3

 Dynamic WaveTrend and Fibonacci Integrated Quantitative Trading Strategy

Ringkasan

Ini adalah strategi perdagangan kuantitatif yang komprehensif yang menggabungkan indikator WaveTrend, tahap retracement Fibonacci, dan indikator RSI. Strategi ini mencari peluang perdagangan yang optimum dalam trend pasaran dan turun naik harga melalui penyelarasan pelbagai penunjuk teknikal. Ia terus mengesan trend pasaran melalui penyesuaian dinamik dan meningkatkan ketepatan perdagangan melalui pelbagai pengesahan isyarat.

Prinsip Strategi

Strategi ini berdasarkan beberapa elemen teras: 1. Indikator WaveTrend: Membina saluran turun naik dinamik dengan mengira purata bergerak eksponensial (EMA) dan penyimpangan standard harga. Isyarat perdagangan dihasilkan apabila garis pantas (WT1) melintasi garis perlahan (WT2). 2. Tahap retracement Fibonacci: Strategi secara dinamik mengira dan mengemas kini harga tertinggi dan terendah, menggambar tiga tahap retracement Fibonacci utama pada 38.2%, 50% dan 61.8%. 3. Indikator RSI: Menggunakan Indeks Kekuatan Relatif (RSI) 14 tempoh untuk mengesahkan keadaan pasaran yang terlalu banyak dibeli dan terlalu banyak dijual. 4. Pengesahan isyarat berbilang: Strategi ini memerlukan kepuasan serentak keadaan tertentu termasuk isyarat silang WaveTrend, isyarat overbought / oversold RSI, dan hubungan harga dengan tahap Fibonacci.

Kelebihan Strategi

  1. Kebolehpercayaan isyarat yang tinggi: Mengurangkan kesan isyarat palsu dengan berkesan melalui penyelarasan pelbagai penunjuk teknikal.
  2. Kawalan risiko yang komprehensif: Melaksanakan mekanisme stop-loss dan mengambil keuntungan berdasarkan titik untuk mengawal risiko untuk setiap perdagangan dengan berkesan.
  3. Kemudahan penyesuaian yang kuat: Strategi dapat menyesuaikan tahap Fibonacci secara dinamik untuk menyesuaikan diri dengan persekitaran pasaran yang berbeza.
  4. Isyarat yang jelas: Isyarat perdagangan adalah jelas, mudah difahami dan dilaksanakan.

Risiko Strategi

  1. Risiko turun naik pasaran: Titik stop-loss boleh menjadi terlalu longgar di pasaran yang sangat turun naik.
  2. Kelewatan isyarat: Oleh kerana penggunaan purata bergerak dan penunjuk teknikal lain, isyarat mungkin mempunyai kelewatan tertentu.
  3. Risiko pengurusan wang: Tahap stop-loss dan mengambil keuntungan tetap mungkin tidak sesuai untuk semua persekitaran pasaran.

Arahan Pengoptimuman Strategi

  1. Stop-loss dan take-profit dinamik: Cadangkan menukar stop-loss dan take-profit titik tetap kepada mekanisme dinamik berdasarkan penunjuk ATR.
  2. Penapisan persekitaran pasaran: Tambah penapisan kekuatan trend untuk menyesuaikan parameter strategi dalam persekitaran pasaran yang berbeza.
  3. Pengoptimuman isyarat: Pertimbangkan untuk menambah penunjuk jumlah untuk membantu mengesahkan isyarat perdagangan.
  4. Pengoptimuman parameter: Cadangkan pengoptimuman parameter WaveTrend dan RSI untuk menyesuaikan diri dengan instrumen perdagangan dan jangka masa yang berbeza.

Ringkasan

Ini adalah strategi perdagangan kuantitatif yang direka dengan baik dengan logik yang jelas. Melalui penggunaan gabungan beberapa penunjuk teknikal, ia dapat menangkap peluang pasaran dengan berkesan sambil mengawal risiko. Keuntungan utama strategi ini terletak pada sistem isyarat yang boleh dipercayai dan mekanisme kawalan risiko yang komprehensif. Melalui arah pengoptimuman yang dicadangkan, kestabilan dan daya adaptasi strategi dapat ditingkatkan lagi.


/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-15 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//@version=5
strategy(title="Şinasi Özel Tarama", shorttitle="Şinasi Tarama", overlay=true)

// LazyBear WaveTrend Göstergesi
n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
obLevel1 = input(60, "Over Bought Level 1")
obLevel2 = input(53, "Over Bought Level 2")
osLevel1 = input(-60, "Over Sold Level 1")
osLevel2 = input(-53, "Over Sold Level 2")

ap = hlc3
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)

wt1 = tci
wt2 = ta.sma(wt1, 4)

plot(0, color=color.gray)
plot(obLevel1, color=color.red)
plot(osLevel1, color=color.green)
plot(obLevel2, color=color.red)
plot(osLevel2, color=color.green)

plot(wt1, color=color.green)
plot(wt2, color=color.red)
plot(wt1 - wt2, color=color.blue, style=plot.style_area, transp=80)
plot(ta.crossover(wt1, wt2) ? wt2 : na, color=color.black, style=plot.style_circles, linewidth=3)
plot(ta.crossover(wt1, wt2) ? wt2 : na, color=(wt2 - wt1 > 0 ? color.red : color.lime), style=plot.style_circles, linewidth=2)
barcolor(ta.crossover(wt1, wt2) ? (wt2 - wt1 > 0 ? color.aqua : color.yellow) : na)

// Fibonacci seviyelerini çizmek için yeni en yüksek ve en düşük fiyatları her yeni mumda güncelleme
var float fibLow = na
var float fibHigh = na

// Fibonacci seviyelerini yeniden hesapla
if (na(fibLow) or na(fibHigh))
    fibLow := low
    fibHigh := high
else
    fibLow := math.min(fibLow, low)
    fibHigh := math.max(fibHigh, high)

fib38 = fibLow + 0.382 * (fibHigh - fibLow)
fib50 = fibLow + 0.5 * (fibHigh - fibLow)
fib618 = fibLow + 0.618 * (fibHigh - fibLow)

plot(fib38, color=color.orange, linewidth=1, title="Fibonacci 38.2%")
plot(fib50, color=color.purple, linewidth=1, title="Fibonacci 50%")
plot(fib618, color=color.blue, linewidth=1, title="Fibonacci 61.8%")

// RSI hesaplama
rsiPeriod = input(14, title="RSI Length")
rsiValue = ta.rsi(close, rsiPeriod)
plot(rsiValue, color=color.blue, title="RSI")

// Buy ve Sell sinyalleri

// Buy sinyali
buyCondition = rsiValue < 30 and close < fib38 and close < fib50 and close < fib618 and ta.crossover(wt1, wt2)
plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")

// Sell sinyali
sellCondition = rsiValue > 70 and close > fib38 and close > fib50 and close > fib618 and ta.crossunder(wt1, wt2)
plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Strateji giriş ve çıkış
// Buy (Alım) işlemi
if (buyCondition)
    strategy.entry("Buy", strategy.long)

// Sell (Satım) işlemi
if (sellCondition)
    strategy.entry("Sell", strategy.short)

// TP (Take Profit) seviyesinin 3500 pip olarak ayarlanması
// SL (Stop Loss) seviyesinin 7000 pip olarak ayarlanması

pipValue = syminfo.mintick * 10 // Pip değeri

// Buy TP (Alım TP) seviyesi
buyTPCondition = buyCondition
strategy.exit("Buy Exit", "Buy", limit=close + 300 * pipValue, stop=close - 700 * pipValue)

// Sell TP (Satım TP) seviyesi
sellTPCondition = sellCondition
strategy.exit("Sell Exit", "Sell", limit=close - 3500 * pipValue, stop=close + 7000 * pipValue)


Berkaitan

Lebih lanjut