Este artículo presenta un sistema de estrategia de negociación que combina múltiples indicadores técnicos. El sistema integra varios métodos de análisis técnico, incluidos MACD, EMA, promedios móviles simples y MA100, junto con gestión de riesgos y filtros de tiempo, destinados a proporcionar a los operadores una solución de negociación integral.
Esta estrategia es un sistema de análisis técnico de múltiples estrategias que comprende cuatro subestrategias independientes: estrategia MACD, estrategia EMA8, estrategia Simple MA y estrategia MA100. El sistema permite a los operadores elegir con flexibilidad diferentes tipos de estrategias basadas en las condiciones del mercado, con cada subestrategia teniendo su lógica de entrada y salida única, respaldada por mecanismos de gestión de riesgos correspondientes.
Estrategia MACD: Captura las tendencias del mercado mediante la identificación de patrones ascendentes y descendentes consecutivos en el histograma MACD. Las señales de compra se activan por tres barras ascendentes consecutivas del histograma, mientras que las señales de venta se activan por dos barras descendentes consecutivas.
Estrategia EMA8: Combina la EMA semanal 8, los máximos anteriores y el análisis del patrón de velas. El sistema entra en posiciones largas cuando el precio se rompe por encima de la EMA semanal 8, cierra por encima de los máximos anteriores y muestra patrones de velas fuertes. Esta estrategia incluye un ajuste de stop-loss del 2%.
Estrategia MA sencilla: Utiliza múltiples promedios móviles exponenciales (10,15,25,35,40 períodos) para construir un sistema de seguimiento de tendencia. Las señales de compra se activan cuando los MA de período más corto están por encima de los MA de período más largo y los precios se rompen por encima del MA de período más corto. Se implementa un stop-loss del 2%.
Estrategia MA100: Combina MA de 100 días, MA de 8 días y MA de 25 días, incorporando un oscilador estocástico para condiciones de sobreventa. El sistema busca oportunidades de compra en áreas de sobreventa cuando los MA a corto plazo están por encima de los MA a largo plazo y los precios fluctúan cerca de MA100. Esta estrategia emplea una configuración de stop-loss del 3%.
Este sistema de negociación de análisis técnico multiestrategia proporciona a los operadores un marco de decisión comercial integral mediante la integración de múltiples métodos de análisis técnico maduros. Las principales ventajas del sistema se encuentran en su flexibilidad y capacidades de control de riesgos, aunque requiere que los operadores tengan un profundo conocimiento de los mercados para una correcta implementación. A través de la optimización y mejora continuas, este sistema tiene el potencial de convertirse en una herramienta de negociación cada vez más refinada.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ v5 code implements multiple trading strategies //@version=5 strategy("Multi-Strategy Trading System", overlay=true) // Input parameters for customization strategy_type = input.string("MACD", "Strategy Type", options=["MACD", "EMA8", "SimpleMA", "MA100"]) show_macd = input.bool(true, "Show MACD Signals") show_ema = input.bool(true, "Show EMA Signals") show_ma = input.bool(true, "Show MA Signals") // MACD Strategy Components [macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) // Function to detect three consecutive ascending histogram bars isThreeAscendingBars(hist) => not na(hist[3]) and hist[3] < hist[2] and hist[2] < hist[1] and hist[1] < hist[0] // Function to detect two consecutive descending histogram bars isTwoDescendingBars(hist) => not na(hist[2]) and hist[2] > hist[1] and hist[1] > hist[0] // EMA Strategy Components ema8_weekly = request.security(syminfo.tickerid, "W", ta.ema(close, 8)) weeklyHigh = request.security(syminfo.tickerid, "W", high) previousWeekHigh = weeklyHigh[1] isStrongCandleWeekly = request.security(syminfo.tickerid, "W", close > open and (close - open) > (high - low) * 0.6) // Simple MA Strategy Components ema10 = ta.ema(close, 10) ema15 = ta.ema(close, 15) ema25 = ta.ema(close, 25) ema35 = ta.ema(close, 35) ema40 = ta.ema(close, 40) // MA100 Strategy Components ma100 = ta.sma(close, 100) ma8 = ta.sma(close, 8) ma25 = ta.sma(close, 25) // Corrected Stochastic Oscillator Calculation stochK = ta.stoch(high, low, close, 14) stochD = ta.sma(stochK, 3) isOversold = stochK < 20 and stochD < 20 // MACD Strategy Logic if strategy_type == "MACD" // Buy condition: Three ascending histogram bars after lowest if isThreeAscendingBars(histLine) strategy.entry("MACD Buy", strategy.long) // Sell condition: Two descending histogram bars after highest if isTwoDescendingBars(histLine) strategy.close("MACD Buy") // EMA8 Strategy Logic if strategy_type == "EMA8" if close > ema8_weekly and close > previousWeekHigh and isStrongCandleWeekly strategy.entry("EMA8 Buy", strategy.long) strategy.exit("EMA8 Exit", "EMA8 Buy", stop=low - (low * 0.02)) // Simple MA Strategy Logic if strategy_type == "SimpleMA" isUptrend = ema10 > ema15 and ema15 > ema25 and ema25 > ema35 and ema35 > ema40 if isUptrend and close > ema10 and close[1] <= ema10[1] strategy.entry("MA Buy", strategy.long) strategy.exit("MA Exit", "MA Buy", stop=low - (low * 0.02)) // MA100 Strategy Logic if strategy_type == "MA100" isUptrend = ma8 > ma100 and ma25 > ma100 isPriceNearMA100 = math.abs(close - ma100) / ma100 * 100 < 1 if isUptrend and isPriceNearMA100 and isOversold strategy.entry("MA100 Buy", strategy.long) strategy.exit("MA100 Exit", "MA100 Buy", stop=low - (low * 0.03)) // Plotting components for visualization plot(ma100, "MA100", color=color.blue, linewidth=2) plot(ema8_weekly, "EMA8 Weekly", color=color.yellow, linewidth=2) plot(series=histLine, title="MACD Histogram", style=plot.style_histogram, color=histLine > 0 ? color.green : color.red)