
La estrategia es un sistema de negociación adaptativo basado en un índice relativamente fuerte (RSI) para capturar cambios en la dinámica del mercado mediante el monitoreo de las zonas de sobreventa y sobreventa del indicador RSI. El sistema integra un mecanismo inteligente de gestión de posiciones, que incluye controles de stop-loss en varios niveles y una función de liquidación automática de posiciones, diseñada para lograr una sólida relación riesgo-beneficio.
El núcleo de la estrategia está basado en la señal de sobrecompra y sobreventa del indicador RSI, que combina múltiples condiciones de negociación:
La estrategia capta los cambios en la dinámica del mercado a través de los indicadores RSI, junto con un sistema de gestión de riesgos completo, para lograr un sistema de negociación totalmente automatizado. Aunque con ciertas limitaciones, se espera lograr un rendimiento de negociación más estable después de mejorar la dirección de optimización recomendada. La ventaja central de la estrategia reside en la integridad y el grado de automatización del sistema, adecuado para el desarrollo y optimización de la infraestructura básica.
/*backtest
start: 2024-11-04 00:00:00
end: 2024-11-11 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Harmony Signal Flow By Arun", overlay=true)
// RSI settings
rsiLength = 14
rsiSource = close
rsiValue = ta.rsi(rsiSource, rsiLength)
// Define RSI levels
buyLevel = 30
sellLevel = 70
// Buy signal: RSI crosses above 30
buyCondition = ta.crossover(rsiValue, buyLevel)
// Sell signal: RSI crosses below 70
sellCondition = ta.crossunder(rsiValue, sellLevel)
// Ensure only one order at a time
if (strategy.position_size == 0) // No open positions
if (buyCondition)
strategy.entry("Buy", strategy.long)
else if (sellCondition)
strategy.entry("Sell", strategy.short)
// Stop-loss and target conditions
var float stopLossBuy = na
var float targetBuy = na
var float stopLossSell = na
var float targetSell = na
if (strategy.position_size > 0) // If there's an open buy position
stopLossBuy := strategy.position_avg_price - 100 // Set stop-loss for buy
targetBuy := strategy.position_avg_price + 150 // Set target for buy
if (close <= stopLossBuy)
strategy.close("Buy", comment="Stoploss Hit")
else if (close >= targetBuy)
strategy.close("Buy", comment="Target Hit")
if (strategy.position_size < 0) // If there's an open sell position
stopLossSell := strategy.position_avg_price + 100 // Set stop-loss for sell
targetSell := strategy.position_avg_price - 150 // Set target for sell
if (close >= stopLossSell)
strategy.close("Sell", comment="Stoploss Hit")
else if (close <= targetSell)
strategy.close("Sell", comment="Target Hit")
// Close all positions by 3:25 PM
if (hour(timenow) == 15 and minute(timenow) == 25)
strategy.close_all(comment="Close all positions at 3:25 PM")
// Plot buy/sell signals on the chart
plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Plot RSI and levels
hline(buyLevel, "Buy Level", color=color.green)
hline(sellLevel, "Sell Level", color=color.red)
plot(rsiValue, "RSI", color=color.blue)