Эта стратегия основана на сравнении четырех линий EMA с различными периодами для реализации торговли, следующей за трендом. Она длинна, когда быстрая линия EMA пересекает линию средней EMA, средняя линия EMA пересекает линию медленной EMA, а медленная линия EMA пересекает линию медленной EMA. Она коротка, когда происходят противоположные пересекающие отношения. Стратегия также включает условия фильтрации даты, торгуя только в пределах указанного диапазона дат.
Основная логика этой стратегии основана на сравнении четырех линий EMA. Линии EMA могут эффективно сглаживать данные о ценах и выделять основные тенденции. Быстрая линия EMA отражает изменение цены быстрее всего, в то время как средняя EMA имеет некоторое отставание, медленная EMA имеет больше отставания, а самая медленная EMA имеет больше отставания. Когда быстрая EMA пересекает среднюю EMA, средняя EMA пересекает медленную EMA, а медленная EMA пересекает самую медленную EMA, это сигнализирует о восходящем тренде, и стратегия будет длинной. Когда происходит противоположная последовательность пересечения, это сигнализирует о нисходящем тренде, и стратегия будет короткой.
Стратегия также использует условие фильтрации даты, торгуя только в указанном диапазоне дат между 1 июня 2018 года и 31 декабря 2019 года.
В частности, периоды четырех линий EMA составляют 8, 13, 21 и 34 дня соответственно. Они относительно краткосрочны для улавливания краткосрочных и среднесрочных тенденций. Стратегия будет генерировать торговые сигналы только тогда, когда данные о ценах удовлетворяют отношениям пересечения EMA в пределах указанного диапазона дат.
Преимущества этой стратегии 4-EMA:
В этой стратегии также есть некоторые риски:
Для уменьшения вышеуказанных рисков, некоторые направления оптимизации:
Основными направлениями оптимизации являются:
Оптимизация параметров: Корректировать периоды EMA для соответствия различным циклам и продуктам для лучшего определения тенденции.
Контроль рисковВ случае, если данный показатель не превышает 0,9%, то это означает, что данный показатель не превышает 0,9%.
Фильтрация сигнала: Добавить другие вспомогательные индикаторы, чтобы избежать сигналов без четкой тенденции, например, фильтры RSI и MACD.
Получение прибыли: Установите правильные правила получения прибыли, чтобы зафиксировать прибыль и избежать ретрассов.
Автоматизированная торговля: параметризировать стратегию и интегрировать с системами автоматической торговли для расширения применимости.
Это простая и практичная стратегия, основанная на сравнении линий 4-EMA. Она быстро реагирует и эффективно отслеживает краткосрочные и среднесрочные тенденции с хорошими результатами бэкстеста. Мы можем оптимизировать ее путем корректировки параметров, добавления фильтров и остановки потерь для снижения риска и повышения эффективности. Параметризация и автоматизация также являются важными направлениями, позволяющими более широкое применение. В заключение, стратегия 4-EMA является надежной и универсальной квантовой торговой стратегией, достойной дальнейших исследований и оптимизации.
/*backtest start: 2022-12-19 00:00:00 end: 2023-12-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("4 EMA TREND Strategy ", overlay=true) length1 = input(8, minval=1) outFAST = ema(close,length1) plot(outFAST, color=green ,linewidth=3) length2 = input(13, minval=1) outM = ema(close, length2) plot(outM, color=yellow,linewidth=3) length3 = input(21, minval=1) outSLOW = ema(close, length3) plot(outSLOW, color=red,linewidth=3) length4 = input(34, minval=1) outSLOWEST = ema(close, length4) plot(outSLOWEST, color=black,linewidth=3) price = close yearfrom = input(2018) yearuntil =input(2019) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( (outFAST>outM) and (outM > outSLOW) and(outSLOW>outSLOWEST)) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( (outFAST<outM) and (outM<outSLOW) and (outSLOW <outSLOWEST)) strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL") else strategy.cancel(id="SELL")