Únete hoy
ProBacktest/probacktest · proorder

PPROFIT

PPROFIT fija un take profit a un número fijo de puntos del precio promedio de la posición en ProBacktest y ProOrder, escrito como SET TARGET PPROFIT x en una estrategia.

Sintaxis

probuilder
SET TARGET PPROFIT x

Parámetros

NombreTipoPor defectoDescripción
xentero o expresión numéricaobligatorioDistancia en puntos entre el precio promedio de la posición y el nivel de take profit.

Cómo funciona

Cuando la instrucción se ejecuta, la estrategia registra un nivel de take profit x puntos en el lado ganador del precio medio de la posición, por encima de la entrada en un long y por debajo en un short. Cuando el precio alcanza el nivel, la posición se cierra y la ganancia se realiza.

La distancia está anclada a POSITIONPRICE, el precio de entrada promedio de toda la posición. Si la estrategia añade contratos a una posición abierta, el promedio se desplaza y el nivel objetivo se desplaza con él, lo que cambia dónde queda la salida respecto a cada ejecución individual.

A SET TARGET comando permanece activo hasta que se reemplaza, por lo que no hace falta repetirlo en cada bar. Todas las variantes de objetivo comparten una única ranura interna: llamar a SET TARGET PPROFIT después de SET TARGET %PROFIT, SET TARGET $PROFIT, o SET TARGET BREAKEVEN sobrescribe la configuración anterior, y solo cuenta la llamada más reciente.

Ejemplos

Ejemplo 1, Entrada con MACD y objetivo de 50 puntos (ProOrder)

probuilder
myMACD = MACD[12,26,9](close)
long = myMACD CROSSES OVER 0

IF NOT LongOnMarket AND long THEN
  BUY 1 CONTRACTS AT MARKET
ENDIF

// Take profit 50 points above the average position price
SET TARGET PPROFIT 50

Se abre un long cuando el MACD cruza por encima de cero, y la operación se cierra automáticamente en cuanto el precio está 50 puntos por encima de la entrada promedio. Este es el ejemplo de referencia de la documentación original con los comentarios reescritos.

Ejemplo 2, Objetivo basado en puntos en una posición short (ProBacktest)

probuilder
short = close CROSSES UNDER average[100](close)

IF NOT shortonmarket AND short THEN
  SELLSHORT 1 CONTRACTS AT MARKET
ENDIF

// Take profit 40 points below the average short entry price
SET TARGET PPROFIT 40

Para una posición short la misma instrucción coloca el objetivo en el lado favorable por debajo de la entrada, cerrando la operación tras una caída de 40 puntos.

Ejemplo 3, Horquilla de objetivo y stop escalada por el ATR (ProOrder)

probuilder
// Derive both exit distances from volatility, in whole points
atr = AverageTrueRange[14](close)
targetPoints = max(10, round((3 * atr) / pointsize))
stopPoints = max(5, round((1.5 * atr) / pointsize))

IF NOT onmarket AND close > highest[20](high[1]) THEN
  BUY 1 CONTRACTS AT MARKET
ENDIF

SET TARGET PPROFIT targetPoints
SET STOP PLOSS stopPoints

El objetivo se sitúa a tres ATR de distancia y el stop a uno y medio, una geometría fija de dos a uno que adapta su tamaño absoluto a la volatilidad actual.

Errores y trampas habituales

  • Anclado a la media, no a la última ejecución. Después de piramidar o promediar, el objetivo se mide desde el POSITIONPRICE actualizado. Las entradas individuales pueden por tanto cerrarse más cerca o más lejos de su propio precio de ejecución de lo que x puntos.
  • Una sola ranura de objetivo. PPROFIT, %PROFIT, $PROFIT, y SET TARGET BREAKEVEN se sobrescriben entre sí. Solo el más reciente SET TARGET está activa, por lo que mezclar variantes bar a bar produce salidas inestables.
  • Los puntos no son efectivo ni porcentaje. x es un número de puntos. Un objetivo porcentual corresponde a SET TARGET %PROFIT, un objetivo en efectivo en SET TARGET $PROFIT. Pasar una cifra en efectivo a PPROFIT desplaza el nivel por el valor del punto del instrumento.
  • Tocar equivale a ejecutar solo en los backtests. ProBacktest asume que el objetivo se ejecuta en el momento en que el precio toca el nivel. En real, una orden limitada en el extremo de un movimiento puede no ejecutarse, por lo que los resultados probados exageran la calidad de ejecución en mercados poco líquidos.
  • %PROFIT, take profit como porcentaje del precio de la posición.
  • $PROFIT, take profit como importe en efectivo.
  • PLOSS, stop loss en puntos, la instrucción espejo.
  • %LOSS, stop loss como porcentaje.
  • BREAKEVEN, mueve el stop o el objetivo al precio de entrada.
  • TARGET, resumen de la familia de instrucciones de objetivo.
  • POSITIONPRICE, el precio medio de entrada desde el que se mide la distancia.
  • POINTSIZE, el tamaño de un punto en unidades de precio.