Двухфакторная циклическая торговая стратегия


Дата создания: 2023-12-05 17:56:27 Последнее изменение: 2023-12-05 17:56:27
Копировать: 2 Количество просмотров: 614
1
Подписаться
1619
Подписчики

Двухфакторная циклическая торговая стратегия

Обзор

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

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

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

Стратегия состоит из двух частей:

  1. 123 Стратегия переворота Эта стратегия была основана на книге Ульфа Дженсена “Как я перевернул свои деньги в третий раз” на рынке фьючерсов. Логика торговли заключается в следующем: когда цена закрытия на два дня подряд выше цены закрытия предыдущего дня, а на девятый день медленная K-линия ниже 50 - делать больше; когда цена закрытия на два дня подряд ниже цены закрытия предыдущего дня, а на девятый день быстрая K-линия выше 50.

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

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

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

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

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

  2. Система циклического трейдинга позволяет стратегии адаптироваться к изменениям рынка и эффективно контролировать односторонние потери.

  3. 9-дневный стохастический индикатор отфильтровывает рыночный шум, делая сигнал более четким.

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

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

Однако эта стратегия также несет в себе некоторые риски:

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

  2. Настройка параметров Stochastics влияет на качество сигнала. Неправильные параметры могут привести к неправильному расположению сигнала, снижению качества. Параметры требуют повторного тестирования и оптимизации.

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

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

Мы можем оптимизировать эту стратегию в следующих аспектах:

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

  2. Добавить фильтр трендов, отфильтровывать шокирующие события и открывать позиции только при четкой тенденции

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

  4. Тестирование различных комбинаций, чтобы найти более четкие торговые сигналы и более стабильные стратегии

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

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

Исходный код стратегии
/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 13/11/2019
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Cueing Off Support And Resistance Levels, by Thom Hartle 
// modified by HPotter for trade signals.
// The related article is copyrighted material from Stocks & Commodities.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

COSRL(SigVal) =>
    pos = 0.0
    xLow = low
    xHigh = high
    xHighD = security(syminfo.tickerid,"W", high[1])
    xLowD  = security(syminfo.tickerid,"W", low[1])
    sigpre1 = iff(xHigh <= xLowD, -1,
                 iff(xLow >= xHighD, 1, nz(pos[1], 0))) 
    sigpre2 = iff( xHigh <= xHighD, -1,
                 iff(xLow >= xLowD, 1, nz(pos[1], 0))) 
    pos := SigVal ? sigpre1 : sigpre2
    pos

strategy(title="Combo Backtest 123 Reversal & Cueing Off Support And Resistance Levels", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SigVal = input(true, title="To Line \ From Line")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCOSRL = COSRL(SigVal)
pos = iff(posReversal123 == 1 and posCOSRL == 1 , 1,
	   iff(posReversal123 == -1 and posCOSRL == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )