Esta estrategia es una estrategia comercial basada en múltiples indicadores técnicos. Genera señales de compra y venta en un marco de tiempo de 15 minutos considerando de forma integral indicadores como Bandas de Bollinger (BB), Medias Móviles (MA), MACD, RSI, Oscilador Estocástico (STOCH) y Precio Promedio ponderado por volumen (VWAP). Cuando múltiples indicadores cumplen simultáneamente con condiciones específicas, la estrategia genera una señal de compra o venta, mientras establece niveles de stop-loss y take-profit para gestionar el riesgo y bloquear las ganancias.
Al integrar múltiples indicadores técnicos, esta estrategia genera señales comerciales confiables en un marco de tiempo de 15 minutos. La estrategia tiene buenas capacidades de seguimiento de tendencias y medidas de gestión de riesgos, y puede lograr un rendimiento robusto en diferentes estados de mercado. Sin embargo, la estrategia también tiene ciertos riesgos de optimización de parámetros y riesgos de sobreajuste, y necesita mayor optimización y mejora. En el futuro, podemos considerar la introducción de más factores, stop-loss dinámico y take-profit, gestión de posiciones y otras medidas para mejorar la robustez y rentabilidad de la estrategia.
/*backtest start: 2024-04-26 00:00:00 end: 2024-05-26 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Gelişmiş Al-Sat Sinyalleri", overlay=true, process_orders_on_close=true) // 15 dakikalık grafik verileri fifteen_minute_close = request.security(syminfo.tickerid, "15", close) // Stop loss ve take profit seviyelerini hesaplamak için kullanılacak oranlar stop_loss_ratio = input.float(0.01, title="Stop Loss Oranı") take_profit_ratio = input.float(0.02, title="Take Profit Oranı") // Bollinger Bantları göstergesi length = input.int(20, title="BB Dönemi") mult = input.float(2.0, title="BB Çarpanı") basis = ta.sma(fifteen_minute_close, length) dev = mult * ta.stdev(fifteen_minute_close, length) upper = basis + dev lower = basis - dev // Moving Averages (Hareketli Ortalamalar) fast_ma = ta.sma(fifteen_minute_close, 10) slow_ma = ta.sma(fifteen_minute_close, 30) // MACD göstergesi macd_line = ta.ema(fifteen_minute_close, 12) - ta.ema(fifteen_minute_close, 26) macd_signal = ta.ema(macd_line, 9) macd_hist = macd_line - macd_signal // RSI göstergesi rsi = ta.rsi(fifteen_minute_close, 14) // Stochastic Oscillator (Stokastik Osilatör) kPeriod = input.int(14, title="Stochastic %K Periyodu") dPeriod = input.int(3, title="Stochastic %D Periyodu") smoothK = input.int(3, title="Stochastic %K Düzleştirme") k = ta.stoch(fifteen_minute_close, high, low, kPeriod) d = ta.sma(k, dPeriod) // Hacim ağırlıklı hareketli ortalamalar göstergesi (VWAP) vwap_length = input.int(20, title="VWAP Dönemi") vwap = ta.sma(volume * (high + low + fifteen_minute_close) / 3, vwap_length) / ta.sma(volume, vwap_length) // Al-Sat Sinyallerini hesaplayın long_signal = ta.crossover(fast_ma, slow_ma) and macd_line > macd_signal and rsi > 50 and fifteen_minute_close > vwap and k > d short_signal = ta.crossunder(fast_ma, slow_ma) and macd_line < macd_signal and rsi < 50 and fifteen_minute_close < vwap and k < d // Al ve Sat işaretlerini, yanlarında ok işaretleri olan üçgenlerle değiştirin plotshape(series=long_signal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(series=short_signal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) // Uzun ve kısa pozisyonlar için girişler if (long_signal) strategy.entry("long", strategy.long) strategy.exit("exit_long", "long", stop=fifteen_minute_close * (1 - stop_loss_ratio), limit=fifteen_minute_close * (1 + take_profit_ratio)) if (short_signal) strategy.entry("short", strategy.short) strategy.exit("exit_short", "short", stop=fifteen_minute_close * (1 + stop_loss_ratio), limit=fifteen_minute_close * (1 - take_profit_ratio))