Únete hoy
ProBacktest/probacktest · proorder

SHARES

SHARES en ProBacktest y ProOrder dimensiona una orden como un número de acciones para estrategias de acciones y CFD. Cubre la sintaxis, la elección de unidad y ejemplos resueltos.

Sintaxis

probuilder
[BUY|SELLSHORT] quantity SHARES [AT MARKET|AT price LIMIT|AT price STOP]

Cómo funciona

SHARES nombra la unidad en que se cuenta la cantidad de la orden. BUY 100 SHARES AT MARKET compra 100 acciones al siguiente precio disponible. La palabra clave va después del número y antes del tipo de orden, ya sea AT MARKET, un AT price LIMIT, o un AT price STOP.

La unidad de dimensionamiento debe coincidir con el instrumento. SHARES encaja con acciones y CFDs sobre acciones, CONTRACT encaja con futuros y CFDs, y LOT encaja con el forex. Elegir la unidad equivocada dimensiona la posición de forma incorrecta para ese mercado. Si las órdenes repetidas se acumulan en una posición mayor lo determina CumulateOrders, exactamente igual que con cualquier otra unidad de tamaño.

Ejemplos

Ejemplo 1, Entrada short dimensionada en acciones (ProBacktest)

probuilder
// Sell short one share when MACD crosses below zero and no short is open
myMACD = MACD[12,26,9](close)
shortCondition = myMACD CROSSES UNDER 0
IF NOT ShortOnMarket AND shortCondition THEN
    SELLSHORT 1 SHARES AT MARKET
ENDIF

Este es el patrón de la referencia oficial. La orden vende una acción a mercado cuando el histograma del MACD cruza por debajo de cero y no hay ya una posición short abierta.

Ejemplo 2, Entrada long con un número fijo de acciones (ProOrder)

probuilder
DEFPARAM CumulateOrders = false
// Buy 100 shares on a break above the 20-bar high
IF NOT LongOnMarket AND close CROSSES OVER Highest[20](high) THEN
    BUY 100 SHARES AT MARKET
ENDIF

La posición es de 100 acciones fijas cada vez que se activa la entrada, y la protección de posición evita una segunda entrada mientras ya se está long.

Ejemplo 3, Orden stop pendiente dimensionada en acciones (ProOrder)

probuilder
DEFPARAM CumulateOrders = false
// Rest a stop entry above the market for 50 shares
entryLevel = Highest[20](high)
IF NOT OnMarket THEN
    BUY 50 SHARES AT entryLevel STOP
ENDIF

La orden stop pendiente se ejecuta solo si el precio sube atravesando el máximo de 20 bars, comprando 50 acciones en ese nivel.

Errores y trampas habituales

  • Unidad incorrecta para el mercado. SHARES en un par de divisas o un contrato de futuros no dimensiona la orden como se pretende. Usa CONTRACT para futuros y CFDs y LOT para forex.
  • Acciones fraccionarias. Las normas del bróker deciden si se acepta una cantidad fraccionaria de acciones. Un número entero es la opción segura para la mayoría de los instrumentos.
  • Acumulación no intencionada. CumulateOrders está activado por defecto, por lo que una entrada que se mantiene verdadera durante varios bars añade títulos en cada uno de ellos. Pon DEFPARAM CumulateOrders = false o protegerlo con NOT LongOnMarket.
  • Solo la unidad, no la orden completa. SHARES es una parte de una línea de orden. Siempre va después de una cantidad y se sitúa dentro de un BUY o SELLSHORT instrucción con un tipo de orden.
  • CONTRACT, unidad de cantidad para futuros y CFDs.
  • LOT, unidad de cantidad para forex.
  • BUY, abre una posición long dimensionada en la unidad elegida.
  • SELLSHORT, abre una posición short dimensionada en la unidad elegida.
  • SELL, cierra una posición long.
  • EXITSHORT, cierra una posición short.
  • MARKET, LIMIT, STOP, los tipos de orden que puede usar una orden dimensionada en acciones.