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
SET STOP PPROFIT x
SET STOP %PROFIT x
SET STOP $PROFIT x
SET STOP PROFIT xParámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
x | número | ninguno | Distancia 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)
// After 20 points of gain, guarantee at least 10 points of profit
IF longonmarket AND close - tradeprice >= 20 * pointsize THEN
SET STOP PPROFIT 10
ENDIFUna 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)
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
ENDIFLa 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)
// 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
ENDIFEl 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, ySET 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.
Instrucciones relacionadas
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.