Únete hoy
ProBacktest/probacktest · proorder

TICKSIZE

TICKSIZE devuelve el incremento de precio más pequeño del instrumento actual en ProBacktest y ProOrder, y se utiliza para convertir distancias de precio en ticks o pips.

Sintaxis

probuilder
TICKSIZE

Cómo funciona

Cada instrumento cotiza en pasos discretos. En EUR/USD un paso puede ser 0.0001, en un futuro sobre índice puede ser 0.5 puntos. TICKSIZE devuelve ese paso mínimo para el instrumento en el que se ejecuta la estrategia, de modo que el código puede adaptarse a cualquier mercado sin números mágicos fijados en el código.

El uso principal es la conversión de unidades. Una distancia de precio bruta como close - low se expresa en unidades de precio, que varían enormemente entre instrumentos. Dividir por TICKSIZE convierte la distancia en un número de ticks, una cifra comparable entre mercados y acorde con cómo muchos traders piensan en stops y objetivos. Multiplicar un número de ticks por TICKSIZE va en sentido contrario, produciendo un desplazamiento de precio que siempre es un incremento válido.

TICKSIZE está relacionado con, pero es distinto de, POINTSIZE y PIPSIZE. El tamaño del punto es el valor de un punto en la representación de precios de la plataforma, el tamaño del pip es la unidad de pip convencional en los pares de forex, y el tamaño del tick es el incremento mínimo del mercado. En muchos instrumentos algunos de ellos coinciden, en otros difieren, y precisamente por eso existen las tres constantes por separado.

Ejemplos

Ejemplo 1, Convertir una distancia de precio en pips (ProBacktest)

probuilder
// On EUR/USD this yields 40 instead of the raw 0.0040
StopLossPIPS = (close - low) / TickSize

La distancia entre el cierre y el mínimo se divide por el tamaño del tick, lo que convierte una diferencia bruta de precio en un recuento de ticks o pips que se lee de forma natural.

Ejemplo 2, Redondear una distancia de stop a un incremento válido (ProOrder)

probuilder
atr = AverageTrueRange[14](close)
// Snap the ATR-based distance to a whole number of ticks
stopDistance = ROUND(1.5 * atr / TICKSIZE) * TICKSIZE

IF NOT onmarket AND close crosses over average[20](close) THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP LOSS stopDistance / pointsize
ENDIF

Una distancia derivada del ATR rara vez es un múltiplo exacto del incremento mínimo. Redondear mediante TICKSIZE garantiza que el nivel resultante sea uno que el mercado pueda cotizar realmente.

Ejemplo 3, Orden de breakout un tick por encima del máximo anterior (ProOrder)

probuilder
IF NOT onmarket THEN
  // Enter as soon as price prints a single tick above yesterday's high
  BUY 1 CONTRACT AT DHigh(1) + TICKSIZE STOP
ENDIF

Añadir exactamente uno TICKSIZE al máximo diario anterior coloca el buy stop en el primer precio que confirma un breakout, en cualquier instrumento.

Errores y trampas habituales

  • El tamaño del tick no es el tamaño del punto. TICKSIZE, POINTSIZE, y PIPSIZE pueden diferir entre sí en el mismo instrumento. Confundirlas desplaza cada nivel calculado por un factor constante. Comprueba qué unidad espera una instrucción, SET STOP LOSS por ejemplo funciona en puntos.
  • Valor dependiente del instrumento. El mismo código devuelve valores distintos en mercados distintos. Una estrategia ajustada con un incremento fijo en el código se rompe al trasladarla a otro instrumento, que es el problema TICKSIZE pretende resolver.
  • Niveles sin redondear. La aritmética sobre precios produce a menudo valores entre ticks. Las órdenes a esos niveles se ajustan o se rechazan. Ajusta los desplazamientos calculados a un múltiplo de TICKSIZE antes de usarlos en órdenes.
  • Ámbito incorrecto. La constante pertenece al motor de trading. Pegar código de estrategia que lee TICKSIZE en un indicador no compila, la conversión debe hacerse dentro del código de ProBacktest o ProOrder.
  • PIPSIZE, la unidad pip del instrumento actual.
  • PIPVALUE, valor monetario de un pip.
  • POINTSIZE, la unidad punto del instrumento actual.
  • POINTVALUE, valor monetario de un punto.
  • ROUNDEDUP, redondea hacia arriba una cantidad de orden.
  • ROUNDEDDOWN, redondea hacia abajo una cantidad de orden.
  • TRADEPRICE, precio de entrada de la posición actual.
  • STOP, configuración de stop loss cuyas distancias se expresan en puntos.