Este algoritmo negocia oro basado en su acción de precio. Cálcula los precios más altos y más bajos de los últimos 20 candelabros para determinar el rango de fluctuación de precios. Va largo cuando el precio rompe el precio más alto del último candelabro y va corto cuando el precio rompe el precio más bajo del último candelabro. Después de abrir posiciones largas o cortas, establece los precios de toma de ganancias y parada de pérdidas.
La lógica central de este algoritmo se basa en la teoría de la ruptura. Registra los precios más altos y más bajos de los 20 candeleros más recientes para determinar el rango de fluctuación de precios. Cuando el precio excede este rango, se considera una ruptura y, por lo tanto, se activa una señal comercial.
Como se puede ver, las señales comerciales de este algoritmo provienen de juicios de ruptura de precios.
El algoritmo tiene las siguientes ventajas:
En general, la idea central de este algoritmo es clara y lógica. Es simple de implementar y fácil de comprender el tiempo de entrada. También permite controlar la pérdida de una sola operación. Por lo tanto, es una estrategia de negociación cuantitativa con una gran practicidad.
El algoritmo también tiene algunos riesgos:
Para controlar y optimizar estos riesgos, pueden adoptarse las siguientes medidas:
El algoritmo se puede optimizar en los siguientes aspectos:
Combinar con otros indicadoresLos promedios móviles, bandas de Bollinger, etc. pueden introducirse para confirmar las señales de ruptura y aumentar la confiabilidad.
Optimización de parámetrosSe pueden probar diferentes combinaciones de parámetros para optimizar la longitud del período de ruptura y encontrar configuraciones de parámetros más confiables.
Optimización de beneficios y pérdidasAjuste dinámico de la distancia de toma de ganancias y stop loss basado en la volatilidad, etc.
Optimización del tamaño de la posiciónOptimizar el algoritmo de posicionamiento para reducir el impacto de pérdida de una sola operación.
Aprendizaje automáticoAprenda de una gran cantidad de datos históricos para encontrar automáticamente mejores combinaciones de parámetros.
Las optimizaciones anteriores pueden mejorar aún más la estabilidad, la tasa de ganancia y la rentabilidad del algoritmo.
El algoritmo de negociación de oro genera señales de negociación basadas en la acción del precio y la teoría de la ruptura. La idea es simple y clara, fácil de implementar y muy práctica. Mientras tanto, también tiene algunos riesgos y necesita una mayor optimización para mejorar la estabilidad y la rentabilidad. En general, es adecuado para el comercio de oro y una estrategia cuantitativa eficiente. Al combinar otros indicadores, optimización de parámetros, optimización de ganancias/stop loss, etc., se puede lograr un mejor rendimiento de la estrategia.
/*backtest start: 2022-12-06 00:00:00 end: 2023-12-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("XAUUSD Price Action Strategy", overlay=true) // Define input parameters takeProfit = input(500, "Take Profit") stopLoss = input(200, "Stop Loss") // Calculate price action highs = ta.highest(high, 20) lows = ta.lowest(low, 20) priceRange = highs - lows breakoutLevel = highs[1] // Define conditions for long and short trades longCondition = high > breakoutLevel and close > highs[1] shortCondition = low < breakoutLevel and close < lows[1] // Execute long and short trades with take profit and stop loss if longCondition strategy.entry("Long", strategy.long) strategy.exit("Long Exit", "Long", limit = close + takeProfit, stop = close - stopLoss) if shortCondition strategy.entry("Short", strategy.short) strategy.exit("Short Exit", "Short", limit = close - takeProfit, stop = close + stopLoss) // Plot breakout level plot(breakoutLevel, color=color.blue, title="Breakout Level") // Highlight long and short trade signals on the chart bgcolor(longCondition ? color.green : na, transp=80) bgcolor(shortCondition ? color.red : na, transp=80)