
Эта стратегия основана на обычных пересечениях скользящих средних, но с некоторыми изменениями, чтобы создать более точный торговый сигнал. Эта стратегия объединяет пересечения быстрых и медленных скользящих средних для определения тенденции и относится к стратегии отслеживания тенденции.
Когда быстрая скользящая средняя пересекает медленную скользящую среднюю с нижнего направления, рассматривается как сигнал к покупке; когда быстрая скользящая средняя падает с верхнего направления и пересекает медленную скользящую среднюю, рассматривается как сигнал к продаже. То есть, золотая вилка делает больше, мертвая вилка делает меньше.
Ключом к этой стратегии является выбор быстро-медленной средней линии. Эта стратегия использует индикаторные движущиеся средние длины 50 и 100 в качестве быстрой и медленной линии. Эффективность стратегии может быть оптимизирована путем корректировки параметров средней линии.
Эта стратегия в сочетании с двойной линейной оценкой направления тенденции позволяет эффективно фильтровать рыночный шум и идентифицировать тенденции. По сравнению с одной линейной стратегией, эта стратегия может повысить вероятность получения прибыли. Кроме того, установка стоп-лосса может ограничить потери отдельных сделок.
Эта стратегия использует пересекающиеся принципы для определения переломных точек тренда и своевременного захвата трендовых возможностей. По сравнению со стратегией, содержащей сложную условную логику, эта стратегия легко понятна и легко реализуется.
Существует три риска, связанных с этой стратегией: неправильный риск средней линейной величины, неправильный риск длительности и неправильный риск стоп-позиции.
Неправильно выбранные параметры средней линии приводят к созданию ложного сигнала. Если средняя линия слишком коротка или слишком длинна, это может привести к ошибочному оценке рынка. Следует соответствующим образом скорректировать ее, чтобы она соответствовала специфическим характеристикам разновидности.
Долгое или короткое время удержания позиции не позволяет максимизировать прибыль или контролировать риск. Необходимо тестировать различные способы выхода, чтобы определить оптимальный период удержания позиции.
Неправильная установка стоп-позиции приведет к тому, что стоп-позиция будет слишком расслабленной или слишком напряженной, а подходящая стоп-позиция должна быть определена в зависимости от колебаний в разновидности.
Эта стратегия может быть оптимизирована в следующих аспектах:
Тестирование большего количества комбинаций среднелинейных параметров для поиска оптимальных параметров
Динамическая стоп-позиция определяется на основе недавних Н-дневных колебаний цены или ATR
В сочетании с другими показателями, такими как MACD, KD и т.д.
Добавление правил фильтрации трендов, чтобы избежать ликвидации рынка
Можно рассмотреть возможность применения стратегии к более разным породам или улучшения стратегии к межвидовым.
Эта стратегия по оптимизации перекрестных перемещающихся средних сочетает в себе преимущества быстрого и медленного усреднения, чтобы определить направление тренда, установить стоп-лосс для контроля риска, и является стратегией отслеживания тренда, которую легко реализовать. Эта стратегия может дополнительно повысить стабильность и эффективность с помощью параметрической оптимизации, стоп-лосс-оптимизации, фильтрации сигналов и т. Д. По сравнению со стратегией, содержащей сложную логику, эта стратегия легче понять, ее применение имеет более низкий порог и очень подходит для входных стратегий количественной торговли.
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-03 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ashishchauhan
strategy(title="MA CO Strategy Test", overlay=true, pyramiding=0, initial_capital=100000)
fastEMALen = input(title="Fast EMA Length", type=input.integer, defval=50)
slowEMALen = input(title="Slow EMA Length", type=input.integer, defval=100)
fastEMA = ema(close, fastEMALen)
slowEMA = ema(close, slowEMALen)
enterLong = crossover(fastEMA, slowEMA)
enterShort = crossunder(fastEMA, slowEMA)
longStop = 0.0
longStop := enterShort ? close : longStop[1]
shortStop = 0.0
shortStop := enterLong ? close : shortStop[1]
plot(series=fastEMA, color=color.orange, title="Fast EMA")
plot(series=slowEMA, color=color.teal, linewidth=3, title="Slow EMA")
if enterLong
strategy.entry(id="GoLong", long=true)
if enterShort
strategy.entry(id="GoShort", long=false)
if strategy.position_size > 0
strategy.exit(id="ExLong", from_entry="GoLong", stop=longStop)
if strategy.position_size < 0
strategy.exit(id="ExShort", from_entry="GoShort", stop=shortStop)
strategy.close_all()