Estrategia de negociación de cantidades de media móvil exponencial doble

El autor:¿ Qué pasa?, fecha: 2024-02-02 11:41:34
Las etiquetas:

img

Resumen general

Esta estrategia genera señales de negociación mediante el cálculo de los cruces entre la media móvil exponencial de 5 días (EMA) y la media móvil simple de 20 días (SMA).

Principio de la estrategia

Los promedios móviles exponenciales dobles son indicadores técnicos ampliamente utilizados. La EMA de 5 días representa las tendencias recientes de los precios, mientras que la SMA de 20 días muestra movimientos de precios a mediano plazo. Cuando el MA a corto plazo cruza por encima del MA a largo plazo, indica una ruptura al alza y una tendencia al alza de los precios, lo que indica un buen momento para ir largo. Por el contrario, el cruce a la baja implica una posible inversión de precios y debe considerar salir de las posiciones.

Esta estrategia establece la EMA de 5 días y la SMA de 20 días como señales de negociación. Se hace larga cuando la EMA de 5 días cruza la SMA de 20 días y cierra la posición cuando el cambio de precio alcanza el 5% o el -5%.

Los pasos detallados son los siguientes:

  1. Calcular la EMA de 5 días, la SMA de 20 días y el TII
  2. Generar una señal de compra cuando la EMA de 5 días cruza la SMA de 20 días mientras que el TII es positivo y sube
  3. Entra en posición larga
  4. Posición cerrada cuando la variación de precios alcanza el 5% o el -5%

Ventajas

Esta estrategia utiliza el cruce de oro entre dos AAs y tiene las siguientes ventajas:

  1. Señales comerciales claras y simples, fáciles de implementar.
  2. Los indicadores de rentabilidad son indicadores técnicos convencionales y comunes, la señal de la cruz de oro es clásica y confiable.
  3. Incorporar TII puede filtrar algunas señales inciertas y mejorar la tasa de ganancia.
  4. Las normas de stop loss/take profit predefinidas controlan efectivamente el riesgo por operación.

En general, esta estrategia tiene reglas sencillas, utiliza indicadores técnicos maduros como los cruces de MA y tiene mediciones de control de riesgos relativamente completas.

Los riesgos

La estrategia sigue teniendo algunos riesgos:

  1. Las señales de cruce MA pueden retrasarse.
  2. El indicador TII no tiene un buen rendimiento en los mercados de rango.
  3. Las normas fijas de stop loss/take profit podrían ser arbitrarias.

Las mejoras sugeridas son:

  1. Optimice los parámetros de MA para reducir el retraso.
  2. Añadir otros indicadores auxiliares para mejorar la fiabilidad de la señal.
  3. Establecer estándares dinámicos de stop loss/take profit.

Así que hay espacio para una mayor optimización.

Direcciones de optimización

Esta estrategia puede mejorarse en los siguientes aspectos:

  1. Optimizar los parámetros de MA probando combinaciones de EMA y SMA más cortas/más largas para encontrar el par óptimo.

  2. Agregue otros indicadores como MACD, KDJ para filtrar señales falsas.

  3. Emplear algoritmos de aprendizaje automático para encontrar mejores parámetros a través de modelos y estadísticas de datos históricos.

  4. Establecer un stop loss/take profit dinámico basado en la volatilidad del mercado y las características del instrumento para controlar mejor los riesgos.

  5. Ampliar esta estrategia a otros productos como el forex, las criptomonedas.

A través de las mejoras anteriores, la estabilidad y la rentabilidad de esta estrategia pueden mejorarse sustancialmente.

Conclusión

En conclusión, esta es una estrategia de cruce de doble MA fácil de entender e implementar. Se aprovecha de las señales MA y utiliza TII para filtrar errores. Controla los riesgos mediante stop loss / take profit. La estrategia es adecuada para los principiantes y también tiene un amplio margen de optimización.


/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA-SMA Crossover Strategy", shorttitle="EMA-SMA Cross", overlay=true)

// Define the moving averages
ema5 = ta.ema(close, 5)
sma20 = ta.sma(close, 20)
smaVolume10 = ta.sma(volume, 50)

majorLength = input(60, title="Major Length")
minorLength = input(30, title="Minor Length")
src = input(close, title="Source")

smaValue = ta.sma(src, majorLength)

positiveSum = 0.0
negativeSum = 0.0

for i = 0 to minorLength - 1
    price = na(src[i]) ? 0 : src[i]
    avg = na(smaValue[i]) ? 0 : smaValue[i]
    positiveSum := positiveSum + (price > avg ? price - avg : 0)
    negativeSum := negativeSum + (price > avg ? 0 : avg - price)

tii = 100 * positiveSum / (positiveSum + negativeSum)

// Buy condition: 5 EMA crosses above 20 SMA
buyCondition = ta.crossover(ema5, sma20) and tii > 0 and tii >= tii[1]

//and volume > smaVolume10 //

// Track entry price
var entryPrice = 0.0
if (buyCondition)
    entryPrice := close

// Calculate percentage change from entry price
priceChange = close / entryPrice - 1

// Plotting the moving averages on the chart
plot(ema5, color=color.blue, title="5 EMA")
plot(sma20, color=color.red, title="20 SMA")

// Highlighting buy signals and exit signals on the chart
// plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, size=size.small, style=shape.labelup, text="Buy")

// Strategy entry and exit
if (buyCondition)
    strategy.entry("Buy", strategy.long)

// Exit conditions
if (strategy.opentrades > 0)
    if (priceChange >= 0.05 or priceChange <= -0.05)
        strategy.close("Buy")


Más.