CROSSES UNDER
CROSSES UNDER in ProBuilder restituisce true sulla bar in cui una serie passa da sopra a sotto un'altra, il trigger standard per i segnali di incrocio ribassista.
Sintassi
a CROSSES UNDER bParametri
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
| a | serie numerica | obbligatorio | La serie su cui si verifica un incrocio al ribasso. |
| b | serie numerica o costante | obbligatorio | La serie o il livello fisso che a deve incrociare al ribasso. |
Formula
a CROSSES UNDER b è vero quando entrambe le condizioni valgono sullo stesso bar:
a[1] >= b[1] and a < bSulla bar precedente a era pari o superiore a b, e sul bar corrente a è strettamente sotto b.
Come funziona
CROSSES UNDER confronta due valori su bars consecutivi e restituisce un booleano. L'espressione è vera solo sul singolo bar in cui la relazione passa da sopra a sotto. Sui bars successivi in cui a si limita a rimanere sotto b, restituisce false. Rileva quindi l'evento di incrocio in sé, a differenza del confronto di stato a < b, che resta vero per tutto il tempo in cui la condizione è valida.
Entrambi gli operandi possono essere un'espressione numerica di qualsiasi tipo: l'output di un indicatore, una costante di prezzo come close, una variabile o un semplice numero. L'incrocio di livelli fissi è un pattern frequente, per esempio Stochastic[14,3](close) CROSSES UNDER 80.
Poiché la barra corrente partecipa al test, un incrocio al ribasso rilevato su una barra in formazione può svanire se i prezzi recuperano prima della chiusura della barra. Testare valori traslati, come a[1] CROSSES UNDER b[1], limita il controllo ai bar completati e produce segnali stabili un bar più tardi.
Esempi
Esempio 1, Incrocio EMA al ribasso (Indicatore)
a = ExponentialAverage[20](close)
b = ExponentialAverage[50](close)
signal = 0
// Evaluate the crossing on completed bars only
IF a[1] CROSSES UNDER b[1] THEN
signal = -1
ELSE
signal = 0
ENDIF
RETURN signal AS "Bearish Signal"L'indicatore stampa -1 sulla bar successiva alla discesa della EMA a 20 periodi sotto la EMA a 50 periodi, e 0 altrimenti. Entrambi gli operandi sono spostati di una bar così che il test usi dati chiusi.
Esempio 2, Chiudere una posizione long (ProOrder)
fast = Average[20](close)
slow = Average[50](close)
// Enter on the upward cross, exit on the downward cross
IF fast CROSSES OVER slow AND NOT LONGONMARKET THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF fast CROSSES UNDER slow AND LONGONMARKET THEN
SELL AT MARKET
ENDIFCROSSES UNDER funge da trigger di uscita: la posizione long aperta sull'incrocio rialzista viene chiusa sulla bar in cui la media rapida ricade sotto quella lenta.
Esempio 3, Stocastico che esce dall'area di ipercomprato (ProScreener)
myStoch = Stochastic[14, 3](close)
// Match instruments where %K has just dropped below 80
cond = myStoch CROSSES UNDER 80
SCREENER[cond] (myStoch AS "Stochastic")Lo screener restituisce gli strumenti il cui %K stocastico ha attraversato al ribasso il livello 80 sulla bar corrente, un pattern comune di uscita da ipercomprato.
Errori e insidie comuni
- Evento di una sola bar, non uno stato. L'espressione è vera solo sulla bar di incrocio. Una logica che richiede "è ancora sotto" deve verificare
a < bseparatamente, altrimenti il segnale scomparirà silenziosamente al bar successivo. - Instabilità della bar in corso. Su un bar in formazione l'incrocio può attivarsi e poi disattivarsi prima della chiusura. Usa
a[1] CROSSES UNDER b[1]quando devono contare solo gli incroci confermati. - È richiesta una disuguaglianza stretta. Una serie che scende esattamente al livello di
bsenza scendere sotto non attiva la condizione, perché il confronto sulla bar corrente è rigoroso. - Ordine degli operandi invertito.
a CROSSES UNDER beb CROSSES UNDER adescrivono eventi opposti. Scambiare gli operandi per errore inverte il segnale senza alcun avviso del compilatore.
Istruzioni correlate
CROSSES OVER, l'operatore speculare per gli incroci al rialzo.IF, blocco condizionale che di solito racchiude un test di incrocio.THEN, richiesto tra la condizione e il corpo del blocco.ExponentialAverage, serie EMA comunemente abbinate nei sistemi a incrocio.Average, media mobile semplice, un altro input frequente per gli incroci.AND, combina l'incrocio con condizioni di posizione o di filtro.NOT, nega un booleano, utile per i controlli di posizione insieme agli incroci.BarsSince, conta le bar trascorse da quando una condizione, come un incrocio, è stata vera.