Guía de ayuda de MetaTrader 5Trading algorítmico, robots comercialesTicks reales y ticks generados

Ticks reales y ticks generados

Para probar y optimizar los EAs hacen falta los puntos básicos (ticks) porque precisamente en este concepto se basa el trabajo de los EAs. La simulación puede realizarse sobre los ticks reales porporcionados por el bróker, o sobre los ticks generados por el simulador de estrategias basándose en los datos por minutos.

Ticks reales #

La simulación y optimización sobre ticks reales son las más próximas a las condiciones reales. En lugar de los ticks generados basándose en los datos por minutos, se usan los ticks reales de los instrumentos financieros, acumulados por el bróker. Se trata de los ticks de la bolsa y de los proveedores de liquidez.

Al realizar la simulación con ticks reales, el spread en los límites de la barra de minutos puede cambiar, mientras que con la generación de ticks, dentro del minuto se usa un spread fijo en la barra correspondiente.

Si se transmite la profundidad de mercado bursátil de un instrumento, las barras se construyen estrictamente según los precios de ejecución de la última operación Last. El evento de llegada de un tick OnTick se activa en todos los ticks, independientemente de si ha habido precio Last o no.

Preste atención a que las operaciones comerciales siempre se realizan según los precios Bid y Ask, incluso si el gráfico se construye según los precios Last. Por ejemplo, un experto que trabaje con los precios de apertura de barra recibirá la señal según un precio (Last), pero realizará la operación según otro (Bid o Ask dependiendo de la dirección). Al usar el modo de generación "Todos los ticks", las barras se construyen según los precios Bid, y las operaciones se realizan según Bid y Ask. Además, Ask se calcula como Bid + el spread fijo de la barra de minutos correspondiente.

Si en la historia del símbolo hay una barra de minutos, pero no hay datos de tick de este minuto, el simulador generará los ticks en el modo "Todos los ticks". Esto permite poner a prueba el asesor en el perido planeado en el caso de que el bróker no disponga de datos de tick completos. Si en la historia del símbolo no hay barra de minutos, pero si existen datos de tick de ese minuto, entonces esos ticks se ignoran. Los datos de minutos se consideran más fiables.

Los datos de tick tienen un tamaño significativamente mayor que los de minutos. Al realizarse el primer inicio de la simulación, su descarga puede ocupar bastante tiempo. Los datos de tick descargados se guardan por meses en archivos TKC en el catálogo \bases\[nombre del servidor comercial]\ticks\[nombre del símbolo]\.

Generación de ticks #

El Probador de Estrategias genera los datos de ticks basándose en las entradas de un minuto de la caché en el formato de números enteros. Es decir, el Probador va copiando los datos históricos que necesita desde la plataforma y los convierte en el formato de números enteros para acelerar los cálculos.

En el Probador de Estrategias están previstos varios modos de generación de ticks. Más abajo viene la descripción del modo más preciso – "Todos los ticks".

Para las barras de diferente volumen de ticks la generación de ticks se realiza de forma diferente:

Volumen de ticks = 1

Los ticks no se generan para la barra cuyo vulumen de ticks es igual a uno. Para ella se escribe el tick con el valor de precio Close (de cierre):

El volumen de ticks es igual a uno

Volumen de ticks = 2

Los ticks tampoco se generan para las barras con dos ticks. Primero se escribe el tick con el valor de precio Open (de apertura), luego se escribe el tick con el valor del precio Close (de cierre):

El volumen de ticks es igual a dos

Volumen de ticks >= 3

Existen diferentes esquemas de generación de ticks para las barras con tres y más ticks, en función de su número.

Esquemas de desarrollo de barras

Existen sólo cuatro posibles esquemas para las barras con tres o más ticks:

Variante de desarrollo

Imagen

El precio se ha movido en una dirección y se ha vuelto al nivel del precio de apertura. De este modo, la barra tiene sólo High (precio máximo) o sólo Low (precio mínimo).

Vela alcista

Vela bajista

El precio se ha movido en una dirección y se ha vuelto rompiendo el nivel de apertura. En este caso la barra también tiene sólo High (precio máximo) o sólo Low (precio mínimo). Sin embargo, los precios de cierre y de apertura no son iguales.

Vela alcista

Vela bajista

El precio se ha movido en una dirección pero de vuelta no ha alcanzado el precio de apertura.

Vela alcista

Vela bajista

El precio ha pasado unos puntos sólo en una dirección. En este caso la barra no dispone de High y Low.

Vela alcista

Vela bajista

Generación de ticks para las barras con tres y más ticks

