Стратегия двойной обратной торговли

Автор:Чао Чжан, Дата: 2023-11-01 16:49:36
Тэги:

img

Обзор

Стратегия двойного переворота торговли сочетает в себе подстратегии 123 переворота и N последовательных строк вниз для эффективного использования торговых возможностей при переломе тренда.

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

123 Обратное изменение

Подстратегия 123 реверсии основана на принципе:

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

Если цена закрытия предыдущих двух дней показывает обратный ход (т.е. если предыдущая цена закрытия ниже, чем цена закрытия до предыдущего дня, то текущая цена закрытия выше, чем предыдущая цена закрытия), а 9-дневный быстрый стохастический показатель выше 50.

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

N Следующие строки вниз

Подстратегия N последовательных строк вниз основана на принципе:

Посчитайте последние N-бар и посмотрите, показывают ли цены закрытия последовательное снижение.

Эта подстратегия определяет изменение тренда путем последовательного движения цен вниз.

Сочетание сигналов

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

Это помогает отфильтровать некоторые ложные сигналы и делает торговые сигналы более надежными.

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

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

  1. Объединение нескольких подстратегий помогает эффективно отфильтровывать ложные сигналы и повышает надежность сигналов.

  2. Стратегия 123 может точно идентифицировать точки обратного движения краткосрочной тенденции. Стратегия N-bar с последовательным понижением рассматривает среднесрочное и долгосрочное изменение.

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

  4. Логика стратегии проста и легко понять и отследить, подходящая для обучения новичков.

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

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

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

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

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

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

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

  5. При изменении диапазона тренда могут появляться сигналы об изменении.

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

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

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

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

  3. Оптимизировать параметры для различных продуктов посредством обучения для улучшения адаптивности.

  4. Включить стратегии стоп-лосса для контроля рисков одной сделки.

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

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

Заключение

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


/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-28 03:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/03/2021
// 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
// Evaluates for n number of consecutive lower closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// 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


NBD(nLength) =>
    pos = 0.0
    nCounter = 0
    nCounter :=  iff(close[1] <= open[1], nz(nCounter[1],0)+1,
                   iff(close[1] > open[1], 0, nCounter))
    C2 = iff(nCounter >= nLength, 1, 0)
    posprice = 0.0
    posprice := iff(C2== 1, close, nz(posprice[1], 0)) 
    pos := iff(posprice > 0, -1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & N Bars Down", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- N Bars Down ----")
nLength = input(4, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posNBD = NBD(nLength)
pos = iff(posReversal123 == 1 and posNBD == 1 , 1,
	   iff(posReversal123 == -1 and posNBD == -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 )

Больше