CONTRACT
CONTRACT è un'unità di quantità di ProBacktest e ProOrder che imposta la dimensione dell'ordine in contratti, come in BUY 5 CONTRACTS AT MARKET, interscambiabile con SHARES o LOT.
Sintassi
x CONTRACTUsato all'interno di un'istruzione di ordine:
BUY 5 CONTRACTS AT MARKETParametri
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
x | numerico | 1 all'ingresso, posizione intera all'uscita | Numero di contratti per l'ordine. Accetta valori letterali o espressioni numeriche. |
Come funziona
CONTRACT dichiara quanti contratti negozia un ordine. Non porta con sé alcuna direzione: BUY 5 CONTRACTS AT MARKET apre o incrementa un long, SELLSHORT 5 CONTRACTS AT MARKET apre o incrementa uno short, e SELL 2 CONTRACTS AT MARKET riduce una posizione long di due contratti.
La parola chiave è una delle diverse parole intercambiabili per le unità. SHARE, CONTRACTS, PERPOINT, LOT e LOTS sono accettati nella stessa posizione su qualsiasi tipo di strumento, e la grafia singolare o plurale non fa differenza funzionale. Sul Forex la quantità indicata viene moltiplicata per la dimensione di un lotto.
Quando non è indicata una quantità, si applicano i valori predefiniti. Un ordine di ingresso come BUY AT MARKET opera su un'unità. Un ordine di uscita come SELL AT MARKET o EXITSHORT AT MARKET chiude l'intera posizione aperta, qualunque sia la sua dimensione.
La quantità può essere una variabile, ed è così che le regole di position size, per esempio un numero di contratti derivato dalla volatilità o dall'equity del conto, vengono collegate al flusso degli ordini.
Esempi
Esempio 1, Ingresso fisso di cinque contratti (ProBacktest)
long = close crosses over Average[50](close)
IF NOT LongOnMarket AND long THEN
// Order size fixed at five contracts
BUY 5 CONTRACTS AT MARKET
ENDIF
SET STOP PLOSS 40L'incrocio delle medie mobili attiva un ingresso long di esattamente cinque contratti, la dimensione indicata dall'unità CONTRACT.
Esempio 2, Numero di contratti scalato sulla volatilità (ProOrder)
DEFPARAM CumulateOrders = false
// Fewer contracts when the market is volatile
atr = AverageTrueRange[14](close)
n = MAX(1, ROUND(200 / atr))
IF NOT OnMarket AND RSI[14](close) crosses over 50 THEN
BUY n CONTRACT AT MARKET
ENDIF
SET STOP %LOSS 2Il numero di contratti è una variabile ricalcolata a ogni bar: un mercato calmo permette più contratti, uno volatile meno, con un minimo di uno.
Esempio 3, Uscita parziale in contratti (ProOrder)
DEFPARAM CumulateOrders = false
IF NOT OnMarket AND close crosses over Highest[20](high)[1] THEN
BUY 4 CONTRACTS AT MARKET
ENDIF
// Bank half the position after a favorable move, keep the rest running
IF LongOnMarket AND close >= TRADEPRICE * 1.02 THEN
SELL 2 CONTRACTS AT MARKET
ENDIF
SET STOP %TRAILING 1.5Indicare una quantità sull'ordine di uscita chiude solo quel numero di contratti, qui due dei quattro, mentre il resto resta aperto sotto il trailing stop.
Errori e insidie comuni
- CONTRACT imposta la dimensione, non la direzione. La parola chiave non apre né chiude nulla da sola. L'istruzione circostante,
BUY,SELL,SELLSHORToEXITSHORT, decide la direzione dell'operazione. - Moltiplicazione dei lotti forex. Sugli strumenti Forex la quantità è moltiplicata per la dimensione del lotto, quindi
BUY 1 CONTRACTopera un lotto intero, non un'unità di valuta. Controlla la definizione del lotto dello strumento prima di dimensionare. - Le quantità non indicate ricadono sui valori predefiniti.
BUY AT MARKETnegozia silenziosamente un'unità eSELL AT MARKETchiude l'intera posizione. Un numero mancante non è un errore, quindi un errore di battitura che elimina la quantità cambia la position size senza avvisare. - I conteggi frazionari vengono arrotondati. Un'espressione calcolata come
capital / priceraramente dà un numero intero. Racchiudi le formule di sizing inROUND, oppure aggiungi un limite minimo esplicito, per mantenere intenzionale la quantità richiesta.
Istruzioni correlate
CASH, quantità dell'ordine come importo in denaro.LOT, quantità dell'ordine in lotti.SHARES, quantità dell'ordine come numero di azioni.BUY, apre o incrementa una posizione long.SELL, chiude o riduce una posizione long.SELLSHORT, apre o incrementa una posizione short.EXITSHORT, chiude o riduce una posizione short.MARKET, esecuzione immediata al prezzo corrente.COUNTOFPOSITION, dimensione della posizione aperta in unità.