TRAILING
TRAILING establece un trailing stop en ProBacktest y ProOrder mediante SET STOP TRAILING x, moviendo el stop con el precio a una distancia fija de x puntos del mercado.
Sintaxis
SET STOP TRAILING xParámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
x | numérico | ninguno | Distancia en puntos entre el stop y el precio más favorable alcanzado. |
Cómo funciona
Un stop fijo permanece donde se colocó. Un trailing stop sigue a la operación. SET STOP TRAILING x coloca el stop x puntos del precio y después lo va ajustando a medida que la posición gana: en un long el stop sube cuando se marcan nuevos máximos, en un short baja cuando se marcan nuevos mínimos. El stop solo se estrecha: un movimiento adverso nunca lo mueve hacia atrás.
El resultado es una salida integrada que deja correr una operación ganadora mientras limita cuánto beneficio abierto puede devolverse. Una vez que el precio retrocede x puntos desde su mejor nivel, la posición se cierra. No hace falta código manual de gestión del stop, el motor mantiene el nivel barra a barra.
La distancia se expresa en puntos. Las instrucciones hermanas cubren otras unidades, PTRAILING sigue en pips, %TRAILING en porcentaje del precio, y $TRAILING en la divisa de la cuenta. Todos ellos ocupan la misma ranura interna de stop que SET STOP LOSS y BREAKEVEN, así que el más reciente SET STOP instrucción es la que está en vigor.
Ejemplos
Ejemplo 1, Entrada en retroceso protegida por un trailing de 10 puntos (ProOrder)
// Trend and pullback filters
i1 = average(close)[100]
i2 = average(close)[5]
// Enter on a pullback inside a longer uptrend, exit on strength
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
// Safety net: trail the stop 10 points behind the best price
SET STOP TRAILING 10La estrategia tiene su propia regla de salida, y el trailing stop actúa como una red de seguridad permanente 10 puntos por detrás del precio más favorable. Esto conserva el ejemplo de referencia para la instrucción.
Ejemplo 2, Distancia de trailing escalada por ATR (ProBacktest)
atr = AverageTrueRange[14](close)
// Trail at twice the ATR, converted into points
trailPoints = ROUND(2 * atr / pointsize)
IF NOT onmarket AND close crosses over average[50](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIF
SET STOP TRAILING trailPointsLa distancia del trailing se adapta a la volatilidad. En mercados tranquilos el stop se ciñe al precio, en mercados volátiles se mantiene lo bastante lejos para evitar que el ruido lo expulse.
Ejemplo 3, Trailing activado solo cuando la operación está en beneficio (ProOrder)
IF NOT onmarket AND close > highest[20](high)[1] THEN
BUY 1 CONTRACT AT MARKET
SET STOP LOSS 30
ENDIF
// Switch from fixed stop to a tight trail once 20 points in profit
IF longonmarket AND close - tradeprice >= 20 * pointsize THEN
SET STOP TRAILING 10
ENDIFLa operación comienza con un stop fijo amplio. Una vez que ha ganado 20 puntos, el código lo sustituye por un trailing stop de 10 puntos, asegurando la mayor parte de la ganancia y dejando margen para que corra.
Errores y trampas habituales
- Puntos, no divisa ni porcentaje.
SET STOP TRAILING 10significa 10 puntos. Para distancias en pips, porcentaje o efectivo usaPTRAILING,%TRAILING, o$TRAILING, confundir las unidades sitúa mal el stop en órdenes de magnitud en algunos instrumentos. - Una sola ranura de stop. Trailing stops,
SET STOP LOSS, yBREAKEVENse sobrescriben entre sí, solo la declaración más reciente está activa. El código que emite un stop fijo en cada bar después de la declaración del trailing desactiva el trailing sin avisar. - Demasiado ajustado para el marco temporal. Una distancia menor que el ruido normal de barra a barra se toca casi de inmediato. Escala la distancia a la volatilidad, por ejemplo con ATR, en lugar de elegir un número redondo pequeño.
- Las ejecuciones del backtest son idealizadas. ProBacktest sale exactamente en el nivel del trailing. La ejecución real de ProOrder puede pasarse de ese nivel en mercados rápidos, por lo que los sistemas de trailing stop suelen rendir algo peor en real que en el backtest.
Instrucciones relacionadas
PTRAILING, trailing stop expresado en pips.%TRAILING, trailing stop expresado en porcentaje del precio.$TRAILING, trailing stop expresado en la divisa de la cuenta.STOP, configuración de stop loss fijo con SET STOP LOSS.BREAKEVEN, mueve el stop o el objetivo al precio de entrada.TARGET, configuración del take profit para la posición.TRADEPRICE, precio de entrada de la posición actual.LONGONMARKET, verdadero mientras hay una posición long abierta.