Estrategia de trading cuantitativo basada en el oscilador de Gann


Fecha de creación: 2023-09-15 11:37:37 Última modificación: 2023-09-15 11:37:37
Copiar: 0 Número de Visitas: 903
1
Seguir
1617
Seguidores

En este artículo se detalla una estrategia para el comercio cuantitativo que utiliza el indicador de oscilación de Gansu. La estrategia determina la tendencia de los mercados a la volatilidad para generar señales de negociación mediante el cálculo de los puntos máximos de volatilidad.

El principio de la estrategia

El indicador central de la estrategia es el indicador de oscilación de Gansu, cuyos principales pasos de cálculo son los siguientes:

  1. Calcular el precio más alto y el precio más bajo en un período determinado;

  2. Comparar la relación entre el valor máximo de las dos líneas K anteriores y el tamaño de la línea K más reciente, para determinar el punto máximo de múltiples cabezas;

  3. Comparar la relación entre el precio mínimo de las dos líneas K anteriores y el tamaño de la línea K más reciente para determinar el punto máximo de la cabeza vacía;

  4. Los valores de los indicadores de oscilación de Gansu se calculan en función de la relación de los puntos extremos.

  5. El valor del indicador determina la tendencia a la volatilidad y genera una señal de negociación.

De este modo, mediante la determinación de los puntos máximos de la pluralidad de los precios, se puede identificar de manera eficaz los puntos de reversión y la dirección de la tendencia del mercado.

Dos, las ventajas estratégicas

La mayor ventaja de esta estrategia es que los indicadores son fáciles de calcular y utilizan directamente la comparación de los extremos de precios para determinar la dirección de la tendencia.

Otra ventaja es que la configuración de los parámetros es simple, ya que solo se requiere un parámetro de ciclo.

Finalmente, las señales de transacción son claras, o más o vacías, evitando la superposición de operaciones.

Tercero, el riesgo potencial.

Pero la estrategia también tiene algunos problemas potenciales:

En primer lugar, el indicador se retrasó en la detección de señales de avance, y podría haber perdido la mejor posición de entrada.

En segundo lugar, no hay un límite de pérdidas y no se puede controlar el riesgo de una sola transacción.

Finalmente, las señales a menudo requieren una buena gestión de fondos para controlar las pérdidas.

Cuatro contenido, resumen

Este artículo detalla una estrategia de comercio cuantitativa basada en el indicador de oscilación de Gannett. Identifica tendencias de mercado y momentos de reversión mediante la determinación de los puntos máximos de precios. Pero también hay algunos problemas que necesitan ser mejorados, como la configuración de paradas de pérdida, control de la señal de retraso, etc. En general, ofrece una estrategia única para usar la comparación de precios para determinar tendencias.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/06/2017
// The Gann Swing Oscillator has been adapted from Robert Krausz's book, 
// "A W.D. Gann Treasure Discovered". The Gann Swing Oscillator helps 
// define market swings. 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Gann Trend Oscillator")
Length = input(3, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=hline.style_dashed)
xHH = highest(close, Length)
xLL = lowest(close, Length)
xGSO = iff(xHH[2] > xHH[1] and xHH[0] > xHH[1], -1,
         iff(xLL[2] < xLL[1] and xLL[0] < xLL[1], 1, nz(xGSO[1],0)))
pos = iff(xGSO > 0, 1,
	     iff(xGSO < 0, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )        
plot(xGSO, color=blue, title="GTO")