Система прорыва разворота двойной перепроданности


Дата создания: 2023-10-27 16:22:08 Последнее изменение: 2023-10-27 16:22:08
Копировать: 0 Количество просмотров: 403
1
Подписаться
1166
Подписчики

Система прорыва разворота двойной перепроданности

Обзор

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

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

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

  1. 123 обратная система

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

  1. T3 скользящая средняя

T3 Moving Average (Т3 Moving Average) - это средняя скользящая величина, рассчитанная по определенной формуле, в сочетании с индексом цены. Она регулирует чувствительность к изменению цены с помощью определенных параметров.

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

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

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

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

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

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

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

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

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

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

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

  1. Настройка параметров в соответствии с рыночными условиями

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

  1. Оптимизация адаптации стратегий в сочетании с машинным обучением

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

  1. Установка отдельных параметров в зависимости от характеристик разных сортов

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

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

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

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/09/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
// This indicator plots the moving average described in the January, 1998 issue
// of S&C, p.57, "Smoothing Techniques for More Accurate Signals", by Tim Tillson.
// This indicator plots T3 moving average presented in Figure 4 in the article.
// T3 indicator is a moving average which is calculated according to formula:
//     T3(n) = GD(GD(GD(n))),
// where GD - generalized DEMA (Double EMA) and calculating according to this:
//     GD(n,v) = EMA(n) * (1+v)-EMA(EMA(n)) * v,
// where "v" is volume factor, which determines how hot the moving average’s response
// to linear trends will be. The author advises to use v=0.7.
// When v = 0, GD = EMA, and when v = 1, GD = DEMA. In between, GD is a less aggressive
// version of DEMA. By using a value for v less than1, trader cure the multiple DEMA
// overshoot problem but at the cost of accepting some additional phase delay.
// In filter theory terminology, T3 is a six-pole nonlinear Kalman filter. Kalman
// filters are ones that use the error — in this case, (time series - EMA(n)) — 
// to correct themselves. In the realm of technical analysis, these are called adaptive
// moving averages; they track the time series more aggres-sively when it is making large
// moves. Tim Tillson is a software project manager at Hewlett-Packard, with degrees in
// mathematics and computer science. He has privately traded options and equities for 15 years.  
//
// 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


T3A(Length, b) =>
    pos = 0.0
    xPrice = close
    xe1 = ema(xPrice, Length)
    xe2 = ema(xe1, Length)
    xe3 = ema(xe2, Length)
    xe4 = ema(xe3, Length)
    xe5 = ema(xe4, Length)
    xe6 = ema(xe5, Length)
    c1 = -b*b*b
    c2 = 3*b*b+3*b*b*b
    c3 = -6*b*b-3*b-3*b*b*b
    c4 = 1+3*b+b*b*b+3*b*b
    nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3
    pos:= iff(nT3Average > close, -1,
           iff(nT3Average < close, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & T3 Averages", 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, "---- T3 Averages ----")
LengthT3 = input(5, minval=1)
b = input(0.7, minval=0.01,step=0.01) 
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posT3A = T3A(LengthT3, b)
pos = iff(posReversal123 == 1 and posT3A == 1 , 1,
	   iff(posReversal123 == -1 and posT3A == -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 )