Стратегия быстрого и медленного скрещивания

Автор:Чао Чжан, Дата: 2024-02-27 16:06:30
Тэги:

基于快慢均线交叉策略

Обзор

Стратегия быстрого среднего пересечения - это простая стратегия движущегося среднего. Она использует два движущихся средних, быстрого и медленного, чтобы показать, что цена может вырасти, когда быстрый средний пересекает медленный средний сверху; а когда быстрый средний пересекает медленный средний сверху, чтобы показать, что цена может упасть. Это может служить индикатором прогнозирования будущего движения цен.

Принципы стратегии

Эта стратегия использует два движущихся средних, быстро и медленно. В частности, длина быстрого движущегося среднего по умолчанию составляет 25 циклов, а длина медленного движущегося среднего по умолчанию составляет 62 цикла. Эта стратегия позволяет выбрать различные типы движущихся средних, включая SMA, EMA, WMA, RMA и VWMA.

Когда быстрый средний движущийся пересекает медленный средний движущийся сверху, означающий, что короткая цена начинает прорываться через длинный, это типичный золотой крестовой сигнал, который предвещает, что цена может войти в восходящий канал, в котором стратегия больше; когда быстрый средний движущийся пересекает медленный средний движущийся сверху, означающий, что короткая цена начинает падать через длинный, это смертельный крестовый сигнал, который предвещает, что цена может войти в нисходящий канал, в котором стратегия остановки.

Таким образом, путем быстрого пересечения стержней можно определить тенденцию и направление цены, и соответственно сделать больше или больше, чтобы получить прибыль.

Анализ преимуществ

В частности, в частности:

  1. Мысли простые, понятные и реализуемые
  2. Гибкие параметры настройки для настройки циклов и типов быстро и медленно выраженных линий
  3. Надежный показатель, быстрое и точное определение ценовых тенденций.
  4. Автоматизация, не требующая человеческих суждений, снижающая влияние психологических факторов
  5. Подходит для различных видов, широко используемых в таких видах, как акции, валюты, криптовалюты
  6. Легко оптимизировать, настраивать комбинации параметров для поиска лучшей конфигурации
  7. Складируемость, используемая в сочетании с другими показателями или стратегиями

В целом, стратегия с быстрым и медленным скрещиванием средних линий в качестве основного торгового сигнала, обладает сильной способностью судить о будущих тенденциях цены, на основе преимуществ отслеживания тенденций, может получить хорошую прибыль, которая стоит реального применения.

Анализ рисков

В то же время, по мнению экспертов, эта стратегия несет в себе ряд потенциальных рисков:

  1. Быстрый среднелинейный перекрестный сигнал может вызвать ошибочные сообщения, цены могут быть только краткосрочными корректировками, а не долгосрочными обратными тенденциями.
  2. Неправильный выбор длинных и коротких средних линий может привести к частым сделкам или упущенным возможностям.
  3. Когда цены сильно колеблются, медленный сплошной перекрестный сигнал может не быть заметен.
  4. Высокая стоимость сделок, слишком частое использование перекрестного сигнала и потеря прибыли
  5. Сильная масштабируемость также сопряжена с риском чрезмерной оптимизации.

Эти риски могут быть контролированы и улучшены следующими способами:

  1. Фильтрация в сочетании с другими показателями, чтобы избежать ошибочных сообщений, таких как отклонения от количества
  2. Настройка параметров уравнения, чтобы найти оптимальную комбинацию и снизить вероятность ошибочных сделок
  3. В то же время, как сообщалось ранее, в Китае наблюдается рост рынка нефти и газа.
  4. Соответствующее смягчение масштабов остановки и сокращение ненужных потерь
  5. Многообразие рецензирования, оценка рисков, предотвращение переоптимизации

Оптимизация

Основными направлениями оптимизации стратегии являются:

  1. Выбор циклов быстрой и медленной средней скорости: текущие параметры по умолчанию могут быть не оптимальными, можно попробовать различные параметры циклов для поиска оптимальной конфигурации

  2. Выбор типа движущегося среднего: в настоящее время доступно несколько вариантов движущегося среднего, которые позволяют проверить, какие типы лучше всего работают на конкретные сорта.

  3. Сочетание с другими показателями или стратегиями: можно попробовать сочетание с показателями волатильности, количественными показателями или стратегиями отслеживания тенденций для повышения эффективности

  4. Параметры адаптивная оптимизация: позволяет параметры уравненного цикла автоматически корректировать в соответствии с рыночной волатильностью и ликвидностью, чтобы повысить стабильность

  5. Помощь с моделями ИИ: использование алгоритмов машинного обучения для анализа большого количества данных и автоматического поиска оптимальных правил торговли

