POINTVALUE
POINTVALUE devuelve el valor en efectivo de un movimiento de un punto para el instrumento actual en ProBacktest y ProOrder, y se usa para el dimensionamiento del riesgo y la conversión de beneficios.
Sintaxis
POINTVALUECómo funciona
POINTVALUE es una constante de mercado de solo lectura. No acepta argumentos y devuelve el valor monetario, en la divisa del instrumento, de un movimiento de precio de un punto para un contrato, lote o acción del instrumento en el que se ejecuta la estrategia. En ProBuilder es sinónimo de PIPVALUE.
La constante la define la especificación del contrato y varía mucho entre mercados. Un punto en un CFD sobre índice puede valer 1 unidad de divisa por contrato mientras que un punto en un contrato de futuros vale 25, por lo que las estrategias que convierten entre puntos y efectivo deben leer POINTVALUE en tiempo de ejecución en lugar de suponer una cifra.
Dos conversiones cubren la mayoría de los usos. De efectivo a puntos: divide un beneficio o una pérdida por POINTVALUE (y por el position size cuando el importe abarca varios contratos). De puntos a efectivo: multiplica una distancia en puntos por POINTVALUE y por el número de contratos. Combinado con POINTSIZE, que mide el tamaño de un punto en unidades de precio, esto hace que la aritmética de beneficio, riesgo y dimensionamiento sea portable entre instrumentos.
Ejemplos
Ejemplo 1, protección diaria de pérdidas y ganancias en puntos (ProOrder)
once MaxProfit = 50 // daily profit objective in points
once MaxLoss = 40 // daily loss limit in points
// Reset the daily counter on a new day
if day <> day[1] then
strategyprofitpoint = 0
endif
// Convert each realized profit change into points
if (strategyprofit <> strategyprofit[1]) then
pnl = strategyprofit - strategyprofit[1]
size = max(1, abs(countofposition[1]))
onepos = pnl / size
pointprofit = onepos / pointvalue
strategyprofitpoint = strategyprofitpoint + pointprofit
endif
allowtrading = 1
if (strategyprofitpoint >= MaxProfit or strategyprofitpoint <= -MaxLoss) then
allowtrading = 0
endifCada variación del beneficio realizado se divide por el position size y por POINTVALUE, convirtiendo el efectivo en puntos. La negociación se desactiva durante el resto del día en cuanto el total acumulado de puntos alcanza cualquiera de los dos límites diarios. Este es el ejemplo de referencia de la documentación original con los comentarios reescritos.
Ejemplo 2, beneficio flotante de la posición abierta (ProBacktest)
// Unrealized profit converted from points into cash
IF onmarket THEN
floatingProfit = ((close - positionprice) / pointsize) * pointvalue * countofposition
ELSE
floatingProfit = 0
ENDIF
GRAPH floatingProfit AS "Open position profit"La distancia desde la entrada media se normaliza en puntos con POINTSIZE, después se convierte en efectivo con POINTVALUE y se escala por el position size con signo.
Ejemplo 3, dimensionar los contratos a partir de un presupuesto de riesgo en efectivo (ProOrder)
// Size the trade so a 40 point stop risks about 150 in cash
riskCash = 150
stopPoints = 40
contracts = max(1, floor(riskCash / (stopPoints * pointvalue)))
IF NOT onmarket AND close CROSSES OVER average[20](close) THEN
BUY contracts CONTRACTS AT MARKET
ENDIF
SET STOP PLOSS stopPointsEl riesgo en efectivo de un contrato sobre la distancia del stop es stopPoints * pointvalue, por lo que dividir el presupuesto por esa cifra da el número de contratos que mantiene el riesgo casi constante entre instrumentos.
Errores y trampas habituales
- Cifra por contrato. POINTVALUE describe un solo contrato. Convertir el beneficio de una posición de varios contratos requiere dividir o multiplicar también por el position size, como en el ejemplo de la protección diaria anterior.
- Confundir el valor con el tamaño. POINTVALUE es efectivo, POINTSIZE es una distancia de precio. Usar uno donde corresponde el otro produce resultados equivocados por la proporción entre ambos, a menudo de varios órdenes de magnitud.
- Suponer el valor de un solo instrumento. Una constante ajustada para un CFD sobre índice no tiene sentido en un par de forex. Cualquier valor de punto codificado de forma fija rompe de forma silenciosa la portabilidad; lee la palabra clave en su lugar.
- Restricción de ámbito. La palabra clave solo compila en ProBacktest y ProOrder. Los indicadores y los screeners no pueden acceder a las especificaciones de los contratos y deben tomar esos valores como entradas del usuario.
Instrucciones relacionadas
PIPVALUE, sinónimo de POINTVALUE, el valor en efectivo de un pip.POINTSIZE, el tamaño de un punto en unidades de precio.PIPSIZE, el tamaño de un pip en unidades de precio.TICKSIZE, el incremento de precio negociable más pequeño.STRATEGYPROFIT, beneficio realizado de la estrategia en efectivo.COUNTOFPOSITION, el tamaño con signo de la posición abierta.POSITIONPRICE, el precio medio de entrada de la posición abierta.GRAPH, traza un valor en el panel de gráfico del backtest.