Стратегия торговли «Двойной разворот»


Дата создания: 2023-11-01 16:49:36 Последнее изменение: 2023-11-01 16:49:36
Копировать: 0 Количество просмотров: 395
1
Подписаться
1218
Подписчики

Стратегия торговли «Двойной разворот»

Обзор

Стратегия двойного обратного трейдинга позволяет эффективно ловить торговые возможности при обратном тренде, объединяя две подстратегии “123 обратный” и “N корневой K-линии последовательное падение”. Эта стратегия лучше подходит для торговли средней и длинной линией.

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

123 перевернуться

“123-й поворот” основан на следующем:

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

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

Снижение N-корневой K-линии

Субстратегия “N-корневая линия K падает вниз” основана на следующем:

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

Эта подстратегия определяет время обратного тренда путем определения последовательного падения определенного количества K-линий.

Сигнал двойной комбинации

Двойная обратная торговая стратегия - это комбинация двух вышеупомянутых подстратегий, когда они одновременно генерируют сигналы о покупке или продаже.

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

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

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

  1. Комбинируя несколько подстратегий, можно эффективно отфильтровать ложные сигналы и повысить их надежность.

  2. 123 Обратная стратегия позволяет точно определить кратковременный тренд-обратный момент. Последовательное падение N-корневой K-линии позволяет определить средне- и долгосрочный тренд-обратный момент. Использование обоих в сочетании позволяет уловить краткосрочные торговые возможности на уровне средней и длинной линий.

  3. Использование индекса K-линии акций, гибкость параметров, подходящая для разных сортов.

  4. Стратегические идеи простые, понятные, простые в понимании и поддержании, подходят для начинающих.

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

Анализ стратегических рисков

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

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

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

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

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

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

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

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

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

  2. Повышение модели машинного обучения для моделирования многомерных характеристик, повышение точности сигналов. Например, введение случайных лесов или нейронных сетей для определения K-линий.

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

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

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

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

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

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

Исходный код стратегии
/*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 )