Iscriviti ora
ProBacktest/probacktest · proorder

LOT

LOT specifica la quantità dell'ordine in lotti per i comandi BUY e SELL in ProBacktest e ProOrder. Interscambiabile con le unità CONTRACT, SHARE e PERPOINT.

Sintassi

probuilder
BUY n LOT AT MARKET
SELL n LOT AT MARKET

Parametri

NomeTipoPredefinitoDescrizione
nnumerico1 all'ingresso, posizione intera all'uscitaNumero di lotti da negoziare. Se omesso, un ordine di ingresso negozia 1 unità e un ordine di uscita chiude l'intera posizione.

Come funziona

Le istruzioni di ordine in ProBacktest e ProOrder seguono lo schema verb quantity unit AT type. LOT riempie lo slot dell'unità e indica al motore che la quantità è espressa in lotti, un blocco standardizzato di unità dell'asset negoziato.

Le parole chiave di unità sono alias. LOT, LOTS, SHARE, SHARES, CONTRACT, CONTRACTS, e PERPOINT possono sostituirsi a vicenda su qualsiasi tipo di strumento, il motore interpreta la quantità in base allo strumento, non alla parola. La scelta è di leggibilità: SHARES si legge naturalmente per le azioni, LOT per il Forex, CONTRACT per futures e CFD.

Sul Forex la convenzione sui lotti ha un effetto reale. La quantità indicata viene moltiplicata per la dimensione di un lotto, quindi BUY 1 LOT su una coppia con una dimensione del lotto di 100,000 unità negozia 100,000 unità della valuta base.

Quando la quantità è del tutto omessa, si applicano i valori predefiniti. BUY AT MARKET entra con una quantità di 1, e SELL AT MARKET chiude l'intera posizione aperta indipendentemente dalla sua dimensione.

Esempi

Esempio 1, Ingresso condizionale di un lotto (ProOrder)

probuilder
// setup defined earlier in the strategy
validsetup = close crosses over Average[50](close)

IF NOT ONMARKET AND validsetup THEN
  // NextBarOpen is legacy syntax and can be omitted in current code
  BUY 1 LOT AT MARKET NextBarOpen
ENDIF

Quando è flat e il setup si attiva, la strategia compra un lotto a mercato. L'ordine viene eseguito all'apertura della barra successiva, che è il comportamento predefinito, quindi il trailing NextBarOpen modificatore è ridondante nelle versioni attuali.

Esempio 2, Chiusura parziale di metà posizione (ProBacktest)

probuilder
IF NOT OnMarket AND close crosses over Average[20](close) THEN
  BUY 2 LOT AT MARKET
ENDIF

// take half off once the trade has moved 50 points
IF LongOnMarket AND close - TradePrice >= 50 * PointSize THEN
  SELL 1 LOT AT MARKET
ENDIF

La strategia entra con due lotti e vende un lotto quando l'operazione mostra 50 punti di profitto, lasciando correre il lotto restante.

Esempio 3, Ingresso short dimensionato in lotti (ProOrder)

probuilder
short = RSI[14](close) > 70 AND close < close[1]

IF NOT ShortOnMarket AND short THEN
  SELLSHORT 1 LOT AT MARKET
  SET STOP PLOSS 30
ENDIF

LOT funziona in modo identico sul lato short. Un lotto viene venduto short a mercato con uno stop protettivo di 30 punti.

Errori e insidie comuni

  • Il forex moltiplica per la dimensione del lotto. Sulle coppie di valute la quantità è scalata in base alla dimensione del lotto dello strumento, spesso 100,000 unità. BUY 2 LOT può quindi controllare 200,000 unità di valuta base. Verifica la dimensione del lotto dello strumento prima di dimensionare le posizioni.
  • I valori predefiniti della quantità omessa differiscono per direzione. BUY AT MARKET negozia esattamente 1 unità, ma SELL AT MARKET chiude l'intera posizione. Dare per scontati valori predefiniti simmetrici porta a uscite complete involontarie quando si esce in più tranche.
  • La parola chiave di unità non cambia il calcolo. Scambiare LOT per CONTRACT o SHARES sullo stesso strumento non cambia nulla in esecuzione. Leggere CONTRACT come position size diverso da LOT è un'idea sbagliata.
  • I minimi del broker si applicano comunque. In ProOrder live le dimensioni minime e gli incrementi del broker vincolano la quantità, e DEFPARAM MINORDER o MAXORDER le impostazioni possono filtrare o limitare l'ordine. Un ordine sintatticamente valido LOT la quantità può comunque essere rifiutata.
  • CONTRACT, parola chiave di unità alias comunemente usata per futures e CFD.
  • SHARES, parola chiave di unità alias comunemente usata per le azioni.
  • CASH, dimensionamento della posizione basato su un importo in contanti.
  • BUY, apre o incrementa una posizione long.
  • SELL, chiude parzialmente o totalmente una posizione long.
  • SELLSHORT, apre o incrementa una posizione short.
  • MARKET, esecuzione immediata al prezzo di mercato corrente.
  • ONMARKET, vero mentre una qualsiasi posizione è aperta.