Эта стратегия представляет собой следующую торговую систему, основанную на перекрестных сигналах 9-дневных и 20-дневных экспоненциальных скользящих средних (EMA). Она фиксирует обратные тенденции рынка путем мониторинга перекрестной связи между быстрой EMA (9-дневная) и медленной EMA (20-дневная).
В основе стратегии используются две EMA с разными периодами для определения направления тренда и поворотных точек. Когда 9-дневная EMA пересекает 20-дневную EMA, система генерирует длинный сигнал; когда 9-дневная EMA пересекает 20-дневную EMA, система генерирует короткий сигнал. EMA придают больший вес последним ценам, позволяя быстро реагировать на изменения цен и своевременно улавливать изменение тренда.
Эта стратегия представляет собой классическую систему следования трендам, которая захватывает возможности для изменения тренда через перекрестки EMA. Логика стратегии проста и ясна, что делает ее легкой для понимания и реализации. Однако для живой торговли рекомендуется комбинировать ее с другими техническими индикаторами и методами управления деньгами для дальнейшего улучшения торговой системы. Кроме того, оптимизация параметров в соответствии с различными характеристиками рынка может повысить практичность стратегии.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy with Buttons", overlay=true) // Input parameters for EMAs shortEmaLength = input(9, title="Short EMA Length") longEmaLength = input(20, title="Long EMA Length") // Calculate EMAs shortEma = ta.ema(close, shortEmaLength) longEma = ta.ema(close, longEmaLength) // Plot EMAs plot(shortEma, color=color.blue, title="9 EMA") plot(longEma, color=color.red, title="20 EMA") // Buy and Sell Logic longCondition = ta.crossover(shortEma, longEma) shortCondition = ta.crossunder(shortEma, longEma) // Buy Button if (ta.change(longCondition)) if (longCondition) strategy.entry("Buy", strategy.long) // Sell Button if (ta.change(shortCondition)) if (shortCondition) strategy.entry("Sell", strategy.short) // Alert Conditions alertcondition(longCondition, title="Buy Alert", message="Buy Signal") alertcondition(shortCondition, title="Sell Alert", message="Sell Signal")