PTRAILING
SET STOP PTRAILING in ProBacktest and ProOrder sets a trailing stop that follows price at a fixed distance in points. PTRAILING syntax, examples, and gotchas.
Sintaxis
SET STOP PTRAILING xParámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
x | número | ninguno | Distancia en puntos entre el precio de mercado y el trailing stop. Acepta literales, variables y expresiones. |
Cómo funciona
SET STOP PTRAILING declara una orden de stop dinámica que sigue al mercado a una distancia fija de puntos. En una posición long, el stop se sitúa x puntos por debajo del precio más alto alcanzado desde la entrada; cuando el precio marca un nuevo máximo, el stop sube con él, y cuando el precio cae el stop mantiene su nivel. La posición se cierra en cuanto el precio retrocede x puntos desde su mejor nivel. Las posiciones short reflejan este comportamiento por encima del mercado.
Como todas las declaraciones SET, la instrucción es persistente. Declarada una vez, normalmente en su propia línea fuera de cualquier bloque IF, se aplica a la posición actual y a todas las posiciones posteriores hasta que otra SET STOP la llamada lo reemplaza.
La distancia se mide en puntos. Las variantes hermanas cubren otras unidades: SET STOP TRAILING para unidades de precio, SET STOP %TRAILING para porcentaje, y SET STOP $TRAILING para la divisa de la cuenta.
Ejemplos
Ejemplo 1, Trailing stop en una entrada por pullback (ProBacktest)
// Trend filter and short-term average
i1 = average(close)[100]
i2 = average(close)[5]
// Enter on a three-bar pullback inside an uptrend
tradeinitiate = Close > i1 AND Close < i2 AND Low[3] > Low[2] AND Low[2] > Low[1] AND Low[1] > Low
tradeclose = Close > Close[1]
IF NOT LongOnMarket AND tradeinitiate THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
IF LongOnMarket AND tradeclose THEN
SELL AT MARKET
ENDIF
// Protective stop trails 10 points behind price
SET STOP PTRAILING 10La estrategia compra los pullbacks por encima de la media de 100 bars y sale con la fortaleza, mientras que el trailing stop limita cualquier retroceso a 10 puntos. Este es el ejemplo de la referencia oficial.
Ejemplo 2, Entrada por breakout protegida por un trail basado en puntos (ProOrder)
DEFPARAM CumulateOrders = false
// Enter on a 20-bar breakout
IF NOT onmarket AND close > highest[20](high)[1] THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Let the trade run, exit after a 25-point retracement
SET STOP PTRAILING 25No se usa ningún objetivo fijo. El trailing stop es la única salida, por lo que la operación permanece abierta mientras el precio siga avanzando sin un retroceso de 25 puntos.
Ejemplo 3, Trailing de una posición short (ProOrder)
DEFPARAM CumulateOrders = false
// Short when price loses the 50-bar average
IF NOT onmarket AND close CROSSES UNDER Average[50](close) THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Stop trails 15 points above the falling price
SET STOP PTRAILING 15En un short, el stop se sitúa por encima del mercado y baja a medida que el precio marca nuevos mínimos, cerrando la operación tras un rebote de 15 puntos.
Errores y trampas habituales
- Puntos, no unidades de precio ni porcentaje. PTRAILING hace el trailing en puntos, TRAILING en unidades de precio, %TRAILING en porcentaje y $TRAILING en la divisa de la cuenta. Elegir la variante equivocada en un instrumento con un tamaño de punto pequeño crea un stop que está prácticamente en el mercado o absurdamente lejos.
- Una sola ranura de stop por posición.
SET STOP PTRAILING,SET STOP LOSS, ySET STOP BREAKEVENtodas escriben en el mismo stop interno, y gana la llamada más reciente. Alternar entre ellas bar a bar produce salidas erráticas; elige una única política de stop por operación. - Los backtests ejecutan los trailing stops de forma optimista. ProBacktest evalúa el trail con datos de bar y asume ejecuciones limpias en el nivel del stop. La ejecución en real en mercados rápidos se desliza atravesando el nivel, por lo que los resultados en real son sistemáticamente peores que la simulación con trails ajustados.
- Un trail demasiado ajustado se convierte en una salida instantánea. Una distancia menor que el ruido normal de bar a bar del instrumento cierra la mayoría de las operaciones en unas pocas bars. Dimensiona la distancia a partir de la volatilidad medida, por ejemplo un múltiplo del ATR convertido a puntos, en lugar de una estimación fija.
Instrucciones relacionadas
TRAILING, distancia del trailing stop en unidades de precio.%TRAILING, distancia del trailing stop en porcentaje.$TRAILING, distancia del trailing stop en la divisa de la cuenta.SET, prefijo de todas las declaraciones de gestión de órdenes.STOP, el lado del stop de protección de la instrucción SET.BREAKEVEN, mueve el stop o el objetivo al precio de entrada.PLOSS, distancia fija de stop loss en puntos.TRADEPRICE, el precio de entrada de la posición actual.POINTSIZE, el valor de un punto del instrumento.LONGONMARKET, verdadero mientras hay una posición long abierta.