Кроссовер-мастер - стратегия отмены выхода

Автор:Чао Чжан, Дата: 2023-10-20 17:24:14
Тэги:

img

Обзор

Стратегия Crossover Master - Reversal Breakout - это простая, но практичная стратегия торговли, основанная на скользящих средних. Она использует перекресток быстрого скользящего среднего и медленного скользящего среднего в качестве сигналов покупки и продажи. Когда быстрый MA пересекает медленный MA, генерируется сигнал покупки. Когда быстрый MA пересекает медленный MA, генерируется сигнал продажи. Стратегия подходит для рынков со средней волатильностью.

Логика стратегии

Стратегия использует два скользящих средних: краткосрочный быстрый MA и долгосрочный медленный MA. Период быстрого MA составляет 12, а медленный MA - 26. Стратегия сначала рассчитывает 2-дневную простую скользящую среднюю от ENDPOINT в качестве ввода цены, затем вычисляет быстрый MA и медленный MA. Если быстрый MA пересекает длину над медленным MA, запускается сигнал покупки. Если быстрый MA пересекает длину ниже медленного MA, запускается сигнал продажи.

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

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

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

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

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

Преимущества этой стратегии:

  1. Логика стратегии проста и понятна, легко понять и реализовать.

  2. Метод скользящей средней является зрелым и надежным, широко используемым.

  3. Дизайн двойного MA может эффективно отфильтровывать рыночный шум и выявлять тенденции.

  4. Объединение динамики цен улучшает точность сроков торговли.

  5. Большое пространство для оптимизации параметров в соответствии с рынком.

  6. Стоп-лосс может быть добавлен для контроля рисков.

  7. Умеренная частота торговли, избегание переторговли.

  8. Можно комбинировать с другими показателями, такими как полосы Боллинджера, RSI для улучшения.

  9. Достаточные данные обратного тестирования для подтверждения эффективности стратегии.

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

Риски этой стратегии включают:

  1. Стратегии двойного MA могут генерировать ложные сигналы, отсутствующие тенденции или ненужные сделки.

  2. МА имеет задержанный эффект, может пропустить быстрые отступления.

  3. Неправильные параметры приводят к слишком высокой или низкой частоте торговли.

  4. Эта стратегия более подходит для средне-долгосрочной торговли.

  5. Неспособны адаптироваться к внезапным рыночным шокам.

  6. Возможность потерь в течение определенных периодов.

  7. Параметры необходимо корректировать для разных продуктов.

  8. Менее эффективно на рынках с ограниченным диапазоном.

Риски могут быть уменьшены:

  1. Оптимизация параметров в соответствии с условиями рынка.

  2. Добавление фильтров с другими показателями.

  3. Внедрение стоп-лосса для контроля потерь.

  4. Правильное регулирование размеров позиций.

  5. Испытание и оптимизация параметров по продуктам.

Руководство по оптимизации

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

  1. Оптимизировать периоды MA, чтобы лучше соответствовать текущему рынку.

  2. Проверить различные типы МА, такие как EMA, WMA и т.д.

  3. Добавьте индикатор объема для подтверждения тенденций.

  4. Соедините другие индикаторы, такие как MACD, RSI для слияния.

  5. Добавьте такие методы стоп-лосса, как отслеживание стоп-лосса.

  6. Оптимизировать методы размещения позиций, например, фиксированные фракционные, динамические и т.д.

  7. Оптимизация параметров испытания по периодам времени и продуктам.

  8. Внедрить машинное обучение для автоматической настройки параметров и проверки сигнала.

  9. Используйте глубокое обучение для обнаружения более сложных моделей диаграмм.

  10. Исследуйте концепции разработки стратегии без параметров.

Постоянная оптимизация может улучшить адаптивность стратегии и достичь последовательных результатов в различных рыночных условиях.

Резюме

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


/*backtest
start: 2022-10-13 00:00:00
end: 2023-10-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("CDC Action Zone V.2 strategy", overlay=true)
// Credit Script base from CDC Action Zone V.2 by piriya33
// 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

src = input(title="Data Array",defval=ohlc4)
prd1=input(title="Short MA period",defval=12)
prd2=input(title="Long MA period",defval=26)
AP = ema(src,2)
Fast = ema(AP,prd1)
Slow = ema(AP,prd2)

// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2019, title = "From Year", minval = 2009)
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 = 2009)
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()  => time >= start and time <= finish ? true : false // create function "within window of time"

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

//Long Signal
Buy = Green and Green[1]==0
Sell = Red and Red[1]==0

//Short Signal
Short = Red and Red[1]==0
Cover = Red[1] and Red==0

//Plot

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

strategy.entry("Buy",true,when=window() and Buy)
strategy.close_all(when=window() and Sell)


Больше