Iscriviti ora
Costanti/probuilder · probacktest · proorder · proscreener

Range

Range restituisce il massimo meno il minimo di una bar in ProBuilder, la sua intera estensione di prezzo. Usa Range o Range[N] per misurare la volatilità per bar negli indicatori e nelle strategie.

Sintassi

probuilder
Range

Range[N] restituisce l'ampiezza di N bar indietro, dove N è 0 per la bar corrente, 1 per la bar precedente, e così via. Range e Range[0] sono equivalenti.

Come funziona

Range è la differenza tra il massimo e il minimo del bar, High - Low. Misura di quanto si è mosso il prezzo tra gli estremi di una singola bar, quindi un range ampio segnala una bar attiva e un range stretto una tranquilla.

L'offset tra parentesi quadre si riferisce alle bar precedenti, quindi Range[1] è l'ampiezza della bar precedente. L'indice deve rimanere entro la storia caricata.

A differenza del true range, Range considera solo il bar corrente e ignora qualsiasi gap rispetto alla chiusura precedente. Per una volatilità che tenga conto dei gap, usa TR o AverageTrueRange. Sul bar in corso il range cresce man mano che il massimo o il minimo si estende, fino alla chiusura del bar.

Esempi

Esempio 1, Range rispetto alla sua media (Indicatore)

probuilder
// Compare the current bar's span with its recent average
avgRange = Average[20](Range)
RETURN Range AS "Range", avgRange AS "Avg range 20"

L'indicatore evidenzia le bar la cui estensione è sopra o sotto la norma recente.

Esempio 2, Ricerca di contrazione del range (ProScreener)

probuilder
// Latest range narrower than the previous bar, with a lower high
contracting = Range < Range[1] AND High < High[1]

SCREENER[contracting] (Range AS "Range")

Lo screener restituisce gli strumenti la cui estensione della bar si sta contraendo insieme a un massimo più basso.

Esempio 3, Evitare ingressi su bar ampie (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

avgRange = Average[20](Range)

// Skip signals when the current bar is unusually wide
IF Close CROSSES OVER Average[20](Close) AND Range < 1.5 * avgRange THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

SET STOP %LOSS 2

Il filtro blocca gli ingressi quando l'attuale Range è molto più grande della media, evitando bar troppo estese.

Errori e insidie comuni

  • Ignora i gap. Range è il massimo meno il minimo di una sola barra. Non include il gap dalla chiusura precedente, quindi può sottostimare la volatilità in presenza di gap. Usa TR per una misura che tiene conto dei gap.
  • La bar in corso cresce. Sulla bar corrente il range continua ad allargarsi fino alla chiusura, quindi i confronti con le bar completate non sono omogenei finché la bar non è terminata.
  • Offset fuori intervallo. Range[N] fallisce quando N punta a prima della prima bar caricata. Proteggi i lookback lunghi o carica più storico.
  • High, il prezzo più alto di una bar.
  • Low, il prezzo più basso di una bar.
  • TR, il true range, che tiene conto dei gap.
  • AverageTrueRange, un true range livellato su più bar.
  • Close, il prezzo di chiusura di una bar.
  • Open, il prezzo di apertura di una bar.
  • TypicalPrice, la media di massimo, minimo e chiusura.
  • Volume, il volume scambiato di una bar.