Эта стратегия - это двойная стратегия отслеживания тренда на основе индикатора EMA. Вычисляя линию быстрого EMA и линию медленного EMA и определяя золотой крест и крест смерти, он реализует низкую покупку высокой продажи, чтобы автоматически отслеживать тенденции рынка.
Основным индикатором этой стратегии является двойная EMA, включающая в себя линию быстрой EMA и линию медленной EMA. Линия быстрой EMA имеет длину 3 дня и чувствительно реагирует. Линия медленной EMA имеет длину 30 дней и реагирует медленно. Когда быстрая линия пересекает линию медленной, генерируется золотой крестный сигнал, указывающий на то, что рынок вступает в восходящую тенденцию, и стратегия откроет длинные позиции в это время. Когда быстрая линия пересекает линию медленной, генерируется крестный сигнал смерти, указывающий на то, что рынок вступает в нисходящую тенденцию, и стратегия будет закрываться в это время. Используя такие быстрые позиции и медленные пересечения линий EMA для отслеживания изменений в рыночных тенденциях, стратегия может автоматически переключиться на низкие и высокие направления покупки и продажи.
Наибольшее преимущество этой стратегии заключается в том, что она может автоматически выявлять тенденции на рынке и гибко корректировать позиции соответственно.
Сочетание чувствительности быстрого EMA и стабильности медленного EMA может точно улавливать точки перелома в тенденциях, одновременно фильтруя шум, чтобы предотвратить ложные сигналы.
При использовании двойных перекрестных сигналов EMA позиции корректируются только при значительных изменениях тренда, избегая чрезмерной частоты торговли.
Логика стратегии проста и ясна, легко понять и изменить, а также удобна для обратного тестирования и количественной оптимизации.
Высокая эффективность использования капитала, поддерживает позиции большую часть времени для отслеживания тенденций.
Двойной индикатор EMA относится к стратегии отслеживания тенденций, которая не может предсказать или избежать рисков крупных колебаний или особых событий.
Индикатор EMA чувствителен к параметрам. Неправильные настройки параметров быстрой и медленной линии могут привести к плохой эффективности стратегии. Оптимальные параметры могут быть найдены с помощью системных методов оптимизации обратного тестирования.
Двойной индикатор EMA может генерировать ложные сигналы при некоторых потрясениях или боковых тенденциях.
Двойная стратегия EMA относится к стратегии отслеживания, не очень хорошая в выборе важных технических поворотных точек.
Следующие аспекты этой стратегии могут быть дополнительно оптимизированы:
Оптимизировать параметры быстрой и медленной линий EMA для поиска наилучшей комбинации параметров.
Увеличить другие показатели для построения многофакторных моделей и улучшения точности сигналов, например, внедрение показателей производных BOLL и т.д.
Добавьте стратегии стоп-лосса для контроля рисков одной сделки.
Оптимальные параметры могут отличаться в зависимости от продукта.
Методы машинного обучения могут быть опробованы для оптимизации гиперпараметров, основанной на времени.
Исследуйте распознавание K-линий на ключевых технических позициях, чтобы зафиксировать более высокие отклонения.
В целом, это простая и практичная стратегия двойного отслеживания тренда EMA. Она автоматически корректирует позиции путем определения этапов рынка через быстрые и медленные пересечения EMA. Логика стратегии краткая и ясная, легко реализуемая количественно. В то же время есть возможность дальнейшей оптимизации для улучшения точности сигналов и контроля рисков, чтобы сделать ее качественной количественной стратегией для фактической торговли.
/*backtest start: 2023-02-19 00:00:00 end: 2024-02-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy with Target", shorttitle="EMACross", overlay=true) // Define input parameters fastLength = input(3, title="Fast EMA Length") slowLength = input(30, title="Slow EMA Length") profitPercentage = input(100.0, title="Profit Percentage") // Calculate EMAs fastEMA = ta.ema(close, fastLength) slowEMA = ta.ema(close, slowLength) // Plot EMAs on the chart plot(fastEMA, color=color.blue, title="Fast EMA") plot(slowEMA, color=color.red, title="Slow EMA") // Buy condition: 3EMA crosses above 30EMA buyCondition = ta.crossover(fastEMA, slowEMA) // Sell condition: 3EMA crosses below 30EMA or profit target is reached sellCondition = ta.crossunder(fastEMA, slowEMA) or close >= (strategy.position_avg_price * (1 + profitPercentage / 100)) // Target condition: 50 points profit //targetCondition = close >= (strategy.position_avg_price + 50) // Execute orders // strategy.entry("Buy", strategy.long, when=buyCondition) // strategy.close("Buy", when=sellCondition ) if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // // Execute sell orders // strategy.entry("Sell", strategy.short, when=sellCondition) // strategy.close("Sell", when=buyCondition) // Plot buy and sell signals on the chart plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)