Bli medlem i dag
ProScreener/proscreener

TIMEFRAME (PS)

TIMEFRAME i ProScreener setter tidsrammen som brukes av alle etterfølgende kodelinjer, og muliggjør screeninger som kombinerer daglige, ukentlige og intraday-betingelser.

Syntaks

probuilder
TIMEFRAME(time_period)

Parametere

NavnTypeBeskrivelse
time_periodnøkkelordTidsrammen som brukes på etterfølgende linjer, for eksempel 15 minutes, 1 hour, daily, weekly, eller monthly.

Slik fungerer det

En ProScreener evaluerer normalt hvert uttrykk på tidsrammen som er valgt i screenerinnstillingene. En TIMEFRAME kall endrer den konteksten, så priskonstanter og indikatorkall på de følgende linjene beregnes på den nye tidsrammen. Byttet gjelder til et nytt TIMEFRAME kallet opptrer, som gjør at én enkelt screener kan blande betingelser fra flere tidsrammer.

Standardmønsteret beregner betingelsene for hver tidsramme i boolske variabler, og kombinerer deretter disse variablene i den siste SCREENER kall. Variabler beholder verdiene de ble tildelt, uavhengig av hvilken tidsramme som var aktiv ved tildelingen, så et ukentlig kryssingsflagg kan fritt kombineres med et daglig oversolgt-flagg.

Nøkkelordet staves likt som instruksjonen for flere tidsrammer som brukes i automatiserte strategier, men de to er separate funksjoner. Strategivarianten, dekket under TIMEFRAME (PB/PO), styrer hvordan et kjørende system sampler data og støtter UPDATEONCLOSE og DEFAULT modifikatorer. ProScreener-varianten er enklere, den omdirigerer bare datakonteksten for de påfølgende kodelinjene. Kode kan ikke kopieres mellom de to miljøene uten gjennomgang.

Eksempler

Eksempel 1, Ukentlig MACD-kryssing med daglig oversolgt Stochastic (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]

To indikatorer evalueres på ulike tidsrammer og slås sammen til én betingelse. Dette er det kanoniske eksempelet fra den offisielle referansen.

Eksempel 2, Ukentlig trendfilter med en daglig pullback (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")

Bare instrumenter i en ukentlig opptrend som falt til sitt daglige 20-bars gjennomsnitt og lukket tilbake over det, returneres.

Eksempel 3, Intraday volumtopp inne i en daglig opptrend (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")

En kortsiktig aktivitetsøkning rapporteres bare når den høyere tidsrammen bekrefter en opptrend, en vanlig måte å redusere støy i intraday-skanninger.

Vanlige feil og fallgruver

  • Byttet vedvarer. Hver linje etter en TIMEFRAME kall kjører på den tidsrammen til neste kall. En betingelse som skrives under en ukentlig blokk uten å bytte tilbake beregnes stille på ukentlige data, en vanlig årsak til screeninger som gir for få eller feil resultater.
  • Ikke utbyttbar med strategivarianten. UPDATEONCLOSE og DEFAULT tilhører TIMEFRAME (PB/PO) og godtas ikke i ProScreener. Å lime strategikode inn i en screener kompilerer ikke eller oppfører seg annerledes.
  • Begrenset historikk på små tidsrammer. ProScreener holder en begrenset mengde historikk per tidsramme. Dype tilbakeblikk som Average[200] på en minutts-tidsramme kan overstige tilgjengelige data og hindre at betingelsen evalueres som forventet.
  • Beregn før du kombinerer. Lagre resultatet for hver tidsramme i en variabel og kombiner variablene i den endelige SCREENER kallet. Å referere til en indikator direkte i screener-betingelsen bruker den tidsrammen som var aktiv sist, noe som er lett å gjøre feil.
  • TIMEFRAME (PB/PO), ProBacktest- og ProOrder-varianten av denne instruksjonen.
  • SCREENER, definerer filterbetingelsen og resultatkolonnen i en screener.
  • EQUITYFRAME, bytter en screener til data fra et annet verdipapir.
  • MACD, moving average convergence divergence-indikator.
  • Stochastic, den stokastiske %K-oscillatoren.
  • Average, glidende gjennomsnitt over en valgt periode.
  • EstimatedVolume, projisert sluttvolum for gjeldende bar i ProScreener.
  • RSI, relative strength index-oscillator.