SHORTONMARKET
SHORTONMARKET in ProBacktest e ProOrder è vero mentre una posizione short è aperta. Usalo per proteggere ingressi e uscite short, con esempi svolti.
Sintassi
ShortOnMarketCome funziona
SHORTONMARKET restituisce true mentre la strategia ha una posizione short aperta e false quando non ce l'ha. Viene letto come un semplice booleano, quindi si inserisce direttamente in un IF condizione, solitamente negata con NOT per consentire un nuovo short solo quando non ne è aperto nessuno.
Riporta solo le posizioni short. Per le posizioni long usa LONGONMARKET, e per verificare se è aperta una posizione di qualunque lato usa ONMARKET. Combinare SHORTONMARKET con una condizione di segnale è il modo standard per controllare quando è consentito un ingresso short o un'uscita short.
Esempi
Esempio 1, Proteggere un ingresso short (ProBacktest)
// Sell short when MACD crosses below zero, but only if no short is open
myMACD = MACD[12,26,9](close)
short = myMACD CROSSES UNDER 0
IF NOT ShortOnMarket AND short THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIFQuesto è il pattern della documentazione ufficiale. NOT ShortOnMarket impedisce alla strategia di accumulare un secondo short mentre uno è già in corso.
Esempio 2, Gestire uno short aperto (ProOrder)
DEFPARAM CumulateOrders = false
// Close the short when price reclaims the 20-period average
IF ShortOnMarket AND close CROSSES OVER Average[20](close) THEN
EXITSHORT AT MARKET
ENDIFIl blocco di uscita viene eseguito solo mentre uno short è aperto, quindi il CROSSES OVER la condizione viene verificata solo quando è pertinente.
Esempio 3, Un lato alla volta (ProOrder)
DEFPARAM CumulateOrders = false
// Allow a long only when neither side is open
IF NOT ShortOnMarket AND NOT LongOnMarket AND close CROSSES OVER Average[50](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIFTestare entrambi SHORTONMARKET e LONGONMARKET mantiene la strategia flat prima di un nuovo ingresso. NOT OnMarket esprime lo stesso controllo in modo più compatto.
Errori e insidie comuni
- Solo short.
SHORTONMARKETignora le posizioni long. Una strategia che opera su entrambi i lati necessita diLONGONMARKETanche, oppureONMARKETper lo stato combinato. - Stato, non un conteggio. Indica solo se è aperto uno short, non la sua dimensione. Per le quantità di azioni o contratti usa
COUNTOFSHORTSHARESoCOUNTOFPOSITION. - Timing sullo stesso bar. Uno short aperto e chiuso all'interno di un singolo bar potrebbe non lasciare
SHORTONMARKETtrue come farebbe una posizione su più bar. Per rilevare un'esecuzione sul bar corrente, usaShortTriggered. - Dimenticare il controllo. Omettere
NOT ShortOnMarketsu un ingresso permette a un segnale persistente di aggiungere short ripetuti, specialmente conCumulateOrdersattivato.
Istruzioni correlate
LONGONMARKET, vero mentre una posizione long è aperta.ONMARKET, vero mentre una qualsiasi posizione è aperta.ShortTriggered, vero sul bar in cui un ordine short viene eseguito.NOT, nega lo stato per proteggere gli ingressi.SELLSHORT, apre una posizione short.EXITSHORT, chiude una posizione short.COUNTOFSHORTSHARES, dimensione della posizione short aperta.