Esta es una estrategia de seguimiento de tendencias basada en una combinación de indicadores técnicos, principalmente utilizando condiciones de sobrecompra/sobreventa de RSI, cruces de EMA y stop-loss dinámico para la negociación. La estrategia emplea un control de riesgo del 1,5% combinado con apalancamiento para amplificar los rendimientos. Su núcleo radica en confirmar tendencias a través de múltiples indicadores técnicos mientras se utilizan niveles dinámicos de toma de ganancias y stop-loss para proteger el capital. La estrategia está diseñada específicamente para las características de las cuentas pequeñas, adecuadas para operaciones rápidas y frecuentes.
La estrategia utiliza tres indicadores técnicos principales: RSI (Índice de Fuerza Relativa), EMA (Medio Móvil Exponencial) y ATR (Rango Verdadero Promedio). Las señales de entrada se confirman por cruces entre EMA a corto plazo (9 períodos) y EMA a largo plazo (21-períodos), mientras que requieren que el RSI esté dentro de rangos razonables (RSI largo <70, RSI corto>30). La estrategia emplea stop-loss dinámico basado en ATR, con niveles de take-profit establecidos en 4 veces el stop-loss, lo que permite la protección de ganancias mientras se controla el riesgo.
Esta es una estrategia de seguimiento de tendencias bien diseñada que utiliza múltiples indicadores técnicos para mejorar las tasas de éxito de las operaciones. La estrategia cuenta con mecanismos integrales de control de riesgos adecuados para cuentas pequeñas. Sin embargo, en el comercio en vivo, se debe prestar atención a las condiciones cambiantes del mercado, con ajustes oportunos de parámetros para adaptarse a diferentes estados del mercado. Se recomienda realizar pruebas de retroceso completas antes de la implementación en vivo y adaptarse gradualmente a las características de la estrategia utilizando posiciones pequeñas.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Aggressive Scalper Strategy", overlay=true) // Parameters account_balance = input.float(28.37, title="Account Balance", tooltip="Update this with your balance") risk_per_trade = input.float(0.015, title="Risk per Trade", tooltip="1.5% risk") leverage = input.int(2, title="Leverage", minval=1) stop_loss_percentage = input.float(0.015, title="Stop Loss Percentage", tooltip="1.5% stop loss") take_profit_multiplier = input.float(4, title="Take Profit Multiplier", tooltip="Take Profit is 4x Stop Loss") stop_loss_multiplier = input.float(2, title="Stop Loss Multiplier", tooltip="Dynamic Stop Loss Multiplier") // Trade Size Calculation position_size = account_balance * risk_per_trade / (stop_loss_percentage / leverage) trade_qty = position_size / close // This gives you the qty in terms of contracts // Indicators rsiLength = input.int(14, title="RSI Length") emaShort = input.int(9, title="Short-term EMA Length") emaLong = input.int(21, title="Long-term EMA Length") rsi = ta.rsi(close, rsiLength) emaShortLine = ta.ema(close, emaShort) emaLongLine = ta.ema(close, emaLong) // Entry Conditions longCondition = ta.crossover(emaShortLine, emaLongLine) and rsi < 70 shortCondition = ta.crossunder(emaShortLine, emaLongLine) and rsi > 30 // ATR for dynamic stop loss and take profit levels atrLength = input.int(14, title="ATR Length") atrMultiplier = input.float(1.5, title="ATR Multiplier") atr = ta.atr(atrLength) // Dynamic Take Profit and Stop Loss Levels longTakeProfitLevel = close + (atr * take_profit_multiplier) longStopLossLevel = close - (atr * stop_loss_multiplier) shortTakeProfitLevel = close - (atr * take_profit_multiplier) shortStopLossLevel = close + (atr * stop_loss_multiplier) // Strategy Execution if (longCondition) strategy.entry("Long", strategy.long, qty=trade_qty) strategy.exit("Take Profit/Stop Loss", from_entry="Long", limit=longTakeProfitLevel, stop=longStopLossLevel) if (shortCondition) strategy.entry("Short", strategy.short, qty=trade_qty) strategy.exit("Take Profit/Stop Loss", from_entry="Short", limit=shortTakeProfitLevel, stop=shortStopLossLevel) // Alert Conditions alertcondition(longCondition, title="Buy Signal", message="Long position entry signal detected.") alertcondition(shortCondition, title="Sell Signal", message="Short position entry signal detected.") // Display Information on Chart var table_info = table.new(position.top_right, 2, 2, frame_color=color.blue, frame_width=1) if (bar_index == na) table.cell(table_info, 0, 0, text="Aggressive Scalper", bgcolor=color.blue) table.cell(table_info, 1, 0, text="Account Balance: $" + str.tostring(account_balance), text_color=color.white) table.cell(table_info, 1, 1, text="Risk per Trade: " + str.tostring(risk_per_trade * 100) + "%", text_color=color.white) table.cell(table_info, 0, 1, text="Leverage: " + str.tostring(leverage) + "x", text_color=color.white)