Iscriviti ora
Istruzioni/probuilder · probacktest · proorder · proscreener

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

probuilder
a CROSSES UNDER b

Parametri

NomeTipoPredefinitoDescrizione
aserie numericaobbligatorioLa serie su cui si verifica un incrocio al ribasso.
bserie numerica o costanteobbligatorioLa 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:

codice
a[1] >= b[1]  and  a < b

Sulla 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)

probuilder
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)

probuilder
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
ENDIF

CROSSES 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)

probuilder
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 < b separatamente, 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 b senza scendere sotto non attiva la condizione, perché il confronto sulla bar corrente è rigoroso.
  • Ordine degli operandi invertito. a CROSSES UNDER b e b CROSSES UNDER a descrivono eventi opposti. Scambiare gli operandi per errore inverte il segnale senza alcun avviso del compilatore.
  • 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.