Los ticks se generan a base de unos puntos de referencia. El número de puntos de referencia no puede superar el volumen de ticks, ni tampoco ser más de 11 (el punto del precio de apertura no se toma en consideración).

Los puntos de referencia se dividen en tres partes: para la sombra de apertura, el rango de vela (distancia entre su High y Low) y la sombra de cierre.

Velas

Dependiendo del número de ticks, es posible la siguiente distribución de los puntos de referencia:

Número de puntos de referencia

Sombra de apertura

Rango de vela

Sombra de cierre

11

3

5

3

10

2

6

2

9

2

5

2

8

2

4

2

7

2

3

2

6

1

4

1

5

1

3

1

4

1

2

1

3

1

1

1

  • Si la vela no tiene alguna de las sombras, entonces los puntos de referencia de la sombra correspondiente se entregan al rango de la vela.
  • El rango de la vela se genera por el número impar de los puntos de referencia. Si el rango tiene el número par de los puntos de referencia, el punto "sobrante" se entrega a una de las sombras en caso de que ésta ya tenga dos puntos. En caso contrario, el punto "sobrante" simplemente desaparece.

Distribución ideal (3-5-3)

Los puntos de referencia se calculan como el número de puntos desde el precio de apertura. La distribución ideal de los puntos (3-5-3) se calcula del modo siguiente:

Vela alcista

Calculación de puntos de referencia

Imagen

  • Open
  • 3/4*(O – L)
  • 1/2*(O – L)
  • Low
  • (H – L)/3
  • (H – L)*3 – 1
  • 2/3*(H – L)
  • 2/3*(H – L) – 1
  • High
  • 3/4*(H – C)
  • 1/2*(H – C)
  • Close

Vela alcista

Vela bajista

Calculación de puntos de referencia

Imagen

  • Open
  • 3/4*(O – H)
  • 1/2*(O – H)
  • High
  • (L – H)/3
  • (L – H)/3 + 1
  • 2/3*(L – H)
  • 2/3(L – H) + 1
  • Low
  • 3/4*(L – C)
  • 1/2*(L – C)
  • Close

Vela bajista

Velas "Doji"

Si la vela es de tipo "Doji" (Close = Open), entonces se analizan las velas anteriores. Si la vela anterior ha sido alcista, entoncs ésta se considera bajista, y viceversa.

Velas "Doji"

Construcción de sombra de tres puntos

Si la sombra se genera a base de tres puntos de referencia y los valores enteros de 3/4 del tamaño de la sombra y 1/2 del tamaño de la sombra son iguales (esto ocurre cuando la diferencia entre open y low o open y high no supera 2 puntos, es decir los pasos del precio para arriba y para abajo son iguales), entonces la sombra se dibuja de la siguiente manera:

Vela alcista

Calculación de puntos de referencia

Imagen

  • Open
  • Open – 1
  • Open
  • Low

Vela alcista

Vela bajista

Calculación de puntos de referencia

Imagen

  • Open
  • Open + 1
  • Open
  • High

Vela bajista

La sombra de cierre se dibuja de la misma manera.

Construcción de sombra de dos puntos

Si la sombra se dibuja con dos puntos, esto se hace del siguiente modo:

Vela alcista

Calculación de puntos de referencia

Imagen

  • Open
  • Open + 1
  • Low

Vela alcista

Vela bajista

Calculación de puntos de referencia

Imagen

  • Open
  • Open – 1
  • High

Vela bajista

La sombra de cierre se dibuja de la misma manera.

Construcción del rango de la vela

El rango de la vela se genera con las ondas en ciclos. Si Prev = Low (el precio anterior es el precio Low), se utiliza el siguiente ciclo:

  • N1 = Prev + Step
  • N2 = Prev + Step – 1
  • Prev = N2

