
La estrategia utiliza diferentes indicadores técnicos y métodos de negociación para identificar automáticamente las tendencias en el mercado del oro, detectar oportunidades de reversión y realizar operaciones de seguimiento de alta eficiencia. La estrategia se aplica en varios marcos de tiempo y puede obtener un excelente efecto tanto en la línea corta como en la línea media del día.
La estrategia se basa principalmente en el cruce de la línea de equilibrio, la banda de Brin, la resistencia de soporte, la forma del precio y otros indicadores técnicos para la evaluación de las señales de negociación. Para determinar la gran tendencia, se combina el uso de promedios móviles rápidos, promedios móviles lentos, RSI e indicadores MACD para la confirmación de múltiples ángulos, para capturar con precisión el cambio de tendencia.
El proceso de la estrategia se puede dividir en los siguientes pasos:
Para juzgar las grandes tendenciasCalculación de la MA rápida y la MA lenta. La MA rápida se utiliza como un bullish y la MA lenta se utiliza como un bearish. La RSI y el MACD se utilizan como indicadores de confirmación.
Encuentra puntos de entrada específicosLa entrada se realiza principalmente a través de la observación de la banda de Brin, la ruptura de los puntos de resistencia de soporte clave y las señales de la forma del precio.
Ajuste de la parada de pérdida: Calcule la amplitud de la parada de pérdidas a través del indicador ATR y establezca una posición de parada razonable.
Filtración de brechas falsas: algunos indicadores pueden presentar señales erróneas, se filtra mediante el uso combinado de varios indicadores.
La estrategia tiene las siguientes ventajas:
Juzgar desde múltiples perspectivasEl uso de una combinación de diferentes indicadores permite juzgar el mercado desde más dimensiones, evitando la probabilidad de error de un solo indicador.
Se aplica a todo el mundoLa estrategia puede tener un mejor resultado tanto en el comercio intradiario como en el de línea media larga.
Flexibilidad y variabilidadLa estrategia incluye una gran variedad de métodos de negociación que se pueden adaptar a diferentes etapas del mercado.
El riesgo está bajo control: Control de la apertura de riesgo de cada unidad a través de stop loss y stop-loss, con la máxima retirada de la estrategia de control en su conjunto.
El principal riesgo de esta estrategia es:
Probabilidad de error en el indicadorA pesar de la reducción de la probabilidad de error de cálculo mediante la combinación de varios indicadores, aún existe un riesgo de error de cálculo en situaciones extremas, un riesgo que es difícil de evitar por completo en el comercio de indicadores técnicos.
La incertidumbre inversaLa estrategia puede no ser suficiente para ser un punto de inflexión de tendencia real y no puede predecir perfectamente las tendencias futuras. Esto requiere controlar el riesgo mediante el stop loss.
Riesgo de una falsa brechaLos eventos de ruptura pueden ser brechas falsas de corta duración, como las que se presentan de forma repentina. Esto debe ser juzgado observando el marco de tiempo y la configuración de precios a un nivel más amplio.
Dificultad para optimizar los parámetros: La estrategia contiene varios parámetros, y los diferentes parámetros tienen un impacto importante en los resultados, pero es difícil ajustarlos para encontrar el parámetro óptimo. Esto debe mitigarse equilibrando varios indicadores y manteniendo los parámetros estables.
La estrategia se puede optimizar principalmente en las siguientes direcciones:
Integración del modeloIntroducción de modelos como el aprendizaje automático para ayudar a determinar el peso de las señales de indicadores y la probabilidad de mercado.
Optimización de parámetros de adaptaciónOptimización de los parámetros mediante la introducción de algunos indicadores dinámicos o mecanismos de adaptación basados en cambios en las entidades de precios.
Los eventos impulsan las transaccionesLa introducción de factores basados en eventos, noticias, etc. en el mercado del oro como una fuente de señales de negociación.
Modelo de cartera de coberturaConstruir una cartera con posiciones largas y cortas, con una cobertura mutua entre los diferentes modelos, puede reducir el riesgo sistémico del mercado.
En general, la integración de la estrategia de seguimiento de la inversión del oro utiliza una variedad de métodos de negociación para controlar el riesgo al mismo tiempo que detecta el cambio de tendencia, una estrategia eficaz para el comercio de alta frecuencia. La estrategia también tiene un gran espacio de optimización para obtener ganancias adicionales más duraderas y más estables mediante la ampliación de la fuente de señal y la introducción de mecanismos de adaptación y modelo de gestión de riesgos.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("PratikMoney_Gold_Swing_v2.0", overlay=true)
// Trend Following
fastMA = ta.sma(close, 50)
slowMA = ta.sma(close, 200)
rsiValue = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdDivergence = macdLine - signalLine
trendUp = ta.crossover(fastMA, slowMA) and rsiValue > 50 and macdLine > 0 and macdDivergence > 0
trendDown = ta.crossunder(fastMA, slowMA) and rsiValue < 50 and macdLine < 0 and macdDivergence < 0
// Breakout Trading
resistanceLevel = input(1500, title="Resistance Level")
supportLevel = input(1400, title="Support Level")
breakoutUp = close > resistanceLevel and close[1] <= resistanceLevel
breakoutDown = close < supportLevel and close[1] >= supportLevel
// Moving Average Crossovers
shortTermMA = ta.sma(close, 9)
longTermMA = ta.sma(close, 21)
maCrossUp = ta.crossover(shortTermMA, longTermMA)
maCrossDown = ta.crossunder(shortTermMA, longTermMA)
// Bollinger Bands
bbUpper = ta.sma(close, 20) + 2 * ta.stdev(close, 20)
bbLower = ta.sma(close, 20) - 2 * ta.stdev(close, 20)
bbBreakoutUp = close > bbUpper and close[1] <= bbUpper
bbBreakoutDown = close < bbLower and close[1] >= bbLower
// Support and Resistance
bounceFromSupport = close < supportLevel and close[1] >= supportLevel
reversalFromResistance = close > resistanceLevel and close[1] <= resistanceLevel
// Fibonacci Retracement
fibonacciLevel = input(0.618, title="Fibonacci Level")
fibRetraceUp = ta.lowest(low, 50) >= ta.highest(high, 50) * (1 - fibonacciLevel)
fibRetraceDown = ta.highest(high, 50) <= ta.lowest(low, 50) * (1 + fibonacciLevel)
// Price Action Trading
pinBar = close < open and low < close[1] and close > open[1]
engulfing = close < open and close[1] > open and close[2] > open[1] and close > open[2]
priceActionLong = pinBar or engulfing and close > open
priceActionShort = pinBar or engulfing and close < open
// Scalping
scalpLong = ta.change(close) > 0.1
scalpShort = ta.change(close) < -0.1
// Volatility Breakout
atrLevel = input(1.5, title="ATR Multiplier")
volatilityBreakoutUp = close > ta.sma(close, 20) + atrLevel * ta.atr(20)
volatilityBreakoutDown = close < ta.sma(close, 20) - atrLevel * ta.atr(20)
// Strategy Execution
strategy.entry("TrendLong", strategy.long, when=trendUp)
strategy.entry("TrendShort", strategy.short, when=trendDown)
strategy.entry("BreakoutLong", strategy.long, when=breakoutUp)
strategy.entry("BreakoutShort", strategy.short, when=breakoutDown)
strategy.entry("VolatilityLong", strategy.long, when=volatilityBreakoutUp)
strategy.entry("VolatilityShort", strategy.short, when=volatilityBreakoutDown)
strategy.entry("PriceActionLong", strategy.long, when=priceActionLong)
strategy.entry("PriceActionShort", strategy.short, when=priceActionShort)
strategy.entry("ScalpLong", strategy.long, when=scalpLong)
strategy.entry("ScalpShort", strategy.short, when=scalpShort)
// Plotting
plot(supportLevel, color=color.green, title="Support Level")
plot(resistanceLevel, color=color.red, title="Resistance Level")
plot(bbUpper, color=color.blue, title="Upper Bollinger Band")
plot(bbLower, color=color.blue, title="Lower Bollinger Band")
// Plotting Price Action Signals
plotshape(series=priceActionLong, title="Price Action Long", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=priceActionShort, title="Price Action Short", color=color.red, style=shape.triangledown, location=location.abovebar)
// Plotting Scalping Signals
plotshape(series=scalpLong, title="Scalp Long", color=color.green, style=shape.triangleup, location=location.abovebar)
plotshape(series=scalpShort, title="Scalp Short", color=color.red, style=shape.triangledown, location=location.belowbar)