Únete hoy
ProBacktest/probacktest · proorder

TARGET

TARGET fija un nivel de take profit en ProBacktest y ProOrder mediante SET TARGET PROFIT x, cerrando automáticamente la posición abierta una vez que se alcanzan x puntos de ganancia.

Sintaxis

probuilder
SET TARGET PROFIT x

Parámetros

NombreTipoPor defectoDescripción
xnumériconingunoDistancia de beneficio desde el precio de entrada, expresada en puntos. Ajústala al tamaño del punto del instrumento.

Cómo funciona

SET TARGET PROFIT x registra una orden de take-profit en x puntos desde el precio de entrada de la posición, por encima de la entrada en los longs y por debajo de la entrada en los shorts. Cuando el precio alcanza ese nivel, el motor cierra la posición sin más código. La distancia se mide desde TRADEPRICE, por lo que la misma instrucción funciona en ambas direcciones.

La instrucción configura la posición en lugar de colocar una orden puntual. Declararla en la ruta de código que abre la operación es el patrón habitual, y el objetivo permanece asociado a la posición hasta que se alcanza, hasta que la posición se cierra por otro motivo, o hasta que una posterior SET TARGET la instrucción la reemplaza. La llamada más reciente siempre gana.

La unidad son puntos. Para una distancia en la divisa de la cuenta usa el $PROFIT variante, y para un porcentaje del precio de entrada usa %PROFIT. La herramienta opuesta, un target colocado en un nivel de pérdida para salir de una mala operación a un precio controlado, está documentada en Set Target Loss, y BREAKEVEN puede mover el objetivo al precio de entrada.

Ejemplos

Ejemplo 1, Entrada con MACD y objetivo de 20 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
  // Close the trade automatically after 20 points of profit
  SET TARGET PROFIT 20
ENDIF

Se abre un long cuando el MACD cruza por encima de cero, y el motor lo cierra una vez que el precio ha ganado 20 puntos desde la entrada. Este es el ejemplo de referencia para la instrucción.

Ejemplo 2, Objetivo escalado por volatilidad (ProBacktest)

probuilder
atr = AverageTrueRange[14](close)
// Express the target in points as a multiple of ATR
targetPoints = ROUND(2 * atr / pointsize)

IF NOT onmarket AND close crosses over average[50](close) THEN
  BUY 1 CONTRACT AT MARKET
  SET TARGET PROFIT targetPoints
ENDIF

En lugar de un número fijo, el objetivo se adapta a la volatilidad reciente, dos ATR convertidos en puntos. Los mercados más amplios reciben objetivos más amplios, los mercados tranquilos objetivos más ajustados.

Ejemplo 3, Bracket completo con stop y objetivo (ProOrder)

probuilder
IF NOT onmarket AND close > highest[20](high)[1] THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP LOSS 15
  // Reward twice the risk
  SET TARGET PROFIT 30
ENDIF

Una entrada de breakout protegida por ambos lados. El stop arriesga 15 puntos y el objetivo apunta a 30, un bracket fijo de 2:1 de recompensa frente a riesgo.

Errores y trampas habituales

  • Puntos, no divisa. La distancia está en puntos, por lo que SET TARGET PROFIT 20 significa 20 puntos, no 20 euros o dólares. En instrumentos con tamaños de punto pequeños el nivel previsto puede quedar muy lejos. Usa $PROFIT para distancias en efectivo.
  • Gana la última llamada. Cada SET TARGET instrucción sobrescribe la anterior para la posición. Una instrucción ejecutada sin condiciones en cada bar reemplaza en silencio cualquier objetivo adaptativo fijado en la entrada.
  • Sin posición, efecto retardado. Si se llama estando fuera del mercado, el ajuste se aplica a la siguiente posición que se abra. A menudo eso es lo que se busca, pero puede asociar a una operación nueva un objetivo obsoleto calculado varios bars antes.
  • Supuesto de ejecución exacta. ProBacktest ejecuta el objetivo exactamente en el nivel. Las ejecuciones en real a través de ProOrder pueden diferir en torno a gaps y movimientos rápidos, por lo que las estrategias con objetivo en backtest tienden a parecer algo mejores que los resultados en real.
  • STOP, el equivalente de stop loss configurado con SET STOP LOSS.
  • BREAKEVEN, mueve el stop o el objetivo al precio de entrada.
  • Set Target Loss, objetivo colocado en un nivel perdedor para salir con una pérdida controlada.
  • Set Stop Profit, stop colocado en un nivel ganador para asegurar beneficios.
  • %PROFIT, take profit expresado como porcentaje del precio de entrada.
  • $PROFIT, take profit expresado en la divisa de la cuenta.
  • TRAILING, trailing stop que sigue al precio a una distancia fija en puntos.
  • TRADEPRICE, precio de entrada desde el que se mide la distancia al objetivo.