Iscriviti ora
ProScreener/proscreener

TIMEFRAME (PS)

TIMEFRAME in ProScreener imposta il timeframe utilizzato da tutte le righe di codice successive, consentendo screening che combinano condizioni giornaliere, settimanali e intraday.

Sintassi

probuilder
TIMEFRAME(time_period)

Parametri

NomeTipoDescrizione
time_periodparola chiaveIl timeframe applicato alle righe successive, ad esempio 15 minutes, 1 hour, daily, weekly, o monthly.

Come funziona

Un ProScreener normalmente valuta ogni espressione sul timeframe selezionato nelle impostazioni dello screener. Un TIMEFRAME la chiamata cambia quel contesto, quindi le costanti di prezzo e le chiamate agli indicatori nelle righe successive vengono calcolate sul nuovo timeframe. Il cambio resta in vigore fino a un altro TIMEFRAME appare la chiamata, il che permette a un singolo screener di combinare condizioni di più timeframe.

Il pattern standard calcola le condizioni di ogni timeframe in variabili booleane, poi combina quelle variabili nel SCREENER chiamata. Le variabili conservano i valori che sono stati loro assegnati, indipendentemente dal timeframe attivo al momento dell'assegnazione, quindi un flag di incrocio settimanale può essere combinato liberamente con un flag di ipervenduto giornaliero.

La parola chiave si scrive allo stesso modo dell'istruzione multi-timeframe usata nelle strategie automatiche, ma le due sono funzionalità distinte. La variante per le strategie, trattata in TIMEFRAME (PB/PO), controlla come un sistema in esecuzione campiona i dati e supporta il UPDATEONCLOSE e DEFAULT modificatori. La variante ProScreener è più semplice, reindirizza soltanto il contesto dati delle righe di codice successive. Il codice non può essere copiato tra i due ambienti senza revisione.

Esempi

Esempio 1, Incrocio del MACD settimanale con Stochastic giornaliero in ipervenduto (ProScreener)

probuilder
// Compute MACD on the weekly timeframe
TIMEFRAME(weekly)
weeklyMACD = MACD[12,26,9](Close)
bullishCrossover = weeklyMACD crosses over weeklyMACD[1]

// Compute the Stochastic on the daily timeframe
TIMEFRAME(daily)
dailySto = Stochastic[14,3](Close)
oversold = dailySto < 30

// Combine both timeframes in the screener condition
SCREENER[bullishCrossover AND oversold]

Due indicatori vengono valutati su timeframe diversi e uniti in un'unica condizione. Questo è l'esempio canonico tratto dalla documentazione ufficiale.

Esempio 2, Filtro di trend settimanale con un pullback giornaliero (ProScreener)

probuilder
// Weekly uptrend qualifier
TIMEFRAME(weekly)
weeklyTrend = close > Average[30](close)

// Daily pullback that holds above the 20-bar average
TIMEFRAME(daily)
dailyMA = Average[20](close)
pullback = low <= dailyMA AND close > dailyMA

SCREENER[weeklyTrend AND pullback](close AS "Close")

Vengono restituiti solo gli strumenti in trend rialzista settimanale che sono scesi fino alla loro media giornaliera a 20 bar e hanno chiuso di nuovo sopra di essa.

Esempio 3, Picco di volume intraday all'interno di un trend rialzista giornaliero (ProScreener)

probuilder
// Volume spike on the 15-minute timeframe
TIMEFRAME(15 minutes)
volSpike = Volume > 3 * Average[20](Volume)

// Daily trend qualifier
TIMEFRAME(daily)
uptrend = close > Average[50](close)

SCREENER[volSpike AND uptrend](close AS "Last price")

Un'improvvisa attività di breve termine viene segnalata solo quando il timeframe superiore conferma un trend rialzista, un modo comune per ridurre il rumore nelle scansioni intraday.

Errori e insidie comuni

  • Il cambio persiste. Ogni riga dopo un TIMEFRAME la chiamata viene eseguita su quel timeframe fino alla chiamata successiva. Una condizione scritta sotto un blocco settimanale senza tornare indietro viene calcolata silenziosamente su dati settimanali, causa frequente di screening che restituiscono troppo pochi risultati o risultati errati.
  • Non interscambiabile con la variante per le strategie. UPDATEONCLOSE e DEFAULT appartengono a TIMEFRAME (PB/PO) e non sono accettati in ProScreener. Incollare codice di strategia in uno screener non compila o si comporta diversamente.
  • Storico limitato sui timeframe piccoli. ProScreener conserva una quantità limitata di storico per timeframe. Lookback profondi come Average[200] su un timeframe a un minuto può superare i dati disponibili e impedire che la condizione venga valutata come previsto.
  • Calcolare prima di combinare. Memorizza il risultato di ogni timeframe in una variabile e combina le variabili nel SCREENER chiamata. Richiamare un indicatore direttamente nella condizione dello screener usa il timeframe attivo per ultimo, cosa che è facile sbagliare.
  • TIMEFRAME (PB/PO), la variante ProBacktest e ProOrder di questa istruzione.
  • SCREENER, definisce la condizione di filtro e la colonna dei risultati di uno screener.
  • EQUITYFRAME, passa uno screener ai dati di un altro titolo.
  • MACD, indicatore moving average convergence divergence.
  • Stochastic, l'oscillatore stocastico %K.
  • Average, media mobile su un periodo scelto.
  • EstimatedVolume, volume finale proiettato della bar corrente in ProScreener.
  • RSI, oscillatore relative strength index.