Estrategia de oscilación de ataque de tendencia de precio de volumen de media móvil


Fecha de creación: 2023-11-16 16:46:51 Última modificación: 2023-11-16 16:46:51
Copiar: 1 Número de Visitas: 627
1
Seguir
1617
Seguidores

Estrategia de oscilación de ataque de tendencia de precio de volumen de media móvil

Descripción general

La estrategia combina las medias móviles, las medias de medición y las medias de oscilación para formar un triple filtro, con el objetivo de capturar las tendencias de línea corta y media para obtener mejores ganancias en situaciones de tendencia.

El principio

La estrategia tiene tres partes principales:

  1. Indicador de las medias móviles

El filtro de tendencia se construye usando el promedio móvil de 20 días y el promedio móvil de 60 días. Se forma una señal de compra cuando se cruza el promedio móvil de largo plazo por encima del promedio móvil de corto plazo; se forma una señal de venta cuando se cruza el promedio móvil de largo plazo por debajo del promedio móvil de corto plazo.

  1. Indicadores de precio y cantidad

El uso de la cantidad de transacciones dividida por el indicador de la cantidad calculado por la cantidad de transacciones para determinar la dirección del flujo de fondos. El aumento de la cantidad de precios indica el flujo neto de fondos, la disminución de la cantidad de precios indica el flujo neto de fondos.

  1. Indicador de la cinta de Bryn

El uso de 20 días de ancho de canal de Donchian para calcular el parámetro de la banda de Bryn para formar una órbita ascendente y descendente. Cuando el precio está cerca de la órbita ascendente, indica que puede enfrentar presión de reajuste; cuando el precio está cerca de la órbita descendente, indica que puede enfrentar una oportunidad de rebote de soporte.

Combinando estas tres partes, se construye una estrategia multi-espacio para capturar tendencias de líneas cortas. Cuando las medias móviles de corto plazo atraviesan las medias móviles de largo plazo y los indicadores de precio de medida están en una tendencia ascendente, se forma una señal de compra cuando los precios salen de la banda de Brin en la vía; cuando las medias móviles de corto plazo atraviesan las medias móviles de largo plazo y los indicadores de precio de medida están en una tendencia descendente cuando los precios salen de la banda de Brin en la vía, se forma una señal de venta.

Las ventajas

La estrategia tiene las siguientes ventajas:

  1. Los filtros de triple indicador son efectivos para evitar falsos brechas.

  2. Las señales son más confiables si se tienen en cuenta las tendencias, los flujos de capital y las sobrecompras y sobreventa.

  3. Los parámetros del indicador han sido optimizados para diferentes ciclos y variedades.

  4. El retiro es controlado, los ingresos estables.

  5. La lógica es clara y fácil de entender, los parámetros se ajustan con flexibilidad.

El riesgo

La estrategia también tiene sus riesgos:

  1. Riesgo de cambio de tendencia. Cuando la tendencia del mercado cambia, puede causar pérdidas.

  2. El retraso en el indicador de la cantidad y el precio. El retraso en el indicador de la cantidad y el precio puede provocar que se pierda el punto de compra o venta.

  3. Dificultad para ajustar los parámetros. Diferentes variedades y períodos requieren ajustar los parámetros, de lo contrario, el efecto puede no ser bueno.

  4. El control de la retirada puede ser mejorado. El control de la retirada se puede optimizar aún más a través de la gestión dinámica de pérdidas o posiciones.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Aumentar las estrategias de detención de pérdidas y controlar aún más las retiradas mediante el movimiento de las paradas y el seguimiento de las paradas.

  2. Añadir un módulo de gestión de posiciones para ajustar el tamaño de las posiciones según la dinámica de la volatilidad del mercado.

  3. Optimización de los parámetros indicadores para encontrar la combinación óptima de parámetros en diferentes ciclos de variedades.

  4. Aumentar la capacidad de los modelos de aprendizaje automático para auxiliar en el juicio y mejorar la precisión de las señales.

  5. La combinación de los indicadores de emoción y la imagen de la noticia mejora el juicio sobre los eventos inesperados.

Resumir

La estrategia utiliza una combinación de medias móviles, indicadores de precios y indicadores de bandas de Brin para capturar mejor las tendencias en las líneas medias y cortas. Se puede obtener un mejor efecto de la estrategia optimizando aún más los puntos de parada, administración de posiciones y selección de parámetros. La lógica de la estrategia es clara y fácil de entender, se pueden ajustar los indicadores y parámetros según las diferentes necesidades, y tiene una gran flexibilidad.

Código Fuente de la Estrategia
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 29/04/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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.
//
// Secon strategy
// The Average Directional Movement Index Rating (ADXR) measures the strength 
// of the Average Directional Movement Index (ADX). It's calculated by taking 
// the average of the current ADX and the ADX from one time period before 
// (time periods can vary, but the most typical period used is 14 days).
// Like the ADX, the ADXR ranges from values of 0 to 100 and reflects strengthening 
// and weakening trends. However, because it represents an average of ADX, values 
// don't fluctuate as dramatically and some analysts believe the indicator helps 
// better display trends in 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)

ADXR(LengthADX, LengthADXR, Signal1, Signal2) =>
    xADX = fADX(LengthADX)
    xADXR = (xADX + xADX[LengthADXR]) / 2
    pos = 0.0
    pos := iff(xADXR < Signal1, 1,
           iff(xADXR > Signal2, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal and Average Directional Movement Index Rating", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
LengthADX = input(title="Length ADX", defval=14)
LengthADXR = input(title="Length ADXR", defval=14)
Signal1 = input(13, step=0.01)
Signal2 = input(45, step=0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posADXR = ADXR(LengthADX, LengthADXR, Signal1, Signal2 )
pos = iff(posReversal123 == 1 and posADXR == 1 , 1,
	   iff(posReversal123 == -1 and posADXR == -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 ? red: possig == 1 ? green : blue )