В этой статье представлена количественная стратегия торговли, основанная на точках перекрестки экспоненциальных скользящих средних (EMA) за три разных периода.
Стратегия использует EMA трех различных периодов: 10-дневный, 100-дневный и 200-дневный. Сигналы покупки или продажи генерируются на основе направления кроссовера, когда краткосрочная EMA (10-дневная) пересекает более длительные EMA (100-дневная или 200-дневная). Стратегия также включает временный фильтр, чтобы гарантировать, что сделки выполняются только в определенные временные рамки. Эта комбинация добавляет гибкость и адаптивность к стратегии.
Сила этой стратегии заключается в ее простоте и высокой адаптивности. Многопериодные EMA обеспечивают многомерное представление о тенденциях рынка, повышая точность торговых решений. Кроме того, временный фильтр избегает нестабильности в определенные периоды рынка, уменьшая потенциальные риски.
Несмотря на свою эффективность, стратегия несет определенные риски. Основным риском является волатильность рынка из-за непредвиденных событий, которые могут привести к неудаче стратегии. Кроме того, EMA могут отставать, задерживая отражение изменений на рынке. Методы смягчения этих рисков включают мониторинг рынка в режиме реального времени и сочетание других технических индикаторов для повышения точности принятия решений.
Направления оптимизации стратегии включают в себя интегрированное использование различных технических индикаторов, таких как индекс относительной силы (RSI) и полосы Боллинджера, для углубления и расширения анализа рынка.
В целом, это
многопериодная EMA перекрестная количественная стратегия торговли является эффективным инструментом, который может помочь трейдерам принимать лучшие решения на волатильном рынке. При постоянной оптимизации и адаптации к изменениям рынка, эта стратегия имеет потенциал для достижения более высокой доходности в будущих торговых усилиях.
/*backtest start: 2022-12-20 00:00:00 end: 2023-12-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 start = timestamp(2023,1,1,0,0) end = timestamp(2024,1,1,0,0) strategy("Tester Emas", overlay = true) periodo1 = input(10,"Periodo_1") periodo2 = input(100,"Periodo_2") periodo3 = input(200,"Periodo_3") //definir media moviles ema1 = ta.ema(close,periodo1) ema2 = ta.ema(close,periodo2) ema3 = ta.ema(close,periodo3) //Desde desde_a = input(2000, title = "Desde año") desde_m = input.int( 1, title = "Desde mes", minval=1, maxval = 12) desde_d = input.int( 1, title = "Desde dia", minval=1, maxval = 31) //Hasta hasta_a = input(2030, title = "Hasta año") hasta_m = input.int( 1, title = "Hasta mes", minval=1, maxval = 12) hasta_d = input.int( 1, title = "Hasta dia", minval=1, maxval = 31) FechaValida() => true //Condicion de entradas longCondition = ta.crossover(ema1, ema2) shortCondition = ta.crossunder(ema1,ema2) alcista = (ema1 > ema2) and (ema2 > ema3) comprado =strategy.position_size > 0 //Comprar o vender segun las condiciones de entradas //if (longCondition) if (not comprado and alcista and FechaValida()) // Round redondea mi capital para comprar las acciones en cantidades enteras cantidad = math.round(strategy.equity/ close) strategy.entry("Compra", strategy.long, cantidad) //if (shortCondition) if (comprado and not alcista and FechaValida()) //strategy.entry("Venta", strategy.short) strategy.close("Compra" , comment = "Venta") if (comprado and not FechaValida()) //Cierre x finalizacion de periodo //strategy.entry("Venta", strategy.short) strategy.close("Compra" , comment = "Venta x fin") //Graficar las medias moviles plot(ema1, color = color.green, title = "Ema1") plot(ema2, color = color.yellow, title = "Ema2") plot(ema3, color = color.red, title = "Ema2") //GMarca los cruces de medias bgcolor(longCondition ? color.green : na) bgcolor(shortCondition ? color.red : na)