
Esta estratégia de construir uma estratégia de negociação através da calculação do indicador RSI e definir um intervalo de overbought e oversold, combinando o stop loss dinâmico e o retorno do lucro-alvo. Faça um curto-circuito quando você atravessa o intervalo de oversold no indicador RSI e faça um ganho quando você atravessa o intervalo de oversold, e configure um tracking stop loss e o lucro-alvo para sair da posição.
Esta estratégia usa o indicador RSI de 14 dias para determinar a forma técnica do mercado. O indicador RSI reflete a proporção de movimento de alta e baixa durante um período de tempo para determinar se o mercado está sobrecomprado ou sobrevendido. A duração do RSI nesta estratégia é de 14 anos.
Além disso, a estratégia também usa um mecanismo de tracking de perda dinâmica. Quando se detém uma posição multi-cabeça, o preço de tracking de perda é de 97% do preço de fechamento; quando se detém uma posição de cabeça vazia, o preço de tracking de perda é de 103% do preço de fechamento. Isso permite bloquear a maior parte dos lucros, evitando que o stop loss seja sacudido.
Finalmente, a estratégia também usa o mecanismo de lucro-alvo. Quando o lucro da posse atinge 20%, a posição é retirada. Isso pode bloquear parte do lucro e evitar o retorno do lucro.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos que devem ser considerados:
Para os riscos acima mencionados, pode ser resolvido através da otimização dos parâmetros RSI, ajustando a amplitude de parada de perdas e relaxando adequadamente os requisitos de lucro-alvo.
A estratégia pode ser melhorada nas seguintes direções:
Esta estratégia é clara, usando o indicador RSI para determinar o super-compra e o super-venda, com o stop loss dinâmico e o retiro do lucro alvo. Os benefícios são fáceis de entender e implementar, o risco está controlado e é escalável. O próximo passo pode ser otimizado para melhorar a qualidade do sinal, os parâmetros de ajuste dinâmico, etc., para tornar a estratégia mais inteligente.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Modified RSI-Based Trading Strategy", overlay=true)
// RSI settings
rsiLength = input(14, title="RSI Length")
overboughtLevel = 70
oversoldLevel = 30
// User-defined parameters
trailingStopPercentage = input(3, title="Trailing Stop Percentage (%)")
profitTargetPercentage = input(20, title="Profit Target Percentage (%)")
rsiValue = ta.rsi(close, rsiLength)
var float trailingStopLevel = na
var float profitTargetLevel = na
// Entry criteria
enterLong = ta.crossover(rsiValue, oversoldLevel)
enterShort = ta.crossunder(rsiValue, overboughtLevel)
// Exit criteria
exitLong = ta.crossover(rsiValue, overboughtLevel)
exitShort = ta.crossunder(rsiValue, oversoldLevel)
// Trailing stop calculation
if (strategy.position_size > 0)
trailingStopLevel := close * (1 - trailingStopPercentage / 100)
if (strategy.position_size < 0)
trailingStopLevel := close * (1 + trailingStopPercentage / 100)
// Execute the strategy
if (enterLong)
strategy.entry("Buy", strategy.long)
if (exitLong or ta.crossover(close, trailingStopLevel) or ta.change(close) > profitTargetPercentage / 100)
strategy.close("Buy")
if (enterShort)
strategy.entry("Sell", strategy.short)
if (exitShort or ta.crossunder(close, trailingStopLevel) or ta.change(close) < -profitTargetPercentage / 100)
strategy.close("Sell")
// Plot RSI and overbought/oversold levels
plot(rsiValue, title="RSI", color=color.blue)
hline(overboughtLevel, "Overbought", color=color.red, linestyle=hline.style_dashed)
hline(oversoldLevel, "Oversold", color=color.green, linestyle=hline.style_dashed)