Esta estratégia combina dois indicadores de crossover, RSI e estocástico para buscar oportunidades de negociação de alta probabilidade na negociação de curto prazo através da confirmação conjunta de vários indicadores técnicos. A estratégia usa o crossover de médias móveis de 20 dias e 50 dias como o principal sinal de negociação e incorpora RSI e indicadores estocásticos como julgamentos auxiliares para verificar os sinais de negociação. Além disso, a estratégia também emprega ATR como a base para stop-loss e take-profit, gerenciando posições com uma relação risco-recompensa fixa, esforçando-se para obter retornos estáveis enquanto controla os riscos.
Esta estratégia é uma estratégia de negociação de curto prazo baseada em médias móveis duplas, RSI e indicadores estocásticos. Controla os riscos de negociação enquanto capta oportunidades de tendência através da confirmação conjunta de vários indicadores técnicos. A lógica da estratégia é clara, os parâmetros são fáceis de otimizar e é adequada para investidores envolvidos em negociação de curto prazo.
/*backtest start: 2024-05-17 00:00:00 end: 2024-06-16 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Cruce de Medias con Filtros de RSI y Estocástico", overlay=true) // Definir parámetros de las medias móviles fast_length = input(20, title="Periodo de Media Rápida") slow_length = input(50, title="Periodo de Media Lenta") // Calcular medias móviles fast_ma = ta.sma(close, fast_length) slow_ma = ta.sma(close, slow_length) // Añadir filtro RSI rsi_length = input(7, title="Periodo del RSI") rsi = ta.rsi(close, rsi_length) rsi_overbought = input(70, title="RSI Sobrecomprado") rsi_oversold = input(30, title="RSI Sobrevendido") // Añadir filtro Estocástico k_period = input(7, title="K Periodo del Estocástico") d_period = input(3, title="D Periodo del Estocástico") smooth_k = input(3, title="Suavización del Estocástico") stoch_k = ta.sma(ta.stoch(close, high, low, k_period), smooth_k) stoch_d = ta.sma(stoch_k, d_period) stoch_overbought = input(80, title="Estocástico Sobrecomprado") stoch_oversold = input(20, title="Estocástico Sobrevendido") // Definir niveles de stop-loss y take-profit con ratio 2:1 risk = input(1, title="Riesgo en ATR") reward_ratio = input(2, title="Ratio Riesgo/Beneficio") atr_length = input(14, title="Periodo del ATR") atr = ta.atr(atr_length) stop_loss = risk * atr take_profit = reward_ratio * stop_loss // Señal de compra long_condition = ta.crossover(fast_ma, slow_ma) and rsi < rsi_overbought and stoch_k < stoch_overbought if (long_condition) strategy.entry("Compra", strategy.long) // Señal de venta short_condition = ta.crossunder(fast_ma, slow_ma) and rsi > rsi_oversold and stoch_k > stoch_oversold if (short_condition) strategy.entry("Venta", strategy.short) // Configurar Stop-Loss y Take-Profit para posiciones largas if (strategy.position_size > 0) strategy.exit("Take Profit/Stop Loss", from_entry="Compra", stop=low - stop_loss, limit=high + take_profit) // Configurar Stop-Loss y Take-Profit para posiciones cortas if (strategy.position_size < 0) strategy.exit("Take Profit/Stop Loss", from_entry="Venta", stop=high + stop_loss, limit=low - take_profit) // Plotear las medias móviles en el gráfico plot(fast_ma, title="Media Rápida (50)", color=color.blue) plot(slow_ma, title="Media Lenta (200)", color=color.red) // Plotear RSI y Estocástico en subgráficos hline(rsi_overbought, "RSI Sobrecomprado", color=color.red) hline(rsi_oversold, "RSI Sobrevendido", color=color.green) plot(rsi, title="RSI", color=color.orange, linewidth=2) hline(stoch_overbought, "Estocástico Sobrecomprado", color=color.red) hline(stoch_oversold, "Estocástico Sobrevendido", color=color.green) plot(stoch_k, title="Estocástico K", color=color.purple, linewidth=2) plot(stoch_d, title="Estocástico D", color=color.purple, linewidth=1, style=plot.style_stepline)