Bli medlem idag
Datum och tid/probuilder · probacktest · proorder · proscreener

Yesterday

Yesterday returnerar datumet för dagen före en bar, i YYYYMMDD-form. Yesterday tar emot en hakparentesförskjutning som Yesterday[5] för att referera till en tidigare bar.

Syntax

probuilder
Yesterday[N]

Så fungerar det

Yesterday returnerar kalenderdatumet för dagen före den bar som refereras, packat som ett YYYYMMDD-heltal. Värdet 20260707 står för 7 juli 2026. Den läser datumet som hör till en bar och går bakåt en handelsdag, och hoppar över icke-handelsdagar som helger och helgdagar enligt datamängden.

Det valfria indexet N väljer en bar i förhållande till den som behandlas. Yesterday[1] ger datumet för dagen precis före den aktuella baren. Ett större N tittar längre tillbaka: Yesterday[5] ger dagen före baren fem positioner tidigare. Diagrammet måste innehålla tillräckligt med historik för den begärda förskjutningen, annars är värdet odefinierat vid den vänstra kanten.

Yesterday hämtar endast datuminformation. Den läser eller manipulerar inte pris. För datumet på en bar i sig, använd Today, och för en enda monoton dagräkning använd Days. Eftersom resultatet är ett packat YYYYMMDD-heltal kan två sådana värden jämföras direkt för att testa om ett datum ligger före ett annat.

Exempel

Exempel 1, Föregående handelsdatum (Indikator)

probuilder
// Date of the day before the bar five periods back
dateFiveDaysAgo = Yesterday[5]
RETURN dateFiveDaysAgo

Indikatorn ritar YYYYMMDD-datumet för handelsdagen före baren fem positioner tillbaka, en trappstegslinje som går fram en handelsdag i taget.

Exempel 2, Sökning mot ett referensdatum (ProScreener)

probuilder
// Match instruments whose prior trading day is on or after a chosen date
priorDay = Yesterday[1]
SCREENER[priorDay >= 20260101 AND close > Average[20](close)] (priorDay AS "PrevDate")

Screenern returnerar instrument vars föregående handelsdag faller 2026 eller senare, med det datumet visat intill, med den packade YYYYMMDD-formen för en direkt jämförelse.

Exempel 3, Detektering av ny session (ProOrder)

probuilder
// Act on the first bar of a session, when the prior day differs from two bars back
DEFPARAM CumulateOrders = false
sessionStart = Yesterday[0] <> Yesterday[1]
IF sessionStart AND close CROSSES OVER Average[20](close) THEN
    BUY 1 CONTRACT AT MARKET
ENDIF

När referensen "dagen före" ändras mellan på varandra följande bars har en ny handelsdag börjat. Strategin använder det för att begränsa entries till en sessions öppning.

Vanliga fel och fallgropar

  • Packat YYYYMMDD, inte ett antal dagar. Yesterday returnerar ett datum som 20260707, inte ett antal dagar. För en löpande dagräknare använd Days.
  • Handelsdagar, inte kalenderdagar. Steget bakåt hoppar över helger och helgdagar enligt datamängden, så "i går" kan ligga flera kalenderdagar tidigare över en helg.
  • Endast datum, inget pris. Yesterday rör aldrig marknadsdata; den returnerar ett datum. Kombinera den med en prisserie när du bygger villkor.
  • Offset utanför historiken. Yesterday[N] behöver N barer historik. Nära diagrammets vänstra kant är värdet odefinierat.
  • Today, datumet för den aktuella baren i formen YYYYMMDD.
  • Day, dag i månaden för varje bar, 1 till 31.
  • DayOfWeek, veckodag för varje bar, 1 för måndag till 7 för söndag.
  • Days, hela dagar som förflutit sedan 1 January 1900 fram till varje bar.
  • Month, månad för varje bar.
  • Year, fyrsiffrigt år för varje bar.
  • Timestamp, UNIX-tid för stängningen av varje bar.
  • TIME, stängningstiden för varje bar som ett HHMMSS-heltal.