
A estratégia é um sistema de negociação auto-adaptável baseado em índices relativamente fortes (RSI) para capturar mudanças na dinâmica do mercado, monitorando as áreas de sobrecompra e sobrevenda do indicador RSI. O sistema integra mecanismos inteligentes de gerenciamento de posições, incluindo controle de stop loss em vários níveis e função de liquidação automática de posições, com o objetivo de obter uma robusta relação risco-recompensa.
O núcleo da estratégia baseia-se em sinais de overbought e oversold do RSI, combinando condições de negociação múltiplas:
A estratégia capta as mudanças na dinâmica do mercado através do indicador RSI, em conjunto com um sistema de gerenciamento de risco perfeito, para alcançar um sistema de negociação totalmente automatizado. Embora haja algumas limitações, espera-se alcançar um desempenho de negociação mais estável após a melhoria da direção de otimização recomendada. O principal benefício da estratégia reside na integridade e grau de automação do sistema, adequado para o desenvolvimento e otimização posteriores do quadro básico.
/*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)