Стратегия двойного следования за трендом


Дата создания: 2024-01-02 10:41:30 Последнее изменение: 2024-01-02 10:41:30
Копировать: 0 Количество просмотров: 638
1
Подписаться
1621
Подписчики

Стратегия двойного следования за трендом

Обзор

Стратегия двойного отслеживания трендов - это количественная торговая стратегия, которая одновременно использует двойные индикаторы для определения тренда. Эта стратегия сначала использует 123 обратного индикатора для определения обратного сигнала цены, а затем использует индикатор направленного тренда ((DTI) для определения направления ценового тренда, что позволяет реализовать двойной сигнал подтверждения заказа.

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

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

  1. 123 показатель переворота

123 Основные принципы оценки обратных показателей:

  • Когда цена закрытия повышается 2 дня подряд, и медленная K-линия ниже 50 на 9 день, делайте больше;

  • Когда цена закрытия падает 2 дня подряд, и скорость K-линии превышает 50 на 9 день, делайте пробел.

Это позволяет зафиксировать момент, когда цены изменяются.

  1. Показатель направленного тренда (DTI)

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

  • Когда DTI выше линейки перекупа, это указывает на текущую тенденцию к снижению;

  • Когда DTI ниже линии распродажи, это указывает на то, что в настоящее время наблюдается тенденция к росту.

  1. Сочетание двух вещей

Сначала используйте 123 индикатора обратного курса, чтобы определить, появились ли сигналы обратного курса. Затем используйте DTI индикатор, чтобы определить направление общей тенденции после обратного курса.

Это позволяет избежать проблем с ложными обратными поворотами, вызванными простой зависимостью от обратного сигнала, что повышает стабильность и прибыльность стратегии.

Стратегические преимущества

  1. Подтверждение двойных показателей, чтобы избежать риска ложных поворотов

  2. Комбинация реверсивности и тенденциозности с учетом операционной гибкости и стабильности

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

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

  1. Настройка параметров DTI требует опыта, и неправильно будет неправильно оценивать направление тренда

  2. “Возвращение не обязательно означает формирование новой тенденции, может вызвать потрясение”

  3. Необходимость эффективного сдерживания убытков и борьбы с единичными потерями

Решение: параметрическая оптимизация теста + разумный стоп + комбинация с другими показателями

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

  1. Тестирование параметров DTI, чтобы найти оптимальную комбинацию параметров

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

  3. Оптимизация стратегии остановки убытков и поиск оптимальных стоп-пойнтов

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

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

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/02/2020
// 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 technique was described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). His book focuses on three key aspects 
// of trading: momentum, direction and divergence. Blau, who was an electrical 
// engineer before becoming a trader, thoroughly examines the relationship between 
// price and momentum in step-by-step examples. From this grounding, he then looks 
// at the deficiencies in other oscillators and introduces some innovative techniques, 
// including a fresh twist on Stochastics. On directional issues, he analyzes the 
// intricacies of ADX and offers a unique approach to help define trending and 
// non-trending periods.
// Directional Trend Index is an indicator similar to DM+ developed by Welles Wilder. 
// The DM+ (a part of Directional Movement System which includes both DM+ and 
// DM- indicators) indicator helps determine if a security is "trending." William 
// Blau added to it a zeroline, relative to which the indicator is deemed positive or 
// negative. A stable uptrend is a period when the DTI value is positive and rising, a 
// downtrend when it is negative and falling. 
//
// 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

TDI(r,s,u,OS,OB) =>
    pos = 0.0
    xHMU = iff(high - high[1] > 0, high - high[1], 0)
    xLMD = iff(low - low[1] < 0, -(low - low[1]), 0)
    xPrice = xHMU - xLMD
    xPriceAbs = abs(xPrice)
    xuXA = ema(ema(ema(xPrice, r),s),u)
    xuXAAbs = ema(ema(ema(xPriceAbs, r),s),u)
    Val1 = 100 * xuXA
    Val2 = xuXAAbs
    DTI = iff(Val2 != 0, Val1 / Val2, 0)
    pos := iff(DTI > OS, -1,
    	     iff(DTI < OB, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Directional Trend Index (DTI)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(14, minval=1)
s = input(10, minval=1)
u = input(5, minval=1)
OS = input(45, minval=1)
OB = input(-45, maxval=-1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posTDI = TDI(r,s,u,OS,OB)
pos = iff(posReversal123 == 1 and posTDI == 1 , 1,
	   iff(posReversal123 == -1 and posTDI == -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 )