Estrategia de negociación de medias móviles con ruptura de impulso


Fecha de creación: 2023-11-01 17:13:40 Última modificación: 2023-11-01 17:13:40
Copiar: 0 Número de Visitas: 595
1
Seguir
1617
Seguidores

Estrategia de negociación de medias móviles con ruptura de impulso

Descripción general

Esta estrategia permite la generación de señales de negociación para acciones con baja volatilidad mediante la combinación del uso de promedios móviles, el indicador MACD y la forma de la línea K. Se puede imprimir una señal de compra o venta para indicar que se han cumplido ciertas condiciones. La uso como una herramienta de ahorro de tiempo para ayudar a identificar qué gráficos necesitan atención.

Principio de estrategia

La estrategia se basa principalmente en tres indicadores para evaluar las señales de comercio:

  1. Promedio móvil: calcula tres promedios móviles de línea rápida, línea lenta y línea de referencia, que generan una señal de compra cuando la línea rápida atraviesa la línea lenta.

  2. Indicador MACD: Calcula la línea de la columna MACD y la línea de la señal, que genera una señal de compra cuando la columna MACD pasa por 0.

  3. Forma de la línea K: calcula el porcentaje de alza de la línea K de una sola raíz, y cuando el aumento supera un cierto porcentaje, se considera un comportamiento de marcado de propietario, generando una señal de compra.

En la determinación de la señal de venta, la estrategia establece un punto de parada y un punto de parada, que genera una señal de venta cuando el precio toca el punto de parada.

Ventajas estratégicas

  1. La combinación utiliza tres tipos diferentes de indicadores técnicos que se pueden verificar entre sí para evitar falsas señales.

  2. La media móvil puede identificar tendencias de línea media larga, el MACD puede identificar momentum de línea corta, y la forma de la línea K puede identificar el comportamiento del propietario.

  3. Se establecen condiciones de stop loss y stop-loss para bloquear al máximo las ganancias y evitar que las pérdidas se extiendan.

  4. Las estrategias son sencillas, claras y fáciles de implementar. Los parámetros de entrada son intuitivos y fáciles de ajustar, y se pueden adaptar con flexibilidad a diferentes entornos de mercado.

  5. Los parámetros del indicador han sido probados y optimizados para ofrecer una mayor estabilidad y rentabilidad.

Riesgo estratégico

  1. Como estrategia de tendencia para seguir tendencias medias y largas, el trading es ineficaz en un mercado con una liquidación agitada y puede generar pequeñas pérdidas frecuentes.

  2. La forma de la línea K es más subjetiva, es difícil de juzgar con precisión el comportamiento del casero, y puede producir algunos juicios erróneos.

  3. Las configuraciones de stop loss y stop stop tendrán que ser ajustadas según las diferentes acciones, ya que una configuración demasiado pequeña puede provocar un stop loss prematuro y una configuración demasiado grande puede limitar las ganancias.

  4. La estrategia es relativamente compleja y requiere que se tengan en cuenta varios indicadores al mismo tiempo, lo que requiere un alto nivel de exigencia técnica para los operadores.

Dirección de optimización

  1. Aumentar el juicio sobre el estado del mercado, seguir la tendencia en la etapa en que la tendencia es clara, evitar el comercio en la época de la convulsión. Se pueden agregar juicios auxiliares como el indicador ATR.

  2. Optimización de los parámetros de las medias móviles, que se ajustan periódicamente para que se ajusten mejor a las características de las acciones que se negocian. También se puede probar con diferentes tipos de medias móviles.

  3. Se pueden introducir métodos como el aprendizaje automático para evaluar el comportamiento de los jugadores y reducir los errores.

  4. Desarrollar estrategias de stop loss y stop-loss que permitan ajustes dinámicos en lugar de usar una configuración fija.

  5. La simplificación de las estrategias, la eliminación de algunos indicadores demasiado subjetivos, reduce la probabilidad de error. También se puede considerar la medición de indicadores del mismo tipo, para que los resultados sean más estables.

Resumir

Esta estrategia integra las medias móviles, el indicador MACD y el juicio de la conducta de los propietarios, formando una estrategia de comercio de acciones de bajo riesgo más completa. Tiene ciertas ventajas, pero también hay algunos problemas que se pueden mejorar. Aunque es más compleja, no requiere demasiados requisitos técnicos para los comerciantes.

Código Fuente de la Estrategia
/*backtest
start: 2022-10-25 00:00:00
end: 2023-10-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Simple Stock Strategy", overlay=true)

//Simple Trading Strategy for Stocks//
// by @ShanghaiCrypto //

////SMA////
fastLength = input(12)
slowLength = input(26)
baseLength = input(100)
price = close

mafast = sma(price, fastLength)
maslow = sma(price, slowLength)
mabase = sma(price, baseLength)

///MACD////
MACDLength = input(9)
MACDfast = input(12)
MACDslow = input(26)
MACD = ema(close, MACDfast) - ema(close, MACDslow)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

////PUMP////
OneCandleIncrease = input(6, title='Gain %')
pump = OneCandleIncrease/100

////Profit Capture and Stop Loss//////
stop = input(2.0, title='Stop Loss %', type=float)/100
profit = input(6.0, title='Profit %', type=float)/100
stop_level = strategy.position_avg_price * (1 - stop)
take_level = strategy.position_avg_price * (1 + profit)

////Entries/////
if crossover(mafast, maslow)
    strategy.entry("Cross", strategy.long, comment="BUY")

if (crossover(delta, 0))
    strategy.entry("MACD", strategy.long, comment="BUY")
    
if close > (open + open*pump)
    strategy.entry("Pump", strategy.long, comment="BUY")

/////Exits/////
strategy.exit("SELL","Cross", stop=stop_level, limit=take_level)
strategy.exit("SELL","MACD", stop=stop_level, limit=take_level)
strategy.exit("SELL","Pump", stop=stop_level, limit=take_level)

////Plots////
plot(mafast, color=green)
plot(maslow, color=red)
plot(mabase, color=yellow)
plot(take_level, color=blue)
plot(stop_level, color=orange)