
Esta é uma estratégia de negociação quantitativa baseada em binários equiláteros cruzados em combinação com indicadores RSI, além de integrar um mecanismo de stop loss dinâmico. A estratégia utiliza a média móvel do índice de 9 ciclos e 21 ciclos (EMA) como principal indicador de determinação de tendências, com o índice de força relativa (RSI) como condição de filtragem, para gerenciar riscos e ganhos, definindo um stop loss dinâmico.
A estratégia usa um cruzamento de EMAs rápidas (de 9 ciclos) e lentas (de 21 ciclos) para capturar as mudanças de tendência. Quando a linha rápida atravessa a linha lenta para cima e o RSI está abaixo de 70, abrem posições multi-cabeça; quando a linha rápida atravessa a linha lenta para baixo e o RSI está acima de 30, abrem posições em branco.
Esta é uma estratégia de negociação quantitativa com estrutura clara e rigor lógico. O risco de gerenciamento de stop loss é gerenciado através de tendências de captura de cruzamento de linha uniforme, filtragem de entrada de RSI e tempo de parada dinâmica. Embora haja algumas limitações, a direção de otimização sugerida pode melhorar ainda mais a estabilidade e a lucratividade da estratégia.
/*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("Estrategia BTC/USDT - Ajustada", overlay=true)
// Definición de las EMAs
emaRapida = ta.ema(close, 9)
emaLenta = ta.ema(close, 21)
// Cálculo del RSI
rsi = ta.rsi(close, 14)
// Condiciones de compra y venta
longCondition = ta.crossover(emaRapida, emaLenta) and rsi < 70
shortCondition = ta.crossunder(emaRapida, emaLenta) and rsi > 30
// Ajustes de Take Profit y Stop Loss
takeProfitLong = close * 1.015 // Take Profit del 1.5% para Long
stopLossLong = close * 0.99 // Stop Loss del 1% para Long
takeProfitShort = close * 0.985 // Take Profit del 1.5% para Short
stopLossShort = close * 1.01 // Stop Loss del 1% para Short
// Ejecución de la estrategia
if (longCondition)
strategy.entry("Compra", strategy.long)
strategy.exit("Take Profit Long", "Compra", limit=takeProfitLong, stop=stopLossLong)
if (shortCondition)
strategy.entry("Venta", strategy.short)
strategy.exit("Take Profit Short", "Venta", limit=takeProfitShort, stop=stopLossShort)
// Visualización de las EMAs
plot(emaRapida, color=color.green, linewidth=2, title="EMA Rápida")
plot(emaLenta, color=color.red, linewidth=2, title="EMA Lenta")