Esta es una estrategia de negociación adaptativa basada en señales cruzadas de promedios móviles duales. La estrategia utiliza promedios móviles simples (SMA) de 14 períodos y 28 períodos para generar señales de negociación, combinados con mecanismos de stop-loss y take-profit ajustables para lograr una gestión equilibrada de riesgo-recompensa. La estrategia emplea una gestión de dinero fijo con un capital inicial de 2000 y 200 por operación.
La lógica central se basa en la relación de cruce entre dos SMA de períodos diferentes. Una señal larga se genera cuando el MA a corto plazo (14-período) cruza por encima del MA a largo plazo (28-período), y una señal corta se genera cuando el MA a corto plazo cruza por debajo del MA a largo plazo. La estrategia incorpora mecanismos de stop-loss y take-profit basados en porcentajes establecidos en el 2% y el 4% respectivamente, lo que permite el ajuste automático de los puntos de salida basados en los precios de mercado.
Esta es una estrategia comercial bien estructurada y lógicamente sólida. Captura oportunidades comerciales a través de cruces de promedio móvil duales mientras controla los riesgos con mecanismos de stop-loss y take-profit adaptativos. Si bien hay espacio para la optimización, el diseño general se adhiere a los principios comerciales cuantitativos fundamentales. A través de las direcciones de optimización sugeridas, la estabilidad y el potencial de rentabilidad de la estrategia se pueden mejorar aún más.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('My Custom Strategy', overlay = true) // Parámetros de las SMAs (Medias Móviles Simples) sma14 = ta.sma(close, 14) sma28 = ta.sma(close, 28) // Stop Loss y Take Profit configurables stop_loss_percent = input.float(2, title="Stop Loss %", minval=0.1, step=0.1) take_profit_percent = input.float(4, title="Take Profit %", minval=0.1, step=0.1) // Cálculo de stop loss y take profit stop_loss = close * (1 - stop_loss_percent / 100) take_profit = close * (1 + take_profit_percent / 100) // Condiciones de entrada para compra (long) longCondition = ta.crossover(sma14, sma28) if (longCondition) strategy.entry('Long', strategy.long, stop=stop_loss, limit=take_profit) plotshape(series=longCondition, color=color.new(color.blue, 0), style=shape.labelup, location=location.belowbar, text="BUY") // Condiciones de entrada para venta (short) shortCondition = ta.crossunder(sma14, sma28) if (shortCondition) strategy.entry('Short', strategy.short, stop=stop_loss, limit=take_profit) plotshape(series=shortCondition, color=color.new(color.red, 0), style=shape.labeldown, location=location.abovebar, text="SELL") // Visualización de las SMAs en el gráfico plot(sma14, color=color.blue, title="SMA 14") plot(sma28, color=color.red, title="SMA 28")