Esta es una estrategia de trading cuantitativa integral que combina el indicador WaveTrend, los niveles de retroceso de Fibonacci y el indicador RSI. La estrategia busca oportunidades de trading óptimas en las tendencias del mercado y las fluctuaciones de precios a través de la coordinación de múltiples indicadores técnicos.
La estrategia se basa en varios elementos fundamentales: Indicador de tendencia de onda: Construye un canal de volatilidad dinámica calculando la media móvil exponencial (EMA) y la desviación estándar de los precios. 2. Niveles de retroceso de Fibonacci: La estrategia calcula y actualiza dinámicamente los máximos y mínimos de precios, dibujando tres niveles clave de retroceso de Fibonacci en 38.2%, 50% y 61.8%. Indicador RSI: utiliza un índice de fortaleza relativa (RSI) de 14 períodos para confirmar las condiciones de sobrecompra y sobreventa del mercado. 4. Confirmación de múltiples señales: La estrategia requiere la satisfacción simultánea de condiciones específicas, incluidas las señales de cruce de tendencia de onda, las señales de sobrecompra / sobreventa del RSI y la relación de precios con los niveles de Fibonacci.
Esta es una estrategia de trading cuantitativa bien diseñada con lógica clara. A través del uso combinado de múltiples indicadores técnicos, puede capturar eficazmente las oportunidades del mercado mientras controla los riesgos. Las principales ventajas de la estrategia se encuentran en su sistema de señales confiable y un mecanismo integral de control de riesgos. A través de las direcciones de optimización sugeridas, la estabilidad y adaptabilidad de la estrategia pueden mejorarse aún más.
/*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)