
Se trata de una estrategia de negociación auto-adaptativa basada en señales de cruce de doble equilátero. La estrategia utiliza una media móvil simple (SMA) de 14 y 28 ciclos para generar señales de negociación, y combina un mecanismo de stop loss y stop loss ajustable para lograr una gestión equilibrada de los riesgos y ganancias. La estrategia utiliza un método de gestión de fondos fijos, con un capital inicial de 2000 y una inversión de 200 por transacción.
La lógica central de la estrategia se basa en la relación cruzada entre dos promedios móviles simples de diferentes períodos. Cuando la media corta (de 14 períodos) sube cruzando la media larga (de 28 períodos), se produce una señal de multiplicación; cuando la media corta baja cruzando la media larga, se produce una señal de ruptura. Al mismo tiempo, la estrategia introduce un mecanismo de parada y parada basado en porcentajes, configurado en 2% y 4%, respectivamente, diseñado para ajustar automáticamente las posiciones de parada y parada en función de los precios de mercado.
Se trata de una estrategia de negociación estructurada con claridad y rigurosidad lógica. La transmisión de señales de negociación mediante el cruce de dos líneas equiláteras, combinada con un mecanismo de suspensión de pérdidas adaptado, permite la captura de oportunidades de negociación y el control del riesgo. Aunque hay cierto espacio para la optimización de la estrategia, el diseño general cumple con los principios básicos de la negociación cuantitativa.
/*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")