
Esta estrategia es un sistema de trading de seguimiento de tendencias basado en múltiples indicadores técnicos. Combina la tendencia de media móvil, el RSI de sobrecompra y sobreventa y los indicadores de volatilidad ATR para mejorar la tasa de éxito y la rentabilidad de las transacciones a través del análisis de mercado multidimensional. La lógica central de la estrategia es confirmar la dirección de la tendencia a través del cruce de las EMA de corto y largo plazo, utilizar el indicador RSI para filtrar los avances falsos y, finalmente, combinar ATR para ajustar dinámicamente el tiempo de retención para lograr una comprensión precisa de La tendencia.
La estrategia utiliza los promedios móviles EMA de 20 y 50 días como base principal para el juicio de tendencias. Cuando la EMA de corto plazo cruza por encima de la EMA de largo plazo, se confirma una tendencia alcista; de lo contrario, se confirma una tendencia bajista. Sobre la base de la confirmación de la tendencia, se introduce el indicador RSI para juzgar la sobrecompra y la sobreventa. Cuando el RSI es inferior a 30 y entra en el rango de sobreventa y está en una tendencia alcista, se activa una señal de compra; cuando el RSI es superior a 70 y entra en el rango de sobrecompra y está en una tendencia bajista, se activa una señal larga; Cuando , se activa la señal corta. Al mismo tiempo, el indicador ATR se utiliza para medir la volatilidad del mercado. Las transacciones solo se ejecutan cuando el ATR es mayor que el umbral establecido para evitar operar en un entorno de mercado con una volatilidad demasiado baja.
Esta estrategia construye un sistema de trading relativamente completo a través de un análisis exhaustivo de tres dimensiones: tendencia de media móvil, sobrecompra y sobreventa del RSI y volatilidad del ATR. La principal ventaja de la estrategia radica en la validación cruzada de múltiples indicadores, lo que puede reducir eficazmente el impacto de las señales falsas. Todavía hay mucho margen para optimizar la estrategia mediante la optimización de parámetros y la mejora del mecanismo de control de riesgos. Se recomienda que los comerciantes ajusten los parámetros de acuerdo con el entorno específico del mercado e implementen estrictamente medidas de control de riesgos cuando lo utilicen en operaciones reales.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("High Win Rate BTC Strategy", overlay=true)
// 参数设置
emaShortLength = input(20, title="Short EMA Length")
emaLongLength = input(50, title="Long EMA Length")
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
atrLength = input(14, title="ATR Length")
atrThreshold = input(1.0, title="ATR Threshold")
holdBars = input(5, title="Hold Bars")
// 计算指标
emaShort = ta.ema(close, emaShortLength)
emaLong = ta.ema(close, emaLongLength)
rsi = ta.rsi(close, rsiLength)
atr = ta.atr(atrLength)
// 趋势确认
uptrend = emaShort > emaLong
downtrend = emaShort < emaLong
// 入场条件
longCondition = uptrend and close > emaShort and rsi < rsiOverbought and atr > atrThreshold
shortCondition = downtrend and close < emaShort and rsi > rsiOversold and atr > atrThreshold
// 出场条件
var int holdCount = 0
if (strategy.position_size > 0 or strategy.position_size < 0)
holdCount := holdCount + 1
else
holdCount := 0
exitCondition = holdCount >= holdBars
// 执行交易
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
if (exitCondition)
strategy.close_all()
// 绘制指标
plot(emaShort, color=color.blue, title="Short EMA")
plot(emaLong, color=color.red, title="Long EMA")
hline(rsiOverbought, "RSI Overbought", color=color.red)
hline(rsiOversold, "RSI Oversold", color=color.green)
plot(rsi, color=color.purple, title="RSI")