English Русский 中文 Deutsch 日本語 Português
Módulo de señales comerciales según el sistema de Bill Williams

Módulo de señales comerciales según el sistema de Bill Williams

MetaTrader 5Sistemas comerciales | 12 enero 2016, 14:11
2 432 1
Nikolay Churbanov
Nikolay Churbanov

Introducción

El sistema comercial de Bill Williams, descrito en su libro "Nuevas Dimensiones de Trading", lo conoce a buen seguro cada tráder. Se trata de uno de los sistemas que presentan las reglas de forma más clara y comprensible para la mayoría de los principiantes. Pero la sencillez de las reglas expuestas es tan solo aparente: el sistema comercial cuenta con más de una decena de patrones comerciales.

Han sido muchos los que han intentado escribir por su cuenta un asesor sobre este sistema, pero la formalización de patrones y la búsqueda e interpretación correctas resultan de una gran dificultad con frecuencia. Para automatizar el comercio, así como para identificar y marcar los patrones del sistema, he desarrollado un módulo de señales comerciales para crear robots en el MQL5 Wizard.

He intentado dar el máximo de comodidades a aquellos usuarios potenciales del terminal MetaTrader 5 que quieran comprender por su cuenta este sistema. La diferencia del módulo comercial que propongo, con respecto a los otros 60 módulos para el MQL5 Wizard publicados, reside en que este contiene la posibilidad de realizar ajustes con la ayuda de un interfaz visual.

Bien, aquí tenemos las funciones principales del módulo comercial:

  1. Ajuste de los parámetros del sistema comercial con la ayuda de un panel gráfico.
  2. Posibilidad de desactivar la identificación y el marcado de los patrones elegidos.
  3. Posibilidad de desactivar el comercio según los parámetros elegidos.
  4. Posibilidad de optimizar los parámetros del sistema comercial.

Composición (el código fuente se encuentra en el archivo adjunto al artículo billwilliamsts.zip):

  1. Clase MQL5 CBillWilliamsTS. Aquí se contiene toda la lógica para determinar los patrones comerciales del sistema, así como la lógica para realizar las operaciones conforme a los patrones encontrados. De forma opcional, con la ayuda de la clase, se pueden marcar los patrones encontrados en el gráfico del instrumento comercial. La clase se encuentra en el archivo BillWilliamsTS.mqh.
  2. Clase MQL5 del panel gráfico CBillWilliamsDialog. Está pensada para representar un panel de ajustes para el control interactivo del objeto de clase CBillWilliamsTS. La clase se encuentra en el archivo BillWilliamsPanel.mqh.
  3. Clase MQL5 SignalBillWilliams. Módulo de señales comerciales, usado en el MQL5 Wizard para la creación automática del asesor.
  4. Asesor MQL5 BillWilliamsEA. Experto comercial desarrollado sobre la base de las clases del comercio y el panel gráfico. Diseñado para automatizar el comercio según los patrones del sistema comercial de Bill Williams. Contenido en el archivo BillWilliamsEA.mq5.

El material se presenta en la secuencia siguiente:

  1. Breve descripción de la estrategia comercial de Bill Williams, de los patrones usados en ella, así como del marcado realizado por el asesor desarrollado.
  2. Descripción del panel gráfico.
  3. Resultados de la simulación en diferentes instrumentos comerciales.


1. Breve panorámica del sistema comercial de Bill Williams

1.1. Información general

En su libro "Nuevas Dimensiones de Trading", Bill Williams afirma que para comerciar de forma rentable en los mercados financieros, es necesario conocer la estructura del mercado. Desde el punto de vista del sistema, en el mercado existen cinco dimensiones, siguiendo las cuales de forma conjunta, es posible obtener una imagen global auténtica y llevarse del mercado hasta el 80% del movimiento de la tendencia:

  1. Fractal (espacio de la fase)
  2. Fuerza motora (energía de la fase)
  3. Aceleración/ralentización (fuerza de la fase)
  4. Zona (combinación de la fuerza/energía de la fase)
  5. Línea de Equilibrio

