CASH
CASH es una unidad de cantidad de ProBacktest y ProOrder que dimensiona una orden por importe de dinero, como en BUY 1000 CASH, en lugar de por un número fijo de acciones o contratos.
Sintaxis
BUY x CASHParámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
x | numérico | ninguno | Cantidad de capital a asignar a la orden, en la divisa de la cuenta. La plataforma la convierte en una cantidad al precio actual. |
Cómo funciona
CASH sustituye un número de unidades en una instrucción de orden. Donde BUY 5 CONTRACTS AT MARKET fija la cantidad, BUY 1000 CASH AT MARKET fija el capital y deja que la plataforma derive la cantidad dividiendo el importe en efectivo por el precio del instrumento. La exposición resultante se mantiene cerca del importe solicitado, tanto si el instrumento cotiza a 8 como a 800.
Como un importe en efectivo rara vez se divide en un número entero de unidades, la cantidad calculada se redondea. La dirección del redondeo puede forzarse con ROUNDEDDOWN o ROUNDEDUP inmediatamente después de CASH palabra clave, por ejemplo BUY 1000 CASH ROUNDEDDOWN AT MARKET nunca gasta más que el importe indicado.
El importe puede ser un literal o cualquier expresión numérica, lo que convierte a CASH en la unidad natural para dimensionar en proporción al equity: recalcula la asignación a partir del capital inicial más STRATEGYPROFIT y cada operación se escala automáticamente con la cuenta. CASH es intercambiable con las otras unidades de cantidad, CONTRACT, SHARES y LOT, con la misma sintaxis de orden.
Ejemplos
Ejemplo 1, Asignación de capital fija por operación (ProBacktest)
long = close crosses over Average[50](close)
IF NOT LongOnMarket AND long THEN
// Allocate 1000 of account currency, whatever the share price is
BUY 1000 CASH AT MARKET
ENDIF
SET STOP %LOSS 3Cada entrada despliega las mismas 1000 unidades de capital. En una acción con precio 50 eso son unas 20 acciones, en una acción con precio 250 unas 4 acciones, manteniendo la exposición constante entre instrumentos.
Ejemplo 2, Dimensionamiento proporcional a la equity con control de redondeo (ProOrder)
DEFPARAM CumulateOrders = false
// Reinvest gains: allocation grows and shrinks with realized performance
startCapital = 10000
allocation = (startCapital + STRATEGYPROFIT) * 0.2
IF NOT OnMarket AND RSI[14](close) < 30 THEN
// Round down so the order never exceeds the allocation
BUY allocation CASH ROUNDEDDOWN AT MARKET
ENDIF
SET STOP %LOSS 2El tamaño de la orden es el 20 por ciento de la equity actual. ROUNDEDDOWN garantiza que la cantidad calculada se mantenga dentro del presupuesto.
Ejemplo 3, Entrada short dimensionada en efectivo (ProOrder)
bearish = close crosses under Average[100](close)
IF NOT ShortOnMarket AND bearish THEN
// Commit 500 of capital to the short side
SELLSHORT 500 CASH AT MARKET
ENDIF
SET STOP %TRAILING 2CASH también funciona con entradas short; la plataforma vende en short tantas unidades como cubran 500 unidades de divisa al precio actual.
Errores y trampas habituales
- Sorpresas en el redondeo de la cantidad. El importe en efectivo se convierte a un número entero de unidades, por lo que la exposición real difiere ligeramente del
x. En instrumentos de precio elevado la diferencia puede ser grande;BUY 1000 CASHsobre una acción con precio de 800 compra una sola acción. UsaROUNDEDDOWNoROUNDEDUPpara controlar la dirección. - Importe por debajo de una unidad. Si
xes menor que el precio de una unidad y el redondeo va a la baja, la cantidad calculada puede ser cero y no se envía ninguna orden. Protege la asignación con un mínimo antes de la línea de la orden. - No es una instrucción de stop loss.
CASHdimensiona las entradas; no limita las pérdidas. Limitar el dinero perdido en una operación es tarea deSET STOP $LOSS. - Las salidas normalmente no necesitan cantidad.
SELL AT MARKETcierra la posición completa. Volver a indicar un importe en efectivo en la salida cierra solo la cantidad calculada, lo que puede dejar una posición residual cuando el precio se ha movido desde la entrada.
Instrucciones relacionadas
CONTRACT, cantidad de la orden como número de contratos.LOT, cantidad de la orden en lotes.SHARES, cantidad de la orden como número de acciones.BUY, abre o amplía una posición long.SELLSHORT, abre o amplía una posición short.ROUNDEDDOWN, redondea hacia abajo una cantidad derivada del efectivo.ROUNDEDUP, redondea hacia arriba una cantidad derivada del efectivo.MARKET, ejecución inmediata al precio actual.STRATEGYPROFIT, beneficio realizado de la estrategia, útil para dimensionar en función de la equity.