Iscriviti ora
Indicatori/probuilder · probacktest · proorder · proscreener

Average

Average in ProBuilder restituisce una media mobile di qualsiasi serie, con un argomento di tipo opzionale che seleziona SMA, EMA, WMA, Wilder, Hull e altri. Esempi.

Sintassi

probuilder
Average[N](price)
Average[N,M](price)

Parametri

NomeTipoPredefinitoDescrizione
Nintero20Numero di bar nella media. Periodi più corti seguono il prezzo da vicino; periodi più lunghi smussano di più e ritardano di più.
Mintero0Selettore opzionale del tipo di media. Vedi la tabella sotto.
pricefonte di prezzochiusuraLa serie da mediare. Accetta qualsiasi costante di prezzo o variabile personalizzata, inclusi altri indicatori.

I valori per M:

MTipo di media
0Media mobile semplice (SMA)
1Media mobile esponenziale (EMA)
2Media mobile ponderata (WMA)
3Media mobile di Wilder
4Media mobile triangolare
5Media mobile End Point
6Media mobile Time Series
7Media mobile di Hull (ProRealTime™ v11 e successive)
8Media mobile Zero-Lag (ProRealTime™ v11 e successive)

Formula

codice
SMA = (price + price[1] + ... + price[N-1]) / N

Con M omesso o 0, il risultato è la media aritmetica degli ultimi N valori. Ogni altro M valore applica lo schema di ponderazione del tipo di media corrispondente; le istruzioni dedicate (ExponentialAverage, WeightedAverage, WilderAverage, e così via) documentano quelle definizioni.

Come funziona

Average è la funzione di smoothing generica di ProBuilder. Su ogni bar ricalcola la media dei più recenti N valori della serie indicata, producendo una linea che filtra il rumore da bar a bar al costo di reagire ai cambiamenti con un ritardo proporzionale a N.

Il secondo argomento tra parentesi trasforma una funzione in nove. Average[20,1](close) è equivalente a ExponentialAverage[20](close), Average[20,3](close) a WilderAverage[20](close), e così via. Questo è comodo quando il tipo di media è esso stesso una variabile, per esempio quando un ottimizzatore o un'impostazione dell'indicatore deve passare tra SMA e EMA senza riscrivere il codice.

L'input non deve essere necessariamente un prezzo. Qualsiasi serie numerica funziona, quindi Average è comunemente usata per attenuare oscillatori, volume, spread o l'output di altri calcoli.

Esempi

Esempio 1, Medie semplici veloce e lenta (Indicatore)

probuilder
// Plot a 7-period and a 20-period simple moving average
FastMA = Average[7](Close)
SlowMA = Average[20](Close)
RETURN FastMA coloured(221,33,33), SlowMA coloured(35,194,57)

Disegna due SMA della chiusura, quella veloce in rosso e quella lenta in verde. La coppia visualizza il momentum di breve termine rispetto alla deriva più ampia.

Esempio 2, Sistema a incrocio di medie mobili (ProOrder)

probuilder
// Reverse position on each crossover of the 20 and 50 SMA
fastMA = Average[20](close)
slowMA = Average[50](close)

IF fastMA CROSSES OVER slowMA THEN
  BUY 1 CONTRACT AT MARKET
ENDIF
IF fastMA CROSSES UNDER slowMA AND LongOnMarket THEN
  SELL AT MARKET
ENDIF

La strategia mantiene una posizione long finché la media a 20 periodi è sopra la media a 50 periodi ed esce quando il rapporto si inverte, il modello minimo per una logica trend-following.

Esempio 3, Distanza dalla media a 200 bar (ProScreener)

probuilder
// List instruments trading above their 200-period average
ma200 = Average[200](close)
gap = (close / ma200 - 1) * 100
SCREENER[close > ma200](gap AS "% above MA200")

Filtra la watchlist agli strumenti sopra la loro media di lungo termine e li classifica in base allo scarto percentuale, una semplice scansione di forza relativa.

Interpretazione

Il prezzo rispetto alla media. Il prezzo che si mantiene sopra una media in salita è la definizione standard di trend rialzista su quell'orizzonte; il prezzo sotto una media in discesa, di trend ribassista. Le medie a 50 e a 200 periodi sono le linee di riferimento più osservate.

Incroci. Una media veloce che incrocia al rialzo una lenta segnala che i prezzi recenti stanno superando quelli più vecchi, un cambio di momentum. Gli incroci sono in ritardo per costruzione, quindi confermano i trend anziché anticiparli, e generano whipsaw nei mercati laterali.

Pendenza. La direzione della media stessa è spesso più informativa di un singolo incrocio. Una media piatta indica un range, dove i segnali di incrocio si degradano nettamente.

Errori e insidie comuni

  • Tipo di parentesi errato. Average(20, close) genera un errore di sintassi. Periodo e tipo vanno tra parentesi quadre, la serie tra parentesi tonde: Average[20,1](close).
  • Selettore di tipo non valido. M fuori dall'intervallo da 0 a 8 non è un tipo di media valido. I valori 7 e 8 richiedono inoltre ProRealTime™ v11 o successiva.
  • Presumere che il tipo predefinito sia l'EMA. Con un solo argomento la funzione restituisce sempre una media semplice. Il codice portato da piattaforme il cui valore predefinito è esponenziale si comporterà in modo diverso finché ,1 viene aggiunto.
  • Sistemi a incrocio nei range. Due medie di una serie laterale si incrociano ripetutamente. Senza un filtro di trend o di volatilità, il modello a incrocio dell'Esempio 2 accumula operazioni in perdita nei mercati piatti.