
Esta estrategia combina las medias móviles y los indicadores aleatorios para lograr un sistema de negociación de acciones automatizado. Utiliza dos medias móviles de diferentes longitudes y indicadores aleatorios para capturar las señales de tendencia y sobreventa de sobreventa, para realizar operaciones de compra y venta en función de la dirección de la tendencia y la señal del indicador de la zona de sobreventa de sobreventa.
Utiliza dos promedios móviles: la línea rápida (línea de 5 días) y la línea lenta (línea de 20 días). Cuando la línea rápida atraviesa la línea lenta, es una señal de compra, y cuando la línea baja lo hace, es una señal de venta. La función de la media móvil es determinar la tendencia y la dirección de los precios.
Los parámetros de los indicadores aleatorios se establecen de la siguiente manera: K-line cycle 14, K-line smoothing cycle 3, D-line smoothing cycle 3. La línea K por debajo de 20 es la zona de sobreventa, más de 80 es la zona de sobreventa. El papel del indicador aleatorio es determinar si se encuentra en la zona de sobreventa y sobreventa.
Condiciones de compra: línea rápida a través de la línea lenta y línea K <20 ((zona de sobreventa) Condiciones de venta: Rápido bajo línea a través de línea lenta and K línea> 80 ((región de sobrecompra)
Cuando se cumplen las condiciones de compra, se compra más; cuando se cumplen las condiciones de venta, se vende menos.
Se establece un stop loss del 1% después de la compra y un stop loss del 1% después de la venta.
Esta estrategia combina tendencias e indicadores para capturar la tendencia de la línea media y larga de los precios, y al mismo tiempo utiliza indicadores aleatorios para controlar el tiempo de compra y venta, evitando operaciones de compra y venta arbitrarias sin una dirección clara. Los parámetros de la estrategia son ampliamente ajustables y se pueden ajustar para diferentes entornos del mercado. En general, esta estrategia es muy efectiva para las acciones que aumentan en el mercado medio en general.
En caso de que se produzca una agitación causada por la gran noticia, es posible que se produzcan grandes pérdidas. Se puede establecer una línea de pérdida para controlar el riesgo.
Si se encuentra con un mercado de reajuste horizontal continuo, es posible que se produzcan pequeñas pérdidas continuas. Se pueden ajustar adecuadamente los parámetros del ciclo de la media móvil para reducir las pérdidas.
Se debe tener cuidado de evitar los momentos críticos en el mercado de valores, ya que los precios son propensos a invertirse y causar transacciones erróneas.
Se puede probar diferentes combinaciones de parámetros para encontrar la combinación óptima. Por ejemplo, se puede probar la combinación de promedios móviles de diferentes longitudes.
Se puede combinar con otras herramientas de análisis, como volumen de negocios, volatilidad, etc., para establecer condiciones de filtrado y mejorar la rentabilidad de la estrategia.
Se puede estudiar el mecanismo de selección de acciones, elegir acciones de rendimiento o índices ponderados, etc., para reducir el riesgo de las acciones individuales.
Esta estrategia funciona bien en general, con un buen resultado de ganancias y pérdidas en general después de establecer las condiciones de stop loss. El efecto puede ser mejorado aún más mediante la optimización de los ajustes de parámetros y la selección de la bolsa de valores. En general, es una estrategia de comercio cuantitativa que funciona de manera estable y fácil de implementar.
/*backtest
start: 2024-01-25 00:00:00
end: 2024-02-01 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Moving Average and Stochastic Strategy 80% ", overlay=true)
// Moving Average Settings
maShortLength = input(5, title="Short MA Length")
maLongLength = input(20, title="Long MA Length")
// Stochastic Settings
stochLength = input(14, title="Stochastic Length")
smoothK = input(3, title="Stochastic %K")
smoothD = input(3, title="Stochastic %D")
stochOverbought = 80
stochOversold = 20
// Profit Target Settings
profitTarget = input(1, title="Profit Target (%)") // 1% profit target
// Calculate Moving Averages
maShort = sma(close, maShortLength)
maLong = sma(close, maLongLength)
// Calculate Stochastic
k = sma(stoch(close, high, low, stochLength), smoothK)
d = sma(k, smoothD)
// Entry Conditions
longConditionMA = crossover(maShort, maLong) and k < stochOversold
shortConditionMA = crossunder(maShort, maLong) and k > stochOverbought
// Opposite Conditions
oppositeLongConditionMA = crossunder(maShort, maLong) and k < stochOversold
oppositeShortConditionMA = crossover(maShort, maLong) and k > stochOverbought
// Strategy Logic
if (longConditionMA)
strategy.entry("Buy", strategy.long)
strategy.exit("Exit Buy", "Buy", profit=close * (50 + profitTarget / 100))
if (shortConditionMA)
strategy.entry("Sell", strategy.short)
strategy.exit("Exit Sell", "Sell", profit=close * (20 - profitTarget / 100))
// Opposite Strategy Logic
if (oppositeLongConditionMA)
strategy.entry("Sell", strategy.short)
strategy.exit("Exit Sell", "Sell", profit=close * (50 - profitTarget / 100))
if (oppositeShortConditionMA)
strategy.entry("Buy", strategy.long)
strategy.exit("Exit Buy", "Buy", profit=close * (20 + profitTarget / 100))
// Plot Moving Averages
plot(maShort, color=color.blue, title="Short MA")
plot(maLong, color=color.red, title="Long MA")
// Plot Stochastic
hline(stochOverbought, "Overbought", color=color.red)
hline(stochOversold, "Oversold", color=color.green)
plot(k, color=color.black, title="Stochastic %K")