С помощью этих оптимизационных средств можно ожидать дальнейшего повышения эффективности и стабильности стратегии.

Подведение итогов

В целом, стратегия быстрого скрещивания с медленной сеткой является очень полезной стратегией отслеживания трендов. Она улавливает закономерности изменения цен на разных временных масштабах и определяет возможные будущие тенденции и направления цен посредством быстрого скрещивания с медленной сеткой.


/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Author @divonn1994

initial_balance = 100
strategy(title='Fast v Slow Moving Averages Strategy', shorttitle = 'Fast v Slow', overlay=true, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=initial_balance)

//Input for number of bars for moving average, Switch to choose moving average type, Display Options and Time Frame of trading----------------------------------------------------------------

fastBars = input.int(25, "Fast moving average length", minval=1)
slowBars = input.int(62, "Slow moving average length", minval=1)
strategy = input.string("EMA", "MA type", options = ["EMA", "VWMA", "SMA", "RMA", "WMA"])

redOn = input.string("On", "Red Background Color On/Off", options = ["On", "Off"], group='Display')
greenOn = input.string("On", "Green Background Color On/Off", options = ["On", "Off"], group='Display')
maOn = input.string("On", "Moving Average Plot On/Off", options = ["On", "Off"], group='Display')

startMonth = input.int(title='Start Month 1-12 (set any start time to 0 for furthest date)', defval=1, minval=0, maxval=12, group='Beginning of Strategy')
startDate = input.int(title='Start Date 1-31 (set any start time to 0 for furthest date)', defval=1, minval=0, maxval=31, group='Beginning of Strategy')
startYear = input.int(title='Start Year 2000-2100 (set any start time to 0 for furthest date)', defval=2011, minval=2000, maxval=2100, group='Beginning of Strategy')

endMonth = input.int(title='End Month 1-12 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=12, group='End of Strategy')
endDate = input.int(title='End Date 1-31 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=31, group='End of Strategy')
endYear = input.int(title='End Year 2000-2100 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=2100, group='End of Strategy')

//Strategy Calculations-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

inDateRange = true

maMomentum = switch strategy
    "EMA" => (ta.ema(close, fastBars) >= ta.ema(close, slowBars)) ? 1 : -1
    "SMA" => (ta.sma(close, fastBars) >= ta.sma(close, slowBars)) ? 1 : -1
    "RMA" => (ta.rma(close, fastBars) >= ta.rma(close, slowBars)) ? 1 : -1
    "WMA" => (ta.wma(close, fastBars) >= ta.wma(close, slowBars)) ? 1 : -1
    "VWMA" => (ta.vwma(close, fastBars) >= ta.vwma(close, slowBars)) ? 1 : -1
    =>
        runtime.error("No matching MA type found.")
        float(na)

fastMA = switch strategy
    "EMA" => ta.ema(close, fastBars)
    "SMA" => ta.sma(close, fastBars)
    "RMA" => ta.rma(close, fastBars)
    "WMA" => ta.wma(close, fastBars)
    "VWMA" => ta.vwma(close, fastBars)
    =>
        runtime.error("No matching MA type found.")
        float(na)
        
slowMA = switch strategy
    "EMA" => ta.ema(close, slowBars)
    "SMA" => ta.sma(close, slowBars)
    "RMA" => ta.rma(close, slowBars)
    "WMA" => ta.wma(close, slowBars)
    "VWMA" => ta.vwma(close, slowBars)
    =>
        runtime.error("No matching MA type found.")
        float(na)

//Enter or Exit Positions--------------------------------------------------------------------------------------------------------------------------------------------------------------------

if ta.crossover(maMomentum, 0)
    if inDateRange
        strategy.entry('long', strategy.long, comment='long')
if ta.crossunder(maMomentum, 0)
    if inDateRange
        strategy.close('long')

//Plot Strategy Behavior---------------------------------------------------------------------------------------------------------------------------------------------------------------------

plot(series = maOn == "On" ? fastMA : na, title = "Fast Moving Average", color = color.new(color.white,0), linewidth=2, offset=1)
plot(series = maOn == "On" ? slowMA : na, title = "Slow Moving Average", color = color.new(color.purple,0), linewidth=3, offset=1)
bgcolor(color = inDateRange and (greenOn == "On") and maMomentum > 0 ? color.new(color.green,75) : inDateRange and (redOn == "On") and maMomentum <= 0 ? color.new(color.red,75) : na, offset=1)

Больше информации