Двойной индекс импульса и стратегия разворота композитного индикатора


Дата создания: 2024-02-06 12:22:32 Последнее изменение: 2024-02-06 12:22:32
Копировать: 0 Количество просмотров: 350
1
Подписаться
1166
Подписчики

Двойной индекс импульса и стратегия разворота композитного индикатора

Обзор

Стратегия двойного динамического индекса с обратным поворотом является комбинацией стратегии обратного поворота и динамического поворота. Она использует две подстратегии 123 обратного поворота и индекса выбора товаров (CSI) для определения времени входа в рынок на основе двойного сигнала.

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

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

  1. 123 обратная стратегия. Это стратегия обратного преобразования. Она делает выигрыш, когда цена закрытия повышается два дня подряд, а показатель Stoch ниже 50; она делает выигрыш, когда цена закрытия падает два дня подряд, а показатель Stoch выше 50; это стратегия обратного преобразования.

  2. Индекс выбора товара (CSI) является стратегией, которая объединяет средний показатель истинного ценового диапазона (ATR) и средний показатель направленного движения (ADX). ATR отражает волатильность рынка, а ADX отражает силу тренда. Чем выше значение CSI, тем более волатильность и волатильность рынка.

Вся стратегия основана на стратегии 123 reversal, а CSI - на вспомогательном подтверждении. Торговые сигналы появляются только тогда, когда оба сигнала совпадают. При выполнении перегрузки, цена закрытия повышается на два дня подряд, и stoch ниже 50, а CSI проходит через его движущуюся среднюю; при выполнении пробелов, цена закрытия падает на два дня подряд, и stoch выше 50, а CSI проходит через его движущуюся среднюю.

Это гарантирует обратную характеристику торгового сигнала, а также снижает количество ложных сигналов.

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

Эта стратегия имеет следующие преимущества:

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

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

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

  4. Субстратегия может быть активирована отдельно. Эта стратегия поддерживает торговлю только с использованием стратегии 123 reverse или стратегии CSI отдельно. Это обеспечивает гибкость стратегии.

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

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

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

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

  3. 123 обратная сторона относится к операциям обратного рынка. В случае последовательного и резкого одностороннего прорыва цены эта стратегия будет подвержена большому риску.

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

Основные возможности для оптимизации стратегии:

  1. Оптимизируйте параметры каждой подстратегии, чтобы найти оптимальное сочетание параметров. Включая параметры показателя Сточа, параметры показателя CSI и т. Д.

  2. Тестирование фильтров различных состояний рынка. Например, использование стратегии CSI только в условиях преобладания тенденции, использование стратегии 123 reversal только в условиях волатильности рынка и т. Д. Это может в некоторой степени преодолеть недостатки подстратегии.

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

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

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

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

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/10/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
// The Commodity Selection Index ("CSI") is a momentum indicator. It was 
// developed by Welles Wilder and is presented in his book New Concepts in 
// Technical Trading Systems. The name of the index reflects its primary purpose. 
// That is, to help select commodities suitable for short-term trading.
// A high CSI rating indicates that the commodity has strong trending and volatility 
// characteristics. The trending characteristics are brought out by the Directional 
// Movement factor in the calculation--the volatility characteristic by the Average 
// True Range factor.
// Wilder's approach is to trade commodities with high CSI values (relative to other 
// commodities). Because these commodities are highly volatile, they have the potential 
// to make the "most money in the shortest period of time." High CSI values imply 
// trending characteristics which make it easier to trade the security.
// The Commodity Selection Index is designed for short-term traders who can handle 
// the risks associated with highly volatile markets.
//
// 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

fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

CSI(Length, Commission, Margin, PointValue) =>
    pos = 0.0
    K = 100 * ((PointValue / sqrt(Margin) / (150 + Commission)))
    xATR = atr(Length)
    xADX = fADX(Length)
    nADXR = (xADX + xADX[Length]) * 0.5
    xCSI = K * xATR * nADXR
    xMACSI = sma(xCSI, Length)
    pos := iff(xCSI < xMACSI, 1,
    	     iff(xCSI > xMACSI, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategy 123 Reversal & Commodity Selection Index", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
PointValue = input(50)
Margin = input(3000)
Commission = input(10)
LengthCSI = input(14)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCSI = CSI(LengthCSI, Commission, Margin, PointValue)
pos = iff(posReversal123 == 1 and posCSI == 1 , 1,
	   iff(posReversal123 == -1 and posCSI == -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 )