PRICE
PRICE coloca un stop loss o un take profit en un nivel de precio absoluto en ProBacktest y ProOrder mediante los comandos SET STOP PRICE y SET TARGET PRICE.
Sintaxis
SET STOP PRICE xSET TARGET PRICE xParámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
x | expresión numérica | obligatorio | El nivel de precio absoluto en el que se coloca el stop loss o el take profit. |
Cómo funciona
La mayoría de los miembros de las familias de stop y target expresan la salida como una distancia desde el precio medio de la posición, en puntos (PLOSS, PPROFIT), porcentaje (%LOSS, %PROFIT), o efectivo ($LOSS, $PROFIT). La variante PRICE funciona de otro modo: el argumento es el precio exacto en el que se coloca la orden de salida, independientemente de dónde se entró en la posición. Esto encaja con estrategias construidas en torno a niveles del gráfico, como mínimos de swing, extremos de la sesión anterior o números redondos identificados de antemano.
El nivel puede ser un literal o cualquier expresión numérica, por lo que puede recalcularse bar a bar a partir de valores de indicadores. Una vez fijado, el nivel se mantiene donde está hasta el siguiente SET STOP o SET TARGET la sustituye; un nivel absoluto nunca sigue al mercado por sí solo.
La dirección importa. En una posición long el stop va por debajo del precio actual y el objetivo por encima; en un short los lados se invierten. Ambas instrucciones comparten su espacio con las demás variantes de la misma familia, por lo que la más reciente SET STOP llamada define el stop y la más reciente SET TARGET la llamada define el objetivo.
Ejemplos
Ejemplo 1, Niveles de salida fijos alrededor de una posición (ProBacktest)
// Exit at a loss if the market falls to 100
SET STOP PRICE 100
// Take profit if the market rises to 150
SET TARGET PRICE 150Los dos niveles encierran una posición long entre los precios absolutos 100 y 150, independientemente de la ejecución de entrada. Estas son las sentencias de referencia de la documentación original con los comentarios reescritos.
Ejemplo 2, Stop por debajo de un swing low (ProOrder)
// Place the stop just below the lowest low of the last 20 bars
swingLow = lowest[20](low)
IF NOT onmarket AND close CROSSES OVER average[50](close) THEN
BUY 1 CONTRACTS AT MARKET
SET STOP PRICE swingLow
ENDIFEn lugar de una distancia fija, el stop se ancla a una estructura del gráfico, el swing low de 20 bars que existía en el momento de la entrada, un nivel con significado técnico en vez de un recuento arbitrario de puntos.
Ejemplo 3, Objetivo en el máximo de la sesión anterior (ProOrder)
// Aim an intraday long at yesterday's high
IF NOT onmarket AND close CROSSES OVER average[20](close) AND close < dhigh(1) THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
IF longonmarket THEN
SET TARGET PRICE dhigh(1)
ENDIFLa entrada solo se toma mientras el precio permanece por debajo del máximo de ayer, y el take profit se sitúa exactamente en ese nivel, un objetivo intraday habitual.
Errores y trampas habituales
- Nivel en el lado equivocado del mercado. Un precio de stop por encima del mercado en un long, o un objetivo por debajo, es incoherente con la posición y puede cerrar la operación de inmediato o ser rechazado. Valida los niveles calculados frente al precio actual antes de fijarlos.
- Inversión de la dirección en los shorts. En las posiciones short el stop va por encima del mercado y el objetivo por debajo. Reutilizar la lógica de niveles del lado long sin invertir la comparación coloca ambas salidas en el lado equivocado.
- Los niveles estáticos nunca se mueven. A diferencia de las variantes trailing, un nivel absoluto permanece fijo hasta que el código emite otra llamada SET. Anclarlo a un indicador exige volver a ejecutar la instrucción cada vez que el nivel deba actualizarse.
- Sobrescrituras de la ranura.
SET STOP PRICEreemplaza cualquier anteriorPLOSS,%LOSS,$LOSS, trailing, o stop breakeven, ySET TARGET PRICEsustituye los objetivos anteriores. Mezclar llamadas basadas en distancia y basadas en precio deja activa solo la más reciente.
Instrucciones relacionadas
STOP, resumen de la familia de instrucciones de stop.TARGET, resumen de la familia de instrucciones de objetivo.PLOSS, stop loss como distancia en puntos desde la entrada.PPROFIT, take profit como distancia en puntos desde la entrada.%LOSS, stop loss como distancia porcentual.%PROFIT, take profit como distancia porcentual.BREAKEVEN, mueve el stop o el objetivo al precio de entrada.TRADEPRICE, precio de entrada de una orden individual.POSITIONPRICE, precio de entrada promedio de la posición abierta.Lowest, valor más bajo en un periodo de referencia, útil para stops en swing lows.