
La estrategia genera una señal de negociación calculando el cruce entre el promedio móvil de 5 días (EMA) y el promedio móvil simple de 20 días (SMA). Cuando el EMA de 5 días atraviesa el SMA de 20 días, se toma una entrada en el polinomio; cuando el cambio de precio alcanza el 5% o -5%, se sale de la posición cerrada. La estrategia también combina el índice de volumen de negocios (TII) como un indicador auxiliar de juicio.
Los promedios móviles binarios son un indicador técnico muy utilizado. El EMA de 5 días representa la tendencia de los cambios de precios en el corto plazo, y el SMA de 20 días representa el movimiento de los precios en el mediano plazo. Cuando los promedios a corto plazo atraviesan los promedios a largo plazo, los movimientos de los precios se mueven a la baja y se puede hacer más para entrar en el mercado; por el contrario, cuando los promedios a corto plazo atraviesan los promedios a largo plazo, se considera la salida.
Esta estrategia establece la EMA de 5 días y la SMA de 20 días como señales de negociación. Genera una señal de posición larga cuando la EMA de 5 días atraviesa la SMA de 20 días. Se considera ganancia o pérdida cuando el cambio en el precio de la posición alcanza el 5% o -5%. Además, la combinación del indicador TII como criterio de evaluación auxiliar.
Los pasos detallados de la estrategia son los siguientes:
La estrategia utiliza señales de intercambio de oro en las medias móviles con las siguientes ventajas:
En general, las reglas de la estrategia son claras, fáciles de entender e implementar, utilizan indicadores técnicos avanzados como el cruce de medias móviles, las medidas de control de riesgo son más completas y son una estrategia de comercio cuantitativa adecuada para el uso de los principiantes.
La estrategia también tiene ciertos riesgos, incluyendo:
Estos riesgos pueden ser mejorados de la siguiente manera:
Por lo tanto, la estrategia aún tiene margen de mejora.
La estrategia puede ser optimizada en los siguientes aspectos:
Optimización de los parámetros de las medias móviles. Se pueden probar combinaciones de parámetros EMA y SMA más cortos o más largos para encontrar mejores pares de parámetros.
Añadir filtros para otros indicadores. El juicio auxiliar de indicadores como MACD, KDJ y otros evita algunas señales erróneas.
Aplicación de algoritmos de aprendizaje automático. Modelación de datos históricos utilizando métodos estadísticos o redes neuronales para buscar automáticamente los mejores parámetros.
Establezca un límite de pérdidas dinámico. Ajuste el límite de pérdidas según la volatilidad del mercado y las características de cada acción para controlar mejor el riesgo.
Extensión a otras variedades. Aplica las mismas reglas de estrategia a otras variedades como divisas, monedas digitales y otras.
La estabilidad y la rentabilidad de las estrategias se pueden mejorar considerablemente con mejoras en las direcciones mencionadas.
Esta estrategia en su conjunto es una estrategia de cruce de doble media móvil que es fácil de entender y de implementar. Utiliza las ventajas de las señales de media móvil y se complementa con el indicador TII para tratar de filtrar las señales erróneas. El riesgo se controla mediante la configuración de un stop loss.
/*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")