Iscriviti ora
ProBacktest/probacktest · proorder

SHARES

SHARES in ProBacktest e ProOrder dimensiona un ordine come numero di azioni per strategie su azioni e CFD. Copre sintassi, scelta dell'unità ed esempi svolti.

Sintassi

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

Come funziona

SHARES indica l'unità in cui è conteggiata la quantità dell'ordine. BUY 100 SHARES AT MARKET compra 100 azioni al prossimo prezzo disponibile. La parola chiave segue il numero e precede il tipo di ordine, sia che si tratti di AT MARKET, un AT price LIMIT, o un AT price STOP.

L'unità di dimensionamento deve corrispondere allo strumento. SHARES si adatta alle azioni e ai CFD su azioni, CONTRACT si adatta ai futures e ai CFD, e LOT si adatta al forex. Scegliere l'unità sbagliata dimensiona la posizione in modo errato per quel mercato. Se ordini ripetuti si sommino in una posizione più grande è determinato da CumulateOrders, esattamente come con qualsiasi altra unità di dimensionamento.

Esempi

Esempio 1, Ingresso short dimensionato in azioni (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

Questo è il pattern del riferimento ufficiale. L'ordine vende un'azione a mercato quando l'istogramma MACD incrocia al ribasso lo zero e non c'è già una posizione short aperta.

Esempio 2, Ingresso long con un numero fisso di azioni (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 posizione è di 100 azioni fisse ogni volta che l'ingresso scatta, con il controllo di posizione che impedisce un secondo ingresso quando si è già long.

Esempio 3, Ordine stop pendente dimensionato in azioni (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

L'ordine stop pendente viene eseguito solo se il prezzo supera al rialzo il massimo a 20 bar, acquistando 50 azioni a quel livello.

Errori e insidie comuni

  • Unità sbagliata per il mercato. SHARES su una coppia forex o un contratto futures non dimensiona l'ordine come previsto. Usa CONTRACT per futures e CFD e LOT per il forex.
  • Azioni frazionarie. Le regole del broker decidono se una quantità frazionaria di azioni è accettata. Un numero intero è la scelta sicura per la maggior parte degli strumenti.
  • Accumulo involontario. CumulateOrders è abilitato per impostazione predefinita, quindi un ingresso che resta vero per più bars aggiunge azioni su ognuna di esse. Imposta DEFPARAM CumulateOrders = false o proteggerlo con NOT LongOnMarket.
  • Solo l'unità, non l'intero ordine. SHARES è una parte di una riga d'ordine. Segue sempre una quantità e si trova dentro un BUY o SELLSHORT istruzione con un tipo di ordine.
  • CONTRACT, unità di quantità per futures e CFD.
  • LOT, unità di quantità per il forex.
  • BUY, apre una posizione long dimensionata in un'unità scelta.
  • SELLSHORT, apre una posizione short dimensionata in un'unità scelta.
  • SELL, chiude una posizione long.
  • EXITSHORT, chiude una posizione short.
  • MARKET, LIMIT, STOP, i tipi di ordine utilizzabili da un ordine dimensionato in azioni.