Únete hoy
ProBacktest/probacktest · proorder

Set Stop Profit

Set Stop Profit coloca un stop a una distancia de beneficio fijada desde la entrada en ProBacktest y ProOrder, en puntos, porcentaje, divisa o unidades de precio, asegurando las ganancias.

Sintaxis

probuilder
SET STOP PPROFIT x
SET STOP %PROFIT x
SET STOP $PROFIT x
SET STOP PROFIT x

Parámetros

NombreTipoPor defectoDescripción
xnúmeroningunoDistancia de beneficio entre el precio de entrada y el stop, en la unidad que implica la variante, puntos, porcentaje, divisa de la cuenta o unidades de precio.

Cómo funciona

Una orden normal SET STOP LOSS coloca el stop en el lado perdedor de la entrada. Set Stop Profit invierte eso: el stop se coloca a una distancia de beneficio de la entrada, por encima de la entrada en una posición long y por debajo en una short. Una vez activo, la posición ya no puede cerrarse en pérdidas; si el precio retrocede hasta el nivel del stop, la operación sale con x unidades de beneficio aseguradas.

El comando es una generalización de SET STOP BREAKEVEN, que es el caso particular de asegurar exactamente cero. Set Stop Profit asegura en cambio una cantidad positiva elegida. Las cuatro variantes solo se diferencian en cómo se mide la distancia: PPROFIT cuenta puntos, %PROFIT un porcentaje del precio de entrada, $PROFIT un importe en la divisa de la cuenta y PROFIT unidades de precio del instrumento.

El momento es el detalle crítico. Un stop situado en el lado del beneficio respecto a la entrada solo tiene sentido una vez que el precio ya se ha movido más allá de ese nivel. Si se llama demasiado pronto, el nivel del stop queda en el lado equivocado del precio actual y la posición se cierra de inmediato. Por eso la instrucción va siempre detrás de una comprobación que verifica tanto una posición abierta como una ganancia abierta suficiente.

Ejemplos

Ejemplo 1, Asegurar 10 puntos una vez que la operación ha avanzado (ProOrder)

probuilder
// After 20 points of gain, guarantee at least 10 points of profit
IF longonmarket AND close - tradeprice >= 20 * pointsize THEN
  SET STOP PPROFIT 10
ENDIF

Una vez que el long acumula 20 puntos de beneficio, el stop se mueve a 10 puntos por encima de la entrada. La operación ya no puede terminar peor que 10 puntos a favor. El SET STOP PPROFIT 10 la llamada sigue el ejemplo de la referencia oficial, envuelta en las protecciones requeridas.

Ejemplo 2, Bloqueo de beneficio basado en porcentaje (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

IF NOT onmarket AND close CROSSES OVER Average[50](close) THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP %LOSS 1
ENDIF

// Once up 2 percent, lock in 1 percent of profit
IF longonmarket AND close >= tradeprice * 1.02 THEN
  SET STOP %PROFIT 1
ENDIF

La operación comienza con un stop loss normal del 1 por ciento. Tras una ganancia del 2 por ciento, el stop pasa al lado del beneficio y asegura el 1 por ciento, sustituyendo al stop inicial.

Ejemplo 3, Bloqueo de beneficio por etapas en unidades de precio (ProBacktest)

probuilder
// Raise the locked profit in steps as the trade extends
IF longonmarket THEN
  gain = close - tradeprice
  IF gain >= 100 THEN
    SET STOP PROFIT 50
  ELSIF gain >= 50 THEN
    SET STOP PROFIT 20
  ENDIF
ENDIF

El importe asegurado aumenta progresivamente con la ganancia abierta, 20 unidades aseguradas tras un movimiento de 50 unidades, 50 unidades tras un movimiento de 100 unidades. Ordenar las condiciones de mayor a menor mantiene activo el bloqueo más alto.

Errores y trampas habituales

  • Llamado antes de que exista la ganancia. Si el beneficio abierto es menor que x, el nivel de stop queda más allá del precio actual y la posición se cierra de inmediato. Combina siempre el comando con una condición sobre la ganancia abierta, como close - tradeprice >= threshold.
  • Una sola ranura de stop. Set Stop Profit escribe en el mismo stop interno que SET STOP LOSS, las variantes trailing, y SET STOP BREAKEVEN. Prevalece la última llamada, por lo que mezclar bloqueos de beneficio con un trailing stop en bars alternos produce salidas erráticas.
  • Confusiones de unidades entre variantes. PPROFIT son puntos, %PROFIT porcentaje, $PROFIT divisa de la cuenta, PROFIT unidades de precio. En instrumentos donde el tamaño del punto y la unidad de precio difieren, la variante equivocada sitúa el bloqueo lejos del nivel previsto.
  • El beneficio asegurado no está garantizado en real. Los backtests ejecutan el stop exactamente en su nivel. Los stops en real pueden sufrir deslizamiento en mercados rápidos, por lo que el beneficio realizado puede quedar ligeramente por debajo del importe asegurado.
  • Set Target Loss, el comando espejo, un objetivo situado a una distancia de pérdida.
  • SET, prefijo de todas las declaraciones de gestión de órdenes.
  • STOP, el lado del stop de protección de la instrucción SET.
  • PPROFIT, distancia de beneficio medida en puntos.
  • %PROFIT, distancia de beneficio medida en porcentaje.
  • $PROFIT, distancia de beneficio medida en la divisa de la cuenta.
  • PROFIT, distancia de beneficio medida en unidades de precio.
  • BREAKEVEN, asegura exactamente cero, el caso especial de este comando.
  • TRADEPRICE, el precio de entrada de la posición actual.