Si Prev = High ((el precio anterior es el precio High), se utiliza el siguiente ciclo:

  • N1 = Prev – Step
  • N2 = Prev – Step + 1
  • Prev = N2

Aquí:

N1, N2 – puntos de referencia en un ciclo;
Prev – precio anterior;
Step – tamaño del paso. Para calcular el paso se utiliza la fórmula siguiente: (H – L – 1)/(Número de ciclos) + 1;
El número de ciclos se calcula por el fórmula siguiente: (Número de puntos de referencia en el rango + 1)/2.

Rango de vela

Ticks intermedios

Los ticks intermedios entre los puntos de referencia se forman según las siguientes reglas:

  • Si el número de puntos básicos (ticks) supera el número de pipos (pips) entre los puntos de referencia, se genera "la sierra" (valor inicial +/– 1).
  • Si entre los puntos de referencia hay suficiente cantidad de pipos, entonces se genera la secuencia lineal.

Modos de generación de ticks #

En la ventana de configuraciones del Probador se puede seleccionar un modo de generación de ticks. Están disponibles las siguientes opciones:

Todos los ticks

En este modo se generan todos los ticks: OHLC, y también los intermedios. El modo de esta generación de ticks ha sido descrito más arriba.

OHLC en M1

En este modo se generan sólo los ticks OHLC de las barras de un minuto. Si el volumen de ticks es más de 4, entonces simpre se generan sólo los precios Open, High, Low y Close. Si el volumen de ticks es menos de 4, se aplican las reglas de generación descritas anteriormente.

La selección de este modo no significa que la simulación/optimización va a llevarse a cabo precisamente en el período M1. Por ejempo, al seleccionar el período H1 en el modo "OHLC en M1", los precios van a generarse en cada barra de un minuto para los valores Open, High, Low y Close. En este caso el evento OnTick() del EA también va a iniciarse cuatro veces en un minuto (apertura, cierre, mínimo y máximo de cada barra de un minuto), aunque la prueba se lleva a cabo en H1.

Práctiamente, los precios OHLC existen en los datos históricos. De esta manera, durante la simulación se genera sólo la hora de llegada de los ticks Open, High, Low y Close, mientras que los valores de los precios se cogen del histórico.

Sólo precios de apertura

En este modo se generan los precios OHLC de las barras del período (timeframe) seleccionado para la simulación. La función OnTick() del EA se inicia sólo al principio de la barra (a base del precio Open). Gracias a esta particularidad los niveles stop y las órdenes pendientes pueden activarse por el precio diferente al especificado (sobre todo durante la simulación en los períodos mayores). Pero esto permite llevar a cabo la simulación estimativa del EA de forma bastante rápida.

Como excepción podemos destacar los períodos W1 y MN1 para los cuales las barras se generan una vez al día y no una vez a la semana y una vez al mes, respectivamente.

Existen ciertas limitaciones de la aplicación del modo "Sólo precios de apertura":

  • No se puede utilizar el modo de trading "Retraso aleatorio";
  • En el EA que se prueba no es posible acceder a los datos del período más bajo que se utiliza para la simulación/optimización. Por ejemplo, si para la simulación/optimización se utiliza el período H1, Usted puede acceder a los datos del H2, H3, H4, etc., y no a los del M30, M20, M10, etc. Aparte de eso, los períodos mayores a los que se accede tienen que ser múltiplos del período de simulación. Por ejemplo, durante la simulación en el período M20 no se puede acceder al período M30, pero se puede dirigirse al H1. Estas limitaciones están condicionadas a la imposibilidad de obtener los datos de los períodos inferiores y no múltiplos desde las barras que se generan durante la simulación/optimización.
  • Las limitaciones del acceso a los datos de otros períodos se extienden también a otros símbolos cuyos datos utiliza el EA. No obstante, en este caso la limitación para cada símbolo depende del primer período al que se ha accedido durante la simulación/optimización. Por ejemplo, la simulación se lleva a cabo para el símbolo y período EURUSD H1, el EA se ha dirigido por primera vez al símbolo GBPUSD M20. En esta situación el EA puede utilizar en adelante los datos del EURUSD H1, H2, etc., así como los del GBPUSD M20, H1, H2, etc.

El modo de generación de todos los ticks es el más preciso, pero al mismo tiempo es el más lento. El modo "Sólo los precios de apertura" se utiliza para la simulación/optimización rápida pero aproximada.

Cálculos matemáticos #

Este modo permite utilizar el Probador de Estrategias para los cálculos matemáticos. Para él no se requieren y no se cargan los datos históricos e información sobre los símbolos, tampoco van a generarse los ticks. En los EAs que se someten a la pueba serán llamadas consecutivamente sólo las funciones OnInit(), OnTester() y OnDeinit().

En este modo, como criterio de optimización se aplica automáticamente "El criterio personalizado". Todos los campos en la configuración del Probador se quedan inactivos, salvo el modo de optimización y la seleccion del EA.

Resulta muy útil utilizar los cálculos matemáticos para la búsqueda del extremo de una función matemática cuyo valor debe ser devuelto de OnTester(). La optimización se conduce a la búsqueda del valor máximo de la función. En caso de haber una cantidad considerable de combinaciones de los parámetros de entrada de la función matemática se recomienda utilizar el "Algoritmo genético". Esto permite acelerar bastante la búsqueda del extremo.