Эта стратегия является импульсной стратегией, основанной на скользящих средних линиях. Она генерирует торговые сигналы путем расчета простых скользящих средних различных периодов и сравнения их перекрестных ситуаций. В частности, когда краткосрочная скользящая средняя линия пересекает выше долгосрочной скользящей средней линии, генерируется сигнал покупки; когда краткосрочная скользящая средняя линия пересекает ниже долгосрочной скользящей средней линии, генерируется сигнал продажи.
Основная логика этой стратегии основана на эффекте импульса, который заключается в сохранении тенденций цен на акции. Движущаяся средняя линия может эффективно отражать тенденцию изменения цен на акции. Когда краткосрочная движущаяся средняя линия пересекает длинносрочную движущуюся среднюю линию, это означает, что цена акции начинает входить в восходящую тенденцию; наоборот, когда краткосрочная движущаяся средняя линия пересекает длинносрочную движущуюся среднюю линию, это означает, что цена акции начинает входить в нисходящую тенденцию. Эта стратегия генерирует торговые сигналы, основанные на этом принципе.
Конкретно, в стратегии определены 13-дневная простая скользящая средняя и 34-дневная простая скользящая средняя. После расчета этих двух скользящих средних на основе ежедневной цены закрытия сравнивается их величина. Если 13-дневная линия пересекает 34-дневную линию, генерируется сигнал покупки, указывающий на то, что цена акции вступает в восходящую тенденцию и должна быть установлена длинная позиция; если 13-дневная линия пересекает 34-дневную линию, генерируется сигнал продажи, указывающий на то, что цена акции входит в нисходящую тенденцию и позиция должна быть закрыта.
Наибольшее преимущество этой стратегии заключается в том, что она проста и проста в понимании и реализации. Линия скользящей средней является одним из самых базовых и широко используемых технических индикаторов. Ее принцип прост и прост в понимании и применении.
Кроме того, установка параметров этой стратегии гибкая и может быть скорректирована в соответствии с различными сортами и условиями рынка. Например, параметры цикла линии скользящей средней могут быть изменены для корректировки чувствительности стратегии. Это дает возможность оптимизации и корректировки стратегии.
Самый большой риск этой стратегии заключается в том, что может быть больше ложных сигналов и попадание в рынок с ограниченным диапазоном. Когда цены резко колеблются, скользящие средние линии могут часто производить перекрестки, что приводит к ложным сигналам. В этот момент вам нужно скорректировать параметры цикла скользящей средней линии, чтобы отфильтровать какой-то шум.
Кроме того, при большем перевороте рынка точка остановки может быть нарушена, что приводит к большим потерям.
Следующие аспекты этой стратегии могут быть оптимизированы:
Оптимизировать параметры цикла скользящей средней линии для поиска оптимальной комбинации параметров для различных сортов и условий рынка.
Добавьте фильтрацию других технических индикаторов, таких как MACD и KD, чтобы избежать создания ложных сигналов на рынках с диапазоном.
Оптимизировать и динамически регулировать стратегию стоп-лосса, чтобы избежать слишком близкой точки стоп-лосса, обеспечивая при этом стоп-лосс с большей вероятностью прорыва.
Усиление механизмов управления позициями, таких как фиксированные инвестиции и коэффициент позиций для контроля риска одной сделки.
Эта стратегия является очень классической стратегией перекрестного движения скользящих средних. Она генерирует сигналы купли и продажи путем расчета и сравнения отношений между краткосрочными и долгосрочными скользящими средними. Преимущества этой стратегии просты, гибкие параметры и подходят для обучения новичков; недостатки заключаются в том, что сигналы могут быть недостаточно стабильными и легко попасть в рынок с диапазоном. При правильной оптимизации она все равно может стать очень практичной количественной стратегией.
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // TODO: update strategy name strategy("{STRATEGY NAME}", overlay=true) // === TA LOGIC === // // // TODO: PUT YOUR TA LOGIC HERE LONG_SIGNAL_BOOLEAN = crossover(sma(close, 13), sma(close, 34)) SHORT_SIGNAL_BOOLEAN = crossunder(sma(close, 12), sma(close, 21)) // === INPUT BACKTEST DATE RANGE === enableShorts = input(false, title="Enable short entries?") FromMonth = input(defval = 5, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 18, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 2017) ToMonth = input(defval = 9, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 2018, title = "To Year", minval = 2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" // === STRATEGY BUY / SELL ENTRIES === // TODO: update the placeholder LONG_SIGNAL_BOOLEAN and SHORT_SIGNAL_BOOLEAN to signal // long and short entries buy() => window() and LONG_SIGNAL_BOOLEAN sell() => window() and SHORT_SIGNAL_BOOLEAN if buy() strategy.entry("Long", strategy.long, comment="Long") if sell() if (enableShorts) strategy.entry("Short", strategy.short, comment="Short") else strategy.close("Long") // === BACKTESTING: EXIT strategy === sl_inp = input(10, title='Stop Loss %', type=float)/100 tp_inp = input(30, title='Take Profit %', type=float)/100 stop_level = strategy.position_avg_price * (1 - sl_inp) take_level = strategy.position_avg_price * (1 + tp_inp) strategy.exit("Stop Loss/Profit", "Long", stop=stop_level, limit=take_level)