MARKET
MARKET in ProBacktest e ProOrder esegue gli ordini BUY e SELL al prezzo di mercato corrente. Gli ordini vengono eseguiti all'apertura del bar successivo senza limite di prezzo.
Sintassi
BUY quantity SHARES AT MARKET
SELL quantity SHARES AT MARKETCome funziona
Ogni istruzione di ordine termina con un tipo di ordine. AT MARKET significa che l'ordine non porta alcuna condizione di prezzo: viene eseguito al prezzo che il mercato offre nel momento dell'esecuzione. Le alternative, LIMIT e STOP, crea invece ordini pendenti che attendono un livello di prezzo specifico.
Poiché il codice della strategia viene eseguito una volta per bar alla chiusura, un ordine a mercato generato su un bar viene trasmesso ed eseguito all'apertura del bar successivo. ProBacktest modella questo eseguendo al prezzo di apertura del bar successivo. In ProOrder in tempo reale l'ordine raggiunge il broker in quel momento e viene eseguito al miglior prezzo disponibile, che può differire dal prezzo di apertura registrato in mercati rapidi o poco liquidi.
Un ordine a mercato scambia la certezza dell'esecuzione con l'incertezza del prezzo. È adatto ai segnali in cui essere dentro l'operazione conta più del livello esatto, come gli ingressi trend-following o le uscite forzate. Quando il livello di ingresso è esso stesso parte dell'edge, un ordine pendente LIMIT o STOP è l'ordine che esprime meglio tale intento.
AT MARKET si combina con tutti i verbi di ordine: BUY e SELLSHORT per aprire posizioni, SELL e EXITSHORT per chiuderle.
Esempi
Esempio 1, Acquisto immediato di dieci azioni (ProBacktest)
// enter when price closes above the 50-bar average
IF NOT OnMarket AND close > Average[50](close) THEN
BUY 10 SHARES AT MARKET
ENDIFQuando non si è in posizione e la condizione è verificata alla chiusura del bar, viene inviato un ordine per dieci azioni che viene eseguito all'apertura del bar successivo al prezzo corrente.
Esempio 2, Uscita forzata da uno short a mercato (ProOrder)
// cover the short as soon as momentum turns positive
exitSignal = RSI[14](close) crosses under 30
IF ShortOnMarket AND exitSignal THEN
EXITSHORT AT MARKET
ENDIFL'intera posizione short viene chiusa a mercato. Non è indicata alcuna quantità, quindi si applica il valore predefinito e tutta la posizione viene coperta.
Esempio 3, Incrocio di medie mobili in entrambe le direzioni (ProOrder)
fastMA = Average[20](close)
slowMA = Average[50](close)
IF fastMA crosses over slowMA THEN
IF ShortOnMarket THEN
EXITSHORT AT MARKET
ENDIF
BUY 1 CONTRACT AT MARKET
ENDIF
IF fastMA crosses under slowMA THEN
IF LongOnMarket THEN
SELL AT MARKET
ENDIF
SELLSHORT 1 CONTRACT AT MARKET
ENDIFUn sistema stop-and-reverse. Ogni incrocio chiude qualsiasi posizione opposta e ne apre una nuova, tutto con ordini a mercato, così la strategia è sempre posizionata con l'incrocio.
Errori e insidie comuni
- Le esecuzioni avvengono all'apertura del bar successivo. La condizione viene valutata alla chiusura del bar, ma il prezzo di esecuzione è l'apertura del bar successivo. I calcoli di backtest che presuppongono l'ingresso alla chiusura del bar del segnale sovrastimano i risultati ogni volta che i bar presentano gap.
- Nessuna garanzia di prezzo. Gli ordini a mercato garantiscono l'esecuzione, non il prezzo. Le esecuzioni in tempo reale possono slittare oltre il prezzo di apertura del backtest in condizioni volatili, quindi i risultati reali peggiorano rispetto a ProBacktest, che presuppone esecuzioni pulite.
SELLeEXITSHORTnon sono interscambiabili.SELL AT MARKETchiude le posizioni long eEXITSHORT AT MARKETchiude le posizioni short. Usare il verbo sbagliato per il lato aperto lascia la posizione intatta.MARKETnon è un'istruzione autonoma. La parola chiave esiste solo come parte di un'istruzione di ordine dopoAT. ScrivereMARKETsu una riga a sé non compila.
Istruzioni correlate
BUY, apre o incrementa una posizione long.SELL, chiude parzialmente o totalmente una posizione long.SELLSHORT, apre o incrementa una posizione short.EXITSHORT, chiude parzialmente o totalmente una posizione short.LIMIT, ordine pendente che viene eseguito a un prezzo stabilito o migliore.STOP, ordine pendente che si attiva quando il prezzo raggiunge un livello.ONMARKET, vero mentre una qualsiasi posizione è aperta.LONGONMARKET, vero mentre una posizione long è aperta.SHORTONMARKET, vero mentre una posizione short è aperta.