Únete hoy
ProBacktest/probacktest · proorder

PIPVALUE

PIPVALUE devuelve el valor monetario de un pip para el instrumento actual en ProBacktest y ProOrder. Es un sinónimo de POINTVALUE y se usa en el cálculo del position size.

Sintaxis

probuilder
PIPVALUE

Cómo funciona

PIPVALUE es una constante de mercado de solo lectura. No acepta argumentos y devuelve la cantidad de dinero, en la divisa del instrumento, que representa un pip de movimiento del precio para un único contrato, lote o acción del instrumento al que está asociada la estrategia. En la terminología de ProBuilder, PIPVALUE y POINTVALUE se refieren al mismo valor, por lo que las dos palabras clave son intercambiables.

El valor lo fija la especificación del contrato del instrumento, no el código. Un pip en un par de forex, en un CFD sobre índice y en un futuro sobre materias primas puede valer una cantidad en efectivo muy distinta, por lo que cualquier estrategia que codifique de forma fija un valor de pip se rompe en cuanto se ejecuta en otro mercado. Leer PIPVALUE en tiempo de ejecución mantiene portables los cálculos de dimensionamiento y de beneficio.

PIPVALUE se combina normalmente con PIPSIZE o POINTSIZE. PIPSIZE expresa el tamaño de un pip en unidades de precio, mientras que PIPVALUE expresa lo que vale ese movimiento en efectivo. Dividir una distancia de precio por PIPSIZE da un número de pips, y multiplicar ese número de pips por PIPVALUE lo convierte en dinero.

Ejemplos

Ejemplo 1, inspeccionar el valor del pip de un instrumento (ProBacktest)

probuilder
// Read the cash value of one pip and plot it during a backtest
myPipValue = PipValue
GRAPH myPipValue AS "Value of one pip for this instrument"

Ejecuta un backtest cuyo único propósito es mostrar el valor del pip del instrumento en el panel del gráfico, una forma rápida de verificar la especificación del contrato antes de escribir la lógica de dimensionamiento.

Ejemplo 2, position size basado en el riesgo (ProOrder)

probuilder
// Risk a fixed cash amount per trade
riskCash = 200
stopPips = 30

// Cash at risk for one contract over the stop distance
riskPerContract = stopPips * pipvalue
positionSize = max(1, floor(riskCash / riskPerContract))

IF NOT onmarket AND close CROSSES OVER average[50](close) THEN
  BUY positionSize CONTRACTS AT MARKET
ENDIF

// Pip and point coincide on this instrument
SET STOP PLOSS stopPips

El número de contratos se obtiene dividiendo el presupuesto de riesgo en efectivo por el riesgo en efectivo de un contrato, por lo que el mismo código arriesga aproximadamente la misma cantidad en cualquier instrumento.

Ejemplo 3, beneficio flotante en la divisa de la cuenta (ProBacktest)

probuilder
// Unrealized profit of the open position, converted to cash
IF onmarket THEN
  floatingProfit = ((close - positionprice) / pipsize) * pipvalue * countofposition
ELSE
  floatingProfit = 0
ENDIF
GRAPH floatingProfit AS "Floating profit"

La distancia de precio desde la entrada media se convierte en un número de pips con PIPSIZE, después en efectivo con PIPVALUE y finalmente se escala por el position size. COUNTOFPOSITION es negativo en los shorts, lo que da el signo automáticamente.

Errores y trampas habituales

  • Confundir PIPVALUE con PIPSIZE. PIPSIZE es una distancia en unidades de precio, PIPVALUE es un importe en efectivo. Confundirlos produce errores de dimensionamiento de varios órdenes de magnitud. La distancia dividida por PIPSIZE da pips, y los pips multiplicados por PIPVALUE dan efectivo.
  • Codificar el valor de forma fija. Un valor de pip copiado de la especificación de un instrumento es incorrecto en el siguiente instrumento. Lee PIPVALUE en tiempo de ejecución en lugar de incrustar un número.
  • Olvidar el position size. PIPVALUE se expresa por un único contrato o lote. La exposición en efectivo de toda la posición requiere multiplicar por COUNTOFPOSITION o por el tamaño de orden previsto.
  • Usarlo fuera de una estrategia. La palabra clave solo compila en código de ProBacktest y ProOrder. En un indicador o un screener el compilador la rechaza, por lo que la lógica de indicador basada en pips debe usar entradas fijas en su lugar.
  • POINTVALUE, sinónimo de PIPVALUE, el valor en efectivo de un punto.
  • PIPSIZE, el tamaño de un pip en unidades de precio.
  • POINTSIZE, el tamaño de un punto en unidades de precio.
  • TICKSIZE, el incremento de precio negociable más pequeño.
  • COUNTOFPOSITION, el tamaño con signo de la posición abierta.
  • POSITIONPRICE, el precio medio de entrada de la posición abierta.
  • STRATEGYPROFIT, beneficio realizado de la estrategia en efectivo.
  • GRAPH, traza un valor en el panel de gráfico del backtest.