De forma adicional a las cinco dimensiones de Bill Williams, introduce dos estados del mercado bien conocidos por todos: tendencia y flat. Para identificarlos, el autor del sistema propone usar el indicador Alligator, desarrollado por él, y recomienda trabajar solo con los sectores de tendencia del mercado.

A continuación, se estudian los elementos del sistema comercial, los patrones comerciales basados en ellos y las peculiaridades del marcado de la señales encontradas con la ayuda del módulo de señales comerciales desarrollado.


1.2. Alligator

El indicador Alligator supone una combinación de tres medias móviles (Dibujo 1):

  • Las mandíbulas (jaws), la línea lenta (azul), normalmente, una media móvil de 13 periodos;
  • Los dientes (teeth), la línea media (roja), normalmente, una media móvil de 8 periodos;
  • Los labios (lips), la línea rápida (verde), normalmente, una media móvil de 5 periodos;

Dibujo 1. Alligator

Dibujo 1. Alligator

De acuerdo con el sistema, las operaciones comerciales se deben ejecutar cuando las líneas del Alligator estén dirigidas en dirección a la tendencia en orden descendente de magnitud de su periodo: precio, labios, dientes, mandíbulas. En el dibujo se muestra el comienzo y el final de la tendencia descendente.

Resulta obvio, que Alligator es un indicador con un retardo más que considerable, como todos los indicadores basados en medias móviles. Sin embargo, el cruce de líneas de las medias móviles por sí mismo no es una señal para entrar en el mercado, sino que simplemente es un filtro de las transacciones realizadas.


1.3. Fractales - señales de la primera dimensión del mercado

Un fractal es información que consta de 5 velas. Fractal de venta — es el fractal cuyo precio Low de la vela media es el precio mínimo. Fractal de compra — es el fractal cuyo precio High de la vela media es el precio máximo. Los fractales también son llamados la primera dimensión del mercado (dimension 1):

Dibujo 2. Fractales

Dibujo 2. Fractales

Un fractal se considera de trabajo, si se ha formado por encima de la línea de la línea media del Alligator (dientes) para la tendencia ascendente o por debajo de la línea media para la tendencia descendente.

El asesor desarrollado marca los fractales de trabajo de la siguiente forma (FrB — FractalBuy — fractal, FrS — FractalSell — fractal de trabajo de venta):

Dibujo 3. Fractal de trabajo de compra

Dibujo 3. Fractal de trabajo de compra


Dibujo 4. Fractal de trabajo de venta

Dibujo 4. Fractal de trabajo de venta

La orden pendiente Buy Stop se ubica 1 pip por encima del máximo de la barra en la que se ha formado el fractal de trabajo de compra. La orden pendiente Sell Stop se ubica 1 pip por debajo del mínimo de la barra en la que se ha formado el fractal de trabajo de venta. Las posiciones adicionales (según fractales y otros instrumentos) se abren solo después de que se haya superado el primer fractal tras el cambio de tendencia por parte de Alligator.


1.4. Awesome Oscillator — AO — señales de la segunda dimensión del mercado

1.4.1. Información general

Asesor maravilloso (Awesome Oscillator — AO) que determina la fuerza motora del mercado. Constituye la diferencia entre una SMA de 34 periodos y una SMA de 5 periodos, calculadas conforme a los valores centrales de las barras. En el gráfico, el indicador se presenta en forma de histograma:

Dibujo 5. Awesome oscillator

Dibujo 5. Awesome Oscillator

En la estrategia comercial existen 6 patrones, basados en el oscilador. A continuación presentamos su descripción y su marcado con ayuda del asesor desarollado.

1.4.2. Patrón de compra "Platillo"

Dibujo 6. Patrón de compra "Platillo"

Dibujo 6. Patrón de compra "Platillo"

El patrón consta de tres columnas. La primera columna debe estar por encima de la columna media y puede ser de cualquier color. La columna media debe ser roja. La tercera columna (de señal) debe ser verde. La señal es representada por el experto en el indicador AO y tiene la abreviatura DiB (Dish Buy).

1.4.3. Patrón de venta "Platillo"

Dibujo 7. Patrón de venta "Platillo"

Dibujo 7. Patrón de venta "Platillo"

El patrón consta de tres columnas. La primera columna debe estar por debajo de la columna media y puede ser de cualquier color. La columna media debe ser verde. La tercera columna (de señal) debe ser roja. La señal es representada por el experto en el indicador AO y tiene la abreviatura DiS (Dish Sell).

1.4.4. Patrón de compra "Cruce de la línea cero"

Dibujo 8. Patrón de compra "Cruce de la línea cero"

Dibujo 8. Patrón de compra "Cruce de la línea cero"

La señal aparece cuando el histograma cruza la línea cero de abajo hacia arriba. La columna que cruce la línea cero, será la de señal. La señal es representada por el experto en el indicador AO y tiene la abreviatura CrB (Cross Buy).

1.4.5. Patrón de venta "Cruce de la línea cero"

Dibujo 9. Patrón de venta "Cruce de la línea cero"

Dibujo 9. Patrón de venta "Cruce de la línea cero"

La señal aparece cuando el histograma cruza la línea cero de arriba hacia abajo. La columna que cruce la línea cero, será la de señal. La señal es representada por el experto en el indicador AO y tiene la abreviatura CrS (Cross Sell).

1.4.6. Patrón de compra "Dos picos"

Dibujo 10. Patrón de compra "Dos picos"

Dibujo 10. Patrón de compra "Dos picos"

La señal de compra se forma cuando el histograma se encuentra por debajo de la línea cero, y el último mínimo del indicador está por encima del anterior. Además, entre estos extremos, el histograma no ha ascendido por encima del cero. La señal es representada por el experto en el indicador AO y tiene la abreviatura 2pB (2 peak Buy).

1.4.7. Patrón de venta "Dos picos"

Dibujo 11. Patrón de venta "Dos picos"

Dibujo 11. Patrón de venta "Dos picos"

La señal de venta se forma cuando el histograma se encuentra por encima de la línea cero, y el último máximo del indicador está por debajo del anterior. Además, entre estos extremos, el histograma no ha descendido por debajo del cero. La señal es representada por el experto en el indicador AO y tiene la abreviatura 2pS (2 peak Sell).

1.4.7. Establecer órdenes

Al aparecer una columna de señal de compra, se establece una orden pendiente Buy Stop 1 pip por encima del máximo de la barra de señal. Al aparecer una columna de señal de venta, se establece una orden pendiente Sell Stop 1 pip por debajo del mínimo de la barra de señal.


1.5. Acceleration/Deceleration Oscillator — AC — señales de la tercera dimensión del mercado

El histograma Acceleration/Deceleration (АС) — diferencia entre el histograma Awesome Oscillator y la media móvil de 5 periodos según Awesome Oscillator:

Dibujo 12. Oscilador AC

Dibujo 12. Oscilador AC

La señal de compra se forma si han aparecido dos columnas consecutivas con valores mayores a la última columna más pequeña (el histograma se encuentra por encima de la línea cero); si el histograma está por debajo de la línea cero, entonces será necesario que se formen tres columnas verdes consecutivas (dibujo 13, señal B — Buy).

La señal de venta se forma si han aparecido dos columnas consecutivas con valores menores a la última columna más grande (el histograma se encuentra por debajo de la línea cero); si el histograma está por encima de la línea cero, entonces será necesario que se formen tres columnas rojas consecutivas (dibujo 13, señal S — Sell).

Dibujo 13. Patrones del oscilador AC

Dibujo 13. Patrones del oscilador AC

La señal es representada por el experto en el indicador AС y tiene la abreviatura S (Sell) o B (Buy). Al aparecer una columna de señal de compra, se establece una orden pendiente Buy Stop 1 pip por encima del máximo de la barra de señal. Al aparecer una columna de señal de venta, se establece una orden pendiente Sell Stop 1 pip por debajo del mínimo de la barra de señal.


1.6. Comercio zonal — señales de la cuarta dimensión del mercado

Bill Williams introduce el concepto de zonas de comercio: verde y roja. El precio se encuentra en la zona verde, si las columnas АС y АО actuales están de color verde. El precio se encuentra en la zona roja, si las columnas АС y АО actuales están de color rojo.

Para abrir nuevas posiciones de compra en la zona verde (de venta en la zona roja), es necesario que haya no menos de dos barras verdes (rojas) seguidas, además, el precio de cierre de la segunda barra deberá ser superior (inferior) al precio de cierre de la barra anterior. Sin embargo, después de cinco barras verdes o rojas seguidas, no se llevará a cabo la apertura de posición con posterioridad.

En caso de que parezca una quinta barra verde (roja), es necesario establecer una orden Stop Loss 1 pip por debajo del precio mínimo (por encima del máximo) de la quinta barra. Si en la barra siguiente no se ejecuta la orden pendiente, entonces se la debe cambiar a un nivel que esté 1 pip por debajo del precio mínimo (por encima del máximo) de la sexta barra, etcétera.

Las señales del comercio zonal se representan en el indicador AC como ZS (Zone Sell) y ZB (Zone Buy) (normalmente, coinciden con las señales del indicador AC):

Dibujo 14. Señales del comercio zonal

Dibujo 14. Señales del comercio zonal


1.7. Comercio a partir de la línea de equilibrio — señales de la quinta dimensión del mercado

El patrón "compra por encima de la línea de equilibrio" se forma con dos barras, si el precio está por encima del indicador Alligator. Si el precio de apertura de la barra cero (ella precisamente constituye el precio máximo de esta barra en este momento) está por debajo del primer precio máximo anterior de la barra (se puede encontrar varias barras más atrás), entonces el precio máximo encontrado será el precio de apertura de posición en la dirección de la compra para la zona verde. Si el precio está por debajo de la línea de Alligator, entonces es necesario otro máximo más que esté por encima del precio para la entrada en la zona verde.

La venta por debajo de la línea de equilibrio tiene el aspecto opuesto.

Podrá encontrar descrita con mayor detalle la lógica del comercio a partir de la línea de equilibrio en el artículo "Asesor Experto basado en el libro de B. Williams".

El experto marca los patrones de la línea horizontal en el lugar de establecimiento de la orden pendiente:

Dibujo 15. Lugar de establecimiento de órdenes pendientes

Dibujo 15. Lugar de establecimiento de órdenes pendientes


1.8. Cierre de posiciones

Bill Williams propuso varios métodos de cierre de posición:

  • Si en el mercado existe una tendencia, entonces hay que cerrar las posiciones si la barra con el precio de cierre cruza los Dientes del Alligator (línea roja);
  • El Stop Loss se establece después de que aparezca la quinta barra seguida en la zona verde (roja) bajo el extremo de la última barra;
  • Si aparece la señal en dirección opuesta, entonces deberemos cerrar todas las posiciones abiertas.


2. Panel gráfico

2.1. Información general

El aspecto exterior del panel gráfico se presenta en el dibujo:

Dibujo 16. Panel gráfico para el control del asesor

Dibujo 16. Panel gráfico para el control del asesor

El panel gráfico consta de cuatro bloques lógicos:

  • Ajustes del analizador;
  • Ajustes de Alligator;
  • Ajustes de representación y comercio conforme a las señales de las cinco dimensiones;
  • Ajustes comerciales.

Después de cambiar los ajustes, para aceptar los cambios, es necesario pulsar el botón «Accept».


2.2. Ajustes del analizador

Con los ajustes del analizador se relacionan los siguientes elementos:
  • Show Signals — opción para representar los patrones encontrados según la estrategia comercial de Bill Williams;
  • RGB — ajustes de color para representar los patrones encontrados;
  • Bar count — cálculo de la cantidad de barras indicada según la historia para el marcado del gráfico (si se ha establecido un valor cero, se realizará el marcado de todo el gráfico).


2.3. Ajustes de Alligator

Los ajustes de Alligator son los ajustes estándar de este indicador. Existe la posibilidad adicional de desactivar la muestra de este indicador (parámetro Show).


2.4. Ajustes de representación y comercio según las señales de las dimensiones

Permite activar la muestra de ciertas señales (opción Show), así como el comercio conforme a ciertas señales (opción Trade):
  • Fractales (línea Dim1.Fractals);
  • AO (línea Dim2.AO);
  • AC (línea Dim3.AC);
  • Comercio zonal (línea Dim4.Zones);
  • Comercio a partir de la línea de equilibrio (línea Dim5.Balance).

Existe la posibilidad adicional de activar la representación de todas las señales, independientemente de la tendencia actual (opción Show out of trend signals).


2.5. Ajustes del comercio

Los ajustes comerciales están representados por un único parámetro: el tamaño del lote comercial (Lot).


2.6. Ventana de trabajo

El aspecto exterior del gráfico de trabajo se muestra en el dibujo (panel de ajustes minimizado)

Dibujo 17. Ventana de trabajo

Dibujo 17. Ventana de trabajo



3. Crear un asesor en el MQL5 Wizard

3.1. Preparación

Antes de crear un asesor, será necesario descargar el archivo adjunto billwilliamsts.zip y copiar los ficheros que se encuentran en él a las carpetas del catálogo de datos del terminal comercial.


3.2. Creación del asesor

Para generar el asesor de forma automática es necesario llevar a cabo los siguientes pasos:

En el editor MQL debemos elegir el punto "Crear" y en la ventana que aparecerá, elegiremos el punto "Asesor (generación)":

Dibujo 18. Creación del asesor — paso 1

Dibujo 18. Creación del asesor — paso 1

A continuación, es necesario introducir el nombre del asesor creado:

Dibujo 19. Creación del asesor - paso 2

Dibujo 19. Creación del asesor - paso 2

En el siguiente paso, es necesario añadir el generador de señales usado:

Dibujo 20. Creación del asesor - paso 3

Dibujo 20. Creación del asesor - paso 3

Como generador de señales debemos elegir "Signal of BillWilliams trading system":

Dibujo 21. Creación del asesor - paso 4

Dibujo 21. Creación del asesor - paso 4

El paso siguiente se confirma sin cambios:

Dibujo 22. Creación del asesor - paso 5

Dibujo 22. Creación del asesor - paso 5

A continuación, se confirma la elección del módulo de señales comerciales:

Dibujo 23. Creación del asesor - paso 6

Dibujo 23. Creación del asesor - paso 6

De ser necesario, se establecen los parámetros de trailing-stop:

Dibujo 24. Creación del asesor - paso 7

Dibujo 24. Creación del asesor - paso 7

Después se establecen los parámetros de gestión de capital:

Dibujo 25. Creación del asesor - paso 8

Dibujo 25. Creación del asesor - paso 8

A continuación, es necesario editar el fichero del asesor creado, para que el asesor reaccione a los cambios de los parámetros en el panel comercial:

En el fichero debemos encontrar la sección del código:

//--- Creating filter CBillWilliamsSignal
CBillWilliamsSignal *filter0=new CBillWilliamsSignal;

Y cambiarla a:

filter0=new CBillWilliamsSignal;

Declarar la variable global filter0:

//+------------------------------------------------------------------+
//| Global expert object                                             |
//+------------------------------------------------------------------+
CExpert ExtExpert;
CBillWilliamsSignal *filter0;

Y también añadir el procesador de eventos del gráfico:

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
{
  filter0.ChartEvent(id,lparam,dparam,sparam);
}

El experto creado está listo para usar.


3.3. Limitaciones

El experto creado en el wizard tiene limitaciones, las API aplicadas de la biblioteca estándar:

  1. No hay posibilidad de escalado de posición, si la posición ya está abierta (es necesario realizar el acabado final de la biblioteca estándar);
  2. El experto comercia solo con órdenes de mercado.

Para eliminar estos defectos basados en la clase de las señales comerciales, ha sido desarrollado un experto adicional BillWilliamsEA.mq5, que se encuentra también en el archivo adjunto.


4. Resultados de la simulación

4.1. EURUSD D1, 2015

Dibujo 26. Gráfico de simulación EURUSD D1, 2015

Dibujo 26. Gráfico de simulación EURUSD D1, 2015

Resultados detallados en el fichero EUR-D1-2015.zip.


4.2. EURUSD D1, 2010 - 2015

Figura 27. Gráfico de simulación EURUSD D1, 2010-2015

Figura 27. Gráfico de simulación EURUSD D1, 2010-2015

Resultados detallados en el fichero EUR-D1-2010-2015.zip.


4.3. EURJPY D1, 2010 - 2015

Dibujo 28. Gráfico de simulación EURJPY D1, 2010-2015

Dibujo 28. Gráfico de simulación EURJPY D1, 2010-2015

Resultados detallados en el fichero EURJPY-D1-2010-2015.zip.


Conclusión

Según los resultados de la simulación, podemos llegar a la conclusión de que el asesor procesa los sectores de tendencia estupendamente. Sin embargo, funciona con pérdidas cuando hay flat (en general, se trata de una situación estándar, de la cual, por cierto, habló el propio Bill Williams).

Para obtener resultados aceptables, es necesario combinar las técnicas de posicionamiento de los stop-loss, dado que el sistema de Bill Williams se retrasa mucho y entra en la tendencia cuando esta ya se ha desarrollado bastante.

Traducción del ruso hecha por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/ru/articles/2049

Archivos adjuntos |
EUR-D1-2015.zip (48.66 KB)
billwilliamsts.zip (12.51 KB)
Johnatan Santamaria
Johnatan Santamaria | 12 oct. 2018 en 03:25
Alguien lo ha probado en real?
Indicador para construir el gráfico de "ejes" (husos) Indicador para construir el gráfico de "ejes" (husos)
El artículo estudia la construcción del gráfico de "ejes" (spindles) o, como también lo llaman, de "husos", y su utilización en las estrategias y asesores comerciales. Para empezar, vamos a discutir la aparición del gráfico, su construcción y su relación con el gráfico de velas japonesas. Después analizaremos la implementación del indicador en un código de programa en el lenguaje MQL5. Vamos a poner a prueba el experto basado en el indicador y a formular una estrategia comercial.
Probando las características y los límites de MetaTrader 4 Probando las características y los límites de MetaTrader 4
Este artículo expone algunos detalles sobre las características y los límites del Probador de Estrategias de MetaTrader 4.
Cómo elegir correctamente una señal comercial para alquilar en el Mercado. Guía paso a paso Cómo elegir correctamente una señal comercial para alquilar en el Mercado. Guía paso a paso
En esta guía paso a paso se profundiza en el servicio de señales comerciales, en su estudio y en la selección sistemática para el posterior alquiler.
Probador de estrategias: modos de modelado de las pruebas Probador de estrategias: modos de modelado de las pruebas
Muchos programas de análisis técnico permiten probar estrategias de trading sobre datos históricos. En la mayoría de los casos, las pruebas se realizan sobre datos ya terminados, sin intentar modelar la tendencia del precio. Se llevan a cabo de forma rápida, pero no de forma precisa.