%LOSS
La instrucción %LOSS establece un stop loss como un porcentaje por debajo del precio medio de la posición con SET STOP %LOSS en código ProBacktest y ProOrder de ProRealTime™.
Sintaxis
SET STOP %LOSS xParámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
x | numérico | ninguno | Distancia porcentual respecto al precio medio de la posición a la que se activa el stop loss. Acepta decimales, así que 1.5 significa 1.5 por ciento. |
Cómo funciona
%LOSS se combina con SET STOP solamente. La instrucción define un stop loss como una distancia relativa: para una posición long el nivel de salida se sitúa x por ciento por debajo del precio medio de la posición, y para una posición short se sitúa x por ciento por encima. Como el nivel deriva del precio de la posición y no de un precio fijo, la misma línea de código se adapta a cualquier instrumento y a cualquier nivel de entrada.
La instrucción es declarativa. Una vez se ejecuta, el stop se aplica a la posición actual y a toda posición futura que abra la estrategia, hasta que otra SET STOP la sustituye. Colocarla una sola vez cerca del final del código es el patrón habitual. Llamar SET STOP %LOSS 0 elimina el stop.
Cuando varias órdenes se acumulan en una sola posición, el porcentaje se calcula a partir del precio medio de toda la posición. En las cuentas IG y PRT-CFD la plataforma adjunta el stop a cada orden individual, por lo que cada orden lleva su propio nivel de protección.
El equivalente del lado del objetivo es SET TARGET %PROFIT. Las combinaciones invertidas, un stop colocado en la zona de beneficio o un objetivo colocado en la zona de pérdida, se documentan por separado en Set Stop Profit y Set Target Loss.
Ejemplos
Ejemplo 1, Entrada por MACD con un stop del 2 por ciento (ProBacktest)
myMACD = MACD[12,26,9](close)
long = myMACD crosses over 0
IF NOT LongOnMarket AND long THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
// Protective stop 2 percent below the average position price
SET STOP %LOSS 2La estrategia compra cuando la línea MACD cruza por encima de cero. Sea cual sea el precio de entrada, el stop siempre se sitúa un 2 por ciento por debajo.
Ejemplo 2, Stop porcentual en una posición short (ProOrder)
fast = Average[10](close)
slow = Average[40](close)
IF NOT ShortOnMarket AND fast crosses under slow THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// For shorts the stop sits 1.5 percent ABOVE the position price
SET STOP %LOSS 1.5La misma instrucción protege las posiciones short. La plataforma refleja la distancia automáticamente, por lo que no es necesario cambiar el signo en el código.
Ejemplo 3, Horquilla porcentual completa alrededor de la entrada (ProOrder)
DEFPARAM CumulateOrders = false
rsiVal = RSI[14](close)
IF NOT OnMarket AND rsiVal < 30 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Risk 1 percent, aim for 2 percent, a fixed 1:2 bracket
SET STOP %LOSS 1
SET TARGET %PROFIT 2Combinar SET STOP %LOSS con SET TARGET %PROFIT construye un bracket simétrico basado en porcentaje que escala con el precio del instrumento.
Errores y trampas habituales
- Porcentaje del precio, no del equity.
SET STOP %LOSS 2arriesga el 2 por ciento del precio de la posición, no el 2 por ciento de la cuenta. En una posición apalancada el impacto sobre la equity puede ser mucho mayor. Convierte con cuidado al trasladar una regla de riesgo por operación a esta instrucción. - Emparejamiento de SET incorrecto. La forma documentada es
SET STOP %LOSS. El objetivo porcentual es una palabra clave distinta,SET TARGET %PROFIT. Confundir ambos o no compila o produce una salida en el lado equivocado de la entrada. - El último SET STOP prevalece.
%LOSS,$LOSS,PLOSS,%TRAILINGyBREAKEVENtodas escriben en la misma ranura interna de stop. Solo la más recienteSET STOPllamada está activa, por lo que alternar entre formas bar a bar provoca salidas erráticas. - Colocación dentro de bloques condicionales. Envolver la instrucción en un
IFque solo es cierta en un bar sigue funcionando, porque el ajuste persiste, pero volver a ejecutarla con un valor distinto en cada bar reajusta el precio del stop en silencio. Mantenla sin condición salvo que el reajuste sea intencionado.
Instrucciones relacionadas
$LOSS, stop loss como importe fijo de dinero.PLOSS, stop loss como distancia en puntos.%PROFIT, take profit como porcentaje del precio de la posición.%TRAILING, trailing stop como porcentaje del precio de la posición.BREAKEVEN, mueve el stop o el objetivo al precio de entrada.STOP, órdenes stop pendientes y la familia SET STOP.Set Target Loss, objetivo colocado en la zona de pérdida, la forma invertida.TRADEPRICE, precio de entrada de una operación concreta.POSITIONPRICE, precio medio de la posición abierta.LONGONMARKET, verdadero mientras hay una posición long abierta.