Стратегия быстрого среднего пересечения - это простая стратегия движущегося среднего. Она использует два движущихся средних, быстрого и медленного, чтобы показать, что цена может вырасти, когда быстрый средний пересекает медленный средний сверху; а когда быстрый средний пересекает медленный средний сверху, чтобы показать, что цена может упасть. Это может служить индикатором прогнозирования будущего движения цен.
Эта стратегия использует два движущихся средних, быстро и медленно. В частности, длина быстрого движущегося среднего по умолчанию составляет 25 циклов, а длина медленного движущегося среднего по умолчанию составляет 62 цикла. Эта стратегия позволяет выбрать различные типы движущихся средних, включая SMA, EMA, WMA, RMA и VWMA.
Когда быстрый средний движущийся пересекает медленный средний движущийся сверху, означающий, что короткая цена начинает прорываться через длинный, это типичный золотой крестовой сигнал, который предвещает, что цена может войти в восходящий канал, в котором стратегия больше; когда быстрый средний движущийся пересекает медленный средний движущийся сверху, означающий, что короткая цена начинает падать через длинный, это смертельный крестовый сигнал, который предвещает, что цена может войти в нисходящий канал, в котором стратегия остановки.
Таким образом, путем быстрого пересечения стержней можно определить тенденцию и направление цены, и соответственно сделать больше или больше, чтобы получить прибыль.
В частности, в частности:
В целом, стратегия с быстрым и медленным скрещиванием средних линий в качестве основного торгового сигнала, обладает сильной способностью судить о будущих тенденциях цены, на основе преимуществ отслеживания тенденций, может получить хорошую прибыль, которая стоит реального применения.
В то же время, по мнению экспертов, эта стратегия несет в себе ряд потенциальных рисков:
Эти риски могут быть контролированы и улучшены следующими способами:
Основными направлениями оптимизации стратегии являются:
Выбор циклов быстрой и медленной средней скорости: текущие параметры по умолчанию могут быть не оптимальными, можно попробовать различные параметры циклов для поиска оптимальной конфигурации
Выбор типа движущегося среднего: в настоящее время доступно несколько вариантов движущегося среднего, которые позволяют проверить, какие типы лучше всего работают на конкретные сорта.
Сочетание с другими показателями или стратегиями: можно попробовать сочетание с показателями волатильности, количественными показателями или стратегиями отслеживания тенденций для повышения эффективности
Параметры адаптивная оптимизация: позволяет параметры уравненного цикла автоматически корректировать в соответствии с рыночной волатильностью и ликвидностью, чтобы повысить стабильность
Помощь с моделями ИИ: использование алгоритмов машинного обучения для анализа большого количества данных и автоматического поиска оптимальных правил торговли
С помощью этих оптимизационных средств можно ожидать дальнейшего повышения эффективности и стабильности стратегии.
В целом, стратегия быстрого скрещивания с медленной сеткой является очень полезной стратегией отслеживания трендов. Она улавливает закономерности изменения цен на разных временных масштабах и определяет возможные будущие тенденции и направления цен посредством быстрого скрещивания с медленной сеткой.
/*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)