
Il s’agit d’une stratégie de trading quantitative complète qui combine l’indicateur WaveTrend, les niveaux de retracement de Fibonacci et les indicateurs RSI. La stratégie utilise la coordination de plusieurs indicateurs techniques pour trouver les meilleures opportunités de trading dans les tendances du marché et les fluctuations de prix. La stratégie utilise un ajustement dynamique pour suivre en permanence les tendances du marché et améliore la précision des transactions grâce à de multiples confirmations de signaux.
La stratégie repose sur les éléments fondamentaux suivants :
Il s’agit d’une stratégie de trading quantitative complète avec une conception raisonnable et une logique claire. Grâce à l’utilisation coordonnée de plusieurs indicateurs techniques, nous pouvons saisir efficacement les opportunités du marché et contrôler les risques. Les principaux avantages de la stratégie sont son système de signal fiable et son mécanisme de contrôle des risques parfait. Grâce aux orientations d’optimisation recommandées, la stabilité et l’adaptabilité de la stratégie peuvent être encore améliorées.
/*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)