Únete hoy
ProBacktest/probacktest · proorder

SELLSHORT

SELLSHORT en ProBacktest y ProOrder abre una posición short a mercado o con órdenes pendientes. SELLSHORT abre posiciones short mientras SELL cierra posiciones long. Ejemplos en el interior.

Sintaxis

probuilder
SELLSHORT quantity SHARES AT MARKET
probuilder
SELLSHORT x CONTRACT AT MARKET
probuilder
SELLSHORT x CONTRACT AT price LIMIT
SELLSHORT x CONTRACT AT price STOP

Parámetros

NombreTipoPor defectoDescripción
quantitynúmeroningunoNúmero de unidades a vender en short. La palabra clave de unidad que sigue, SHARES, CONTRACT o LOT, corresponde al tipo de instrumento.
pricenúmeroningunoNivel de activación para las formas pendientes LIMIT o STOP.

Cómo funciona

SELLSHORT es la instrucción de entrada en el lado short. SELLSHORT quantity SHARES AT MARKET abre una posición short del tamaño indicado al siguiente precio disponible. La palabra clave de unidad se adapta al instrumento: SHARES para acciones, CONTRACT para futuros y CFDs, LOT para forex.

También están disponibles las formas pendientes. SELLSHORT ... AT price LIMIT espera para abrir un short a un nivel indicado o mejor por encima del mercado actual, entrando en fuerza. SELLSHORT ... AT price STOP abre short en cuanto el precio cae atravesando un nivel por debajo del mercado, una entrada de ruptura a la baja. Como todas las órdenes pendientes en ProBacktest y ProOrder, una orden que no se ejecuta antes del final del bar siguiente se cancela y debe volver a enviarse mientras la regla de entrada siga siendo válida.

La distinción con SELL importa. SELL cierra una posición long abierta y nunca abre nada; SELLSHORT abre una nueva posición short. Las cuatro instrucciones de órdenes se emparejan como BUY con SELL para el lado long, y SELLSHORT con EXITSHORT para el lado short. Una estrategia que emite SELL cuando pretende ponerse short no hace nada estando fuera del mercado, y el error es silencioso porque la orden simplemente se ignora.

Ejemplos

Ejemplo 1, Entrada short condicional a mercado (ProBacktest)

probuilder
// Short when the trend filter turns down and no short is open
ShortConditions = close CROSSES UNDER Average[50](close)
IF NOT ShortOnMarket AND ShortConditions THEN
    SELLSHORT 1 SHARES AT MARKET
ENDIF

La protección NOT ShortOnMarket evita apilar un segundo short sobre uno existente; la orden se dispara solo cuando se cumple la regla de entrada y no hay ningún short abierto. Esto sigue el ejemplo de la referencia oficial, con la condición de entrada hecha explícita.

Ejemplo 2, Short con un bracket de salida completo (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

// Short an RSI overbought signal
IF NOT onmarket AND RSI[14](close) > 70 THEN
  SELLSHORT 1 CONTRACT AT MARKET
ENDIF

// Protective bracket, stop above and target below the entry
SET STOP PLOSS 30
SET TARGET PPROFIT 60

La posición short se abre a mercado y lleva un stop de 30 puntos con un objetivo de 60 puntos. En una posición short el stop se sitúa por encima del precio de entrada y el objetivo por debajo.

Ejemplo 3, Entrada pendiente por ruptura a la baja (ProOrder)

probuilder
// Short a breakdown through the 20-bar low
supportLevel = lowest[20](low)

IF NOT onmarket THEN
  // Resubmit the pending order each bar while flat
  SELLSHORT 1 CONTRACT AT supportLevel STOP
ENDIF

La orden STOP pendiente queda por debajo del mercado y solo se ejecuta si el precio rompe el mínimo de 20 barras. Volver a enviarla en cada barra mantiene el nivel actualizado a medida que se mueve el mínimo.

Errores y trampas habituales

  • SELLSHORT no es SELL. SELLSHORT abre posiciones short; SELL cierra posiciones long. Usar SELL para abrir una posición short falla de forma silenciosa, la orden se ignora mientras la estrategia está fuera del mercado, y no se informa de ningún error.
  • Cerrar una posición short requiere EXITSHORT. Una posición short abierta con SELLSHORT se cierra con EXITSHORT, no con BUY. En plataformas donde CumulateOrders está desactivado, un BUY contra una posición short abierta invierte la posición en lugar de simplemente cerrarla, lo que rara vez es la intención.
  • Las entradas pendientes caducan después de una barra. Una orden en espera SELLSHORT ... STOP o SELLSHORT ... LIMIT la orden se cancela si no se ejecuta después del siguiente bar. Reenvíala en cada bar mientras el setup siga siendo válido, como en el ejemplo 3.
  • Las entradas sin protección acumulan posiciones. Con CumulateOrders activado, un SELLSHORT que se dispara en bars consecutivos sigue aumentando el short. Protege las entradas con NOT ShortOnMarket o NOT onmarket, o desactiva la acumulación con DEFPARAM.
  • BUY, abre una posición long.
  • SELL, cierra una posición long abierta.
  • EXITSHORT, cierra una posición short abierta.
  • SHARES, palabra clave de unidad de cantidad para órdenes de acciones.
  • CONTRACT, palabra clave de unidad de cantidad para derivados.
  • MARKET, ejecución inmediata al precio actual.
  • LIMIT, orden pendiente a un precio indicado o mejor.
  • SHORTONMARKET, verdadero mientras hay una posición short abierta.
  • ONMARKET, verdadero mientras hay alguna posición abierta.
  • TRADEPRICE, el precio de entrada de la posición actual.