Эта стратегия называется
Стратегия сначала рассчитывает краткосрочную и долгосрочную линейную линию регрессии. Краткосрочная линейная регрессия имеет период 100 дней, а долгосрочная - период 150 дней. Когда краткосрочная линия регрессии пересекает длинную линию, генерируется сигнал покупки. Когда краткосрочная линия пересекает длинную линию, генерируется сигнал продажи.
Линейные регрессионные линии могут отражать долгосрочное направление тренда цен. Краткосрочная линия с меньшим периодом более чувствительна к изменениям цен и может улавливать краткосрочные сроки обратного движения. Долгосрочная линия с большим периодом представляет собой долгосрочную тенденцию равновесия цен. Когда две линии пересекаются, это указывает на то, что краткосрочные и долгосрочные тенденции меняются, таким образом, можно генерировать торговые сигналы.
Преимущество этой стратегии заключается в использовании классического подхода технического анализа пересечения скользящей средней, с добавлением линейного регрессионного анализа, который может идентифицировать перевороты цен как в долгосрочных, так и в краткосрочных временных измерениях.
Для отфильтрации некоторых ложных сигналов эта стратегия включает временные ограничения, выполняя сделки только в течение указанных диапазонов дат. Это может в некоторой степени уменьшить неэффективные сделки.
В заключение, двойная стратегия перекрестного движения скользящих средних сочетает в себе несколько аналитических методов и может захватить сложные торговые возможности. Но управление рисками имеет решающее значение для предотвращения переоценки. Дальнейшая оптимизация стратегии путем включения других технических индикаторов может улучшить надежность.
/*backtest start: 2022-09-12 00:00:00 end: 2023-09-12 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Linear Regression Curve CrossOver Strategy", shorttitle="LRC Crossover", overlay=true) src = close len1 = input(defval=100, minval=1, title="Length") offset = 0 outfast = linreg(src, len1, offset) plot(outfast,color=blue) len2 = input(defval=150, minval=1, title="Length") outslow = linreg(src, len2, offset) plot(outslow,color=red) yearfrom = input(2018) yearuntil =input(2019) monthfrom =input(1) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( crossover(outfast,outslow)) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( crossover(outslow,outfast) ) strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL") else strategy.cancel(id="SELL")