PROFIT
SET TARGET PROFIT in ProBacktest and ProOrder places a take profit a fixed number of price units from entry. PROFIT syntax, examples, and common errors.
Sintaxis
SET TARGET PROFIT xParámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
x | número | ninguno | Distancia entre el precio de entrada y el take profit, expresada en unidades de precio del instrumento. Acepta literales, variables y expresiones. |
Cómo funciona
SET TARGET PROFIT declara una orden take profit pendiente relativa al precio de entrada de la posición. En una posición long el nivel de salida se sitúa x unidades de precio por encima de la entrada; en una posición short se sitúa x unidades por debajo. Cuando el precio alcanza el nivel, la posición se cierra automáticamente.
La declaración es persistente. Una vez ejecutada, permanece activa para la posición actual y para las posiciones abiertas después, hasta que otra SET TARGET llamada la sustituya. Colocar la instrucción en su propia línea al final del código, fuera de cualquier bloque IF, es el patrón habitual para un objetivo fijo que se aplica a todas las operaciones. Envolverla en condiciones permite que el objetivo cambie a mitad de la operación, en cuyo caso la llamada más reciente define el nivel activo.
La distancia se mide en unidades de precio, siendo una unidad el POINTSIZE del instrumento. Para objetivos basados en porcentaje o en efectivo, usa las %PROFIT y $PROFIT variantes en lugar de convertir manualmente.
Ejemplos
Ejemplo 1, Entrada con MACD y objetivo de 50 unidades (ProBacktest)
myMACD = MACD[12,26,9](close)
long = myMACD crosses over 0
IF NOT LongOnMarket AND long THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
// Close the position once it gains 50 price units
SET TARGET PROFIT 50Se abre un long cuando la línea del MACD cruza por encima de cero, y el take profit lo cierra 50 unidades de precio por encima de la entrada. Este es el ejemplo de la referencia oficial.
Ejemplo 2, Horquilla fija de objetivo y stop (ProOrder)
DEFPARAM CumulateOrders = false
IF NOT onmarket AND close CROSSES OVER Average[50](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Fixed exit bracket around the entry price
SET TARGET PROFIT 120
SET STOP LOSS 60Todas las posiciones llevan la misma horquilla, un take profit 120 unidades por encima de la entrada y un stop 60 unidades por debajo. Ambas declaraciones están fuera del bloque de entrada para que se apliquen a todas las operaciones.
Ejemplo 3, Objetivo escalado por volatilidad (ProOrder)
atr = AverageTrueRange[14](close)
IF NOT onmarket AND RSI[14](close) < 30 THEN
BUY 1 CONTRACT AT MARKET
// Target distance adapts to recent volatility
SET TARGET PROFIT ROUND(2 * atr)
ENDIFLa distancia del objetivo se recalcula en la entrada como el doble del ATR actual, por lo que los mercados tranquilos reciben objetivos más ajustados que los volátiles.
Errores y trampas habituales
- Unidades de precio, no puntos ni porcentaje.
SET TARGET PROFITmide su distancia en unidades de precio del instrumento. Para puntos usaSET TARGET PPROFIT, para porcentajeSET TARGET %PROFIT, para la divisa de la cuentaSET TARGET $PROFIT. Confundir la unidad produce objetivos exageradamente estrechos o amplios. - PROFIT no lee el beneficio. La palabra clave solo aparece dentro de la instrucción SET. Para leer el resultado acumulado de una estrategia o de una posición, usa STRATEGYPROFIT o POSITIONPERF; escribir
IF profit > 0no compila. - Distancia, no nivel. El valor es un desplazamiento respecto al precio de entrada, no un precio absoluto.
SET TARGET PROFIT 12000en un índice que cotiza a 12050 crea un objetivo a 12000 unidades de distancia, no un objetivo en 12000. - Gana la última llamada. Consecutivos
SET TARGETlas llamadas se sobrescriben entre sí, solo la declaración más reciente está activa. Los bloques condicionales que se disparan en el mismo bar pueden sustituir en silencio un objetivo previsto.
Instrucciones relacionadas
PPROFIT, distancia del take profit en puntos.%PROFIT, distancia del take profit en porcentaje.$PROFIT, distancia del take profit en la divisa de la cuenta.SET, prefijo de todas las declaraciones de gestión de órdenes.TARGET, el lado del take profit de la instrucción SET.LOSS, distancia del stop loss en unidades de precio.Set Target Loss, orden de objetivo colocada a una distancia de pérdida desde la entrada.STRATEGYPROFIT, beneficio realizado de la estrategia en la divisa de la cuenta.POSITIONPERF, rendimiento de la posición abierta.TRADEPRICE, el precio de entrada de la posición actual.