Bli medlem idag
ProScreener/proscreener

TIMEFRAME (PS)

TIMEFRAME i ProScreener anger tidsramen som används av alla följande kodrader, vilket möjliggör screeningar som kombinerar villkor på dags-, vecko- och intraday-nivå.

Syntax

probuilder
TIMEFRAME(time_period)

Parametrar

NamnTypBeskrivning
time_periodnyckelordTidsramen som tillämpas på efterföljande rader, till exempel 15 minutes, 1 hour, daily, weekly, eller monthly.

Så fungerar det

En ProScreener utvärderar normalt varje uttryck på den tidsram som valts i screenerinställningarna. En TIMEFRAME anropet ändrar den kontexten, så priskonstanter och indikatoranrop på följande rader beräknas på den nya tidsramen. Omkopplingen gäller till ett annat TIMEFRAME anropet förekommer, vilket gör att en enda screener kan blanda villkor från flera tidsramar.

Standardmönstret beräknar varje tidsrams villkor till booleska variabler och kombinerar sedan dessa variabler i det sista SCREENER -anropet. Variabler behåller de värden de tilldelades, oavsett vilken tidsram som var aktiv vid tilldelningen, så en veckovis korsningsflagga kan fritt kombineras med en daglig flagga för översålt.

Nyckelordet stavas likadant som instruktionen för flera tidsramar som används i automatiserade strategier, men de två är separata funktioner. Strategivarianten, som beskrivs under TIMEFRAME (PB/PO), styr hur ett körande system samplar data och stöder UPDATEONCLOSE och DEFAULT modifierare. ProScreener-varianten är enklare, den omdirigerar bara datakontexten för efterföljande kodrader. Kod kan inte kopieras mellan de två miljöerna utan granskning.

Exempel

Exempel 1, MACD-korsning på veckobasis med översåld Stochastic på dagsbasis (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]

Två indikatorer utvärderas på olika tidsramar och sammanförs till ett villkor. Detta är det kanoniska exemplet från den officiella referensen.

Exempel 2, Trendfilter på veckobasis med en pullback på dagsbasis (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")

Endast instrument i en upptrend på veckobasis som dippade till sitt 20-barsmedelvärde på dagsbasis och stängde tillbaka över det returneras.

Exempel 3, Volymtopp intraday inom en upptrend på dagsbasis (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 aktivitetstopp rapporteras endast när den högre tidsramen bekräftar en upptrend, ett vanligt sätt att minska bruset i intraday-screeningar.

Vanliga fel och fallgropar

  • Växlingen kvarstår. Varje rad efter en TIMEFRAME anropet körs på den tidsramen till nästa anrop. Ett villkor som skrivs under ett veckoblock utan att man byter tillbaka beräknas tyst på veckodata, en vanlig orsak till screens som ger för få eller felaktiga resultat.
  • Inte utbytbar med strategivarianten. UPDATEONCLOSE och DEFAULT hör till TIMEFRAME (PB/PO) och accepteras inte i ProScreener. Att klistra in strategikod i en screener kompilerar inte eller beter sig annorlunda.
  • Begränsad historik på små tidsramar. ProScreener håller en begränsad mängd historik per tidsram. Djupa tillbakablickar som Average[200] på en minuttidsram kan överskrida tillgängliga data och hindra villkoret från att utvärderas som förväntat.
  • Beräkna innan du kombinerar. Lagra varje tidsrams resultat i en variabel och kombinera variablerna i den slutliga SCREENER anrop. Att referera till en indikator direkt i screenervillkoret använder den tidsram som var aktiv senast, vilket är lätt att göra fel på.
  • TIMEFRAME (PB/PO), ProBacktest- och ProOrder-varianten av denna instruktion.
  • SCREENER, definierar filtervillkoret och resultatkolumnen i en screener.
  • EQUITYFRAME, växlar en screener till data från ett annat värdepapper.
  • MACD, moving average convergence divergence-indikator.
  • Stochastic, den stokastiska oscillatorn %K.
  • Average, glidande medelvärde över en vald period.
  • EstimatedVolume, prognostiserad slutvolym för den aktuella baren i ProScreener.
  • RSI, relative strength index-oscillator.