CROSSES OVER
CROSSES OVER in ProBuilder restituisce true sulla bar in cui una serie passa da sotto a sopra un'altra, il trigger standard per i segnali di incrocio rialzista.
Sintassi
a CROSSES OVER bParametri
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
| a | serie numerica | obbligatorio | La serie su cui si verifica un incrocio al rialzo. |
| b | serie numerica o costante | obbligatorio | La serie o il livello fisso che a deve incrociare al rialzo. |
Formula
a CROSSES OVER b è vero quando entrambe le condizioni valgono sullo stesso bar:
a[1] <= b[1] and a > bSulla bar precedente a era pari o inferiore a b, e sul bar corrente a è strettamente sopra b.
Come funziona
CROSSES OVER confronta due valori su bars consecutivi e restituisce un booleano. Si attiva solo sul singolo bar in cui la relazione passa da sotto a sopra. Su ogni bar successivo in cui a semplicemente rimane sopra b, l'espressione è falsa. Questo lo rende un rilevatore di eventi anziché un test di stato, che è la differenza chiave rispetto allo scrivere a > b.
Entrambi gli operandi possono essere qualsiasi espressione numerica: una chiamata a un indicatore, una costante di prezzo come close, una variabile utente o un numero fisso. L'incrocio di un livello costante è comune, per esempio RSI[14](close) CROSSES OVER 50.
Poiché il test coinvolge il bar corrente, un segnale valutato su un bar live non ancora completato può comparire e scomparire al muoversi dei prezzi. Le strategie che devono agire solo su segnali confermati testano tipicamente valori traslati, come a[1] CROSSES OVER b[1], così l'incrocio è misurato su bars completati.
Esempi
Esempio 1, Segnale di incrocio EMA (Indicatore)
a = ExponentialAverage[20](close)
b = ExponentialAverage[50](close)
signal = 0
// Test the crossing on completed bars to avoid repainting
IF a[1] CROSSES OVER b[1] THEN
signal = 1
ELSE
signal = 0
ENDIF
RETURN signal AS "Bullish Signal"L'indicatore traccia 1 sulla bar successiva all'incrocio al rialzo di una EMA a 20 periodi su una EMA a 50 periodi, e 0 in tutti gli altri casi. Spostare entrambi gli operandi di una bar significa che il segnale si basa solo su dati chiusi.
Esempio 2, Ingresso long su un incrocio di medie mobili (ProOrder)
fast = Average[20](close)
slow = Average[50](close)
// Open a long position on the upward cross
IF fast CROSSES OVER slow AND NOT LONGONMARKET THEN
BUY 1 CONTRACT AT MARKET
ENDIF
SET STOP PLOSS 50La strategia compra un contratto sulla bar in cui la media rapida incrocia al rialzo la media lenta, a condizione che non sia già aperta una posizione long, e applica uno stop di 50 punti.
Esempio 3, RSI che esce dall'area di ipervenduto (ProScreener)
myRSI = RSI[14](close)
// Match instruments where RSI has just crossed above 30
cond = myRSI CROSSES OVER 30
SCREENER[cond] (myRSI AS "RSI value")Lo screener elenca gli strumenti il cui RSI a 14 periodi ha attraversato al rialzo il livello 30 sulla bar corrente, mostrando il valore dell'RSI nella colonna dei risultati.
Errori e insidie comuni
- Confondere un incrocio con uno stato.
a CROSSES OVER bè vero per esattamente una bar. Il codice che si aspetta che resti vero mentrearimane soprabdovrebbe usarea > binvece. - Repainting sulla bar in corso. Valutata sul bar in formazione, la condizione può cambiare man mano che arrivano i tick. Verificare
a[1] CROSSES OVER b[1]conferma l'incrocio su bars chiusi al costo di un bar di ritardo. - Tocco senza incrocio. Se
asale fino a eguagliare esattamentebe poi ripiega, non si attiva nessun crossover, poiché il valore della barra corrente deve essere strettamente maggiore. I segnali che devono includere i tocchi richiedono un confronto esplicito. - Le serie piatte non si incrociano mai. Quando i due operandi sono identici o si muovono all'unisono, per esempio la stessa media applicata allo stesso input, l'espressione non restituisce mai true. Verifica che le due serie siano realmente diverse.
Istruzioni correlate
CROSSES UNDER, l'operatore speculare per gli incroci al ribasso.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 usata nei sistemi a incrocio.Average, media mobile semplice, un altro input frequente per gli incroci.AND, combina un incrocio con filtri aggiuntivi.OR, accetta una qualsiasi di diverse condizioni di incrocio.BarsSince, conta le bar trascorse da quando una condizione, come un incrocio, è stata vera.