Количественная торговая стратегия, основанная на быстрой скользящей средней и медленной скользящей средней


Дата создания: 2024-01-24 14:49:29 Последнее изменение: 2024-01-24 14:49:29
Копировать: 0 Количество просмотров: 484
1
Подписаться
1617
Подписчики

Количественная торговая стратегия, основанная на быстрой скользящей средней и медленной скользящей средней

Обзор

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

Стратегический принцип

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

  1. Вычислить индексную подвижную среднюю АП ценовой массивы с периодичностью 2 дня
  2. Рассчитывается быстрое скользящее среднее на основе АП Fast, с периодом 12 дней
  3. Вычисление медленно-движущегося среднего значения на основе АП Slow, с периодом 26 дней
  4. Сравнение средних скоростных и средних медленных скоростей:
    1. Сигналы с несколькими головами при использовании Slow на Fast
    2. Сигнал запуска, когда Fast проходит через Slow
  5. Для определения конкретного торгового сигнала используйте отношение цены к движущейся средней:
    1. Многоголовый сигнал: Fast>Slow && AP>Fast
    2. Головной сигнал: Fast

Для определения рыночных тенденций и создания торговых сигналов с помощью перекрестных движений средней скорости и средней скорости является типичной двойной стратегией средней скорости.

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

Стратегия двойного прорыва с перемещающейся средней линией имеет следующие преимущества:

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

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

Также существуют риски, связанные со стратегией двойного прорыва:

  1. Когда рынок находится в шокирующем состоянии, появляется больше ложных сигналов.
  2. Двойная подвижная равнолинейная стратегия легко приспосабливается к кривой и игнорирует структурные изменения рынка
  3. Опираясь только на технические показатели, подверженные ложным прорывам, рискуют потерять

Решение проблемы:

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

Направление оптимизации

Стратегия двойного прорыва в сдвижной равной линии может быть оптимизирована в следующих аспектах:

  1. Поиск более подходящего подвижного среднелинейного циклического сочетания для изменения рынка
  2. Фильтрация сигналов по таким показателям, как увеличение объема сделок, чтобы гарантировать эффективность торговых сигналов
  3. В сочетании с рыночными структурными показателями, для идентификации тенденций и корректировки параметров среднелинейного цикла
  4. Использование динамической скользящей средней позволяет автоматически корректировать циклы в зависимости от изменений рынка
  5. В сочетании со стратегией “стоп-лосс” можно эффективно контролировать риски и защищать средства.

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

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

Исходный код стратегии
/*backtest
start: 2023-01-17 00:00:00
end: 2024-01-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("CDC Action Zone V.2", overlay=true)

// CDC ActionZone V2 29 Sep 2016
// CDC ActionZone is based on a simple 2MA and is most suitable for use with medium volatility market
// 11 Nov 2016 : Ported to Trading View with minor UI enhancement
LSB = input(title="Long/Short", defval="Long only", options=["Long only", "Short only" , "Both"])
src = input(title="Data Array",type=input.source,defval=ohlc4)
prd1=input(title="Short MA period", type=input.integer,defval=12)
prd2=input(title="Long MA period",type=input.integer,defval=26)
AP = ema(src,2)
Fast = ema(AP,prd1)
Slow = ema(AP,prd2)


Bullish = Fast>Slow
Bearish = Fast<Slow

Green = Bullish and AP>Fast
Red = Bearish and AP<Fast
Yellow = Bullish and AP<Fast
Blue = Bearish and AP>Fast

Buy = Bullish and Bearish[1]
Sell = Bearish and Bullish[1]


alertcondition(Buy,"Buy Signal","Buy")
alertcondition(Sell,"Sell Signal","Sell")


//Plot

l1=plot(Fast,"Fast", linewidth=1,color=color.red)
l2=plot(Slow,"Slow", linewidth=2,color=color.blue)
bcolor = Green ? color.lime : Red ? color.red : Yellow ? color.yellow : Blue ? color.blue : na
barcolor(color=bcolor)
fill(l1,l2,bcolor)

// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2000, title = "From Year", minval = 1920)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 1921)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

// === FUNCTION EXAMPLE ===
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"


if LSB == "Long only" and Buy and window()
    strategy.entry("L",true)
if LSB == "Long only" and Sell and window()
    strategy.close("L",qty_percent=100,comment="TP Long")
if LSB == "Both" and Buy and window()
    strategy.entry("L",true)
if LSB == "Both" and Sell and window()
    strategy.entry("S",false)
if LSB == "Short only" and Sell and window()
    strategy.entry("S",false)
if LSB == "Short only" and Buy and window()
    strategy.close("S",qty_percent=100,comment="TP Short")