这是一个基于双均线交叉结合RSI指标的量化交易策略,同时集成了动态止盈止损机制。策略利用9周期和21周期的指数移动平均线(EMA)作为主要趋势判断指标,配合相对强弱指数(RSI)作为过滤条件,通过设定动态的止盈止损位来管理风险和收益。
策略采用快速EMA(9周期)和慢速EMA(21周期)的交叉来捕捉趋势变化。当快线向上穿越慢线且RSI低于70时,开立多头仓位;当快线向下穿越慢线且RSI高于30时,开立空头仓位。每笔交易都设置了1.5%的止盈和1%的止损,这种动态止盈止损机制可以根据入场价格自动调整具体的止盈止损位置。
这是一个结构清晰、逻辑严谨的量化交易策略。通过均线交叉捕捉趋势,RSI过滤入场时机,动态止盈止损管理风险。虽然存在一定局限性,但通过建议的优化方向可以进一步提升策略的稳定性和盈利能力。策略适合作为基础框架,根据具体交易品种和市场情况进行针对性优化。
/*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")