Bli medlem i dag
Dato og tid/probuilder · probacktest · proorder · proscreener

OpenDay

OpenDay returnerer dagen i måneden (1 til 31) som gjeldende bar åpnet på, i ProBuilder. Nyttig for logikk knyttet til bestemte kalenderdager hver måned.

Syntaks

probuilder
OpenDay

Slik fungerer det

OpenDay leser åpningstidsstempelet for gjeldende bar og returnerer dag-i-måneden-komponenten som et heltall mellom 1 og 31. Nøkkelordet tar ingen parametere og trenger ingen markedsdata, det opererer utelukkende på datoen som er knyttet til baren.

Nøkkelordet hører til Open-familien, som beskriver når en bar åpnet. Det nakne søskenordet Day beskriver i stedet barens lukkedato. På intraday- og dagsbarer stemmer de to vanligvis, men på uke- eller månedsbarer, eller på enhver bar som strekker seg over midnatt, kan åpnings- og lukkedagen være forskjellige.

Siden verdien er en dag i måneden, sier den ingenting om ukedagen. En betingelse på OpenDay = 1 utløses på den første kalenderdagen som finnes i dataene, som kan være en ulik ukedag hver måned, og kan hoppes helt over når den første faller på en helg og ingen bar åpner den dagen.

Vanlige bruksområder er innganger ved månedsstart, ankerpunkter for månedlig rebalansering, og studier av atferd rundt tilbakevendende kalenderdager som datoer knyttet til opsjoner.

Eksempler

Eksempel 1, Oppdag en bar som åpner den første i måneden (Indikator)

probuilder
// Check whether the current bar opened on day 1 of the month
iDay = OpenDay
if iDay = 1 then
  // code for bars opening on the first calendar day
  firstDay = 1
else
  firstDay = 0
endif
RETURN firstDay

Indikatoren plotter 1 for barer som åpnet på den første dagen i en måned og 0 ellers, slik at månedsskifter blir synlige i diagrammet.

Eksempel 2, Inngang ved månedsstart (ProBacktest)

probuilder
// Buy on the first bar opening in the first three days of each month
startOfMonth = OpenDay <= 3 AND OpenDay[1] > 3

IF startOfMonth AND NOT LONGONMARKET THEN
  BUY 1 SHARES AT MARKET
ENDIF

Å sammenligne gjeldende og forrige verdi fanger overgangen til en ny måned selv når dag 1 faller på en helg og den første handlede baren åpner på dag 2 eller 3.

Eksempel 3, Screen bare tidlig i måneden (ProScreener)

probuilder
// Match strong instruments during the first week of the month
earlyMonth = OpenDay <= 7
strong = close > Average[50](close)

SCREENER[earlyMonth AND strong] (OpenDay AS "Open day")

Screeneren begrenser resultatene til barer som åpner i de første sju kalenderdagene, med åpningsdagen vist som resultatkolonne.

Vanlige feil og fallgruver

  • Åpningsdag mot stengningsdag. OpenDay viser til barens åpningsdato. Søskenfunksjonen Day følger sluttdatoen og kan avvike på bars som strekker seg over midnatt eller en månedsgrense.
  • Dag 1 finnes ikke nødvendigvis i dataene. Når den første i måneden faller på en dag uten handel, åpner ingen bar på dag 1. Test et lite intervall som OpenDay <= 3 kombinert med en overgangssjekk i stedet for eksakt likhet.
  • Kalenderdag, ikke ukedag. Verdiene 1 til 31 indekserer dagen i måneden. For ukedagslogikk som mandagsfiltre, bruk OpenDayOfWeek.
  • Utløses på hver bar som matcher. På intraday-diagrammer, OpenDay = 1 er sann for alle barer som åpner den dagen. Kombiner med en overgangstest eller en tidsbetingelse for å handle bare én gang.
  • Day, dag i måneden for en bars stengningsdato, søskenformen til OpenDay.
  • OpenDate, full åpningsdato for gjeldende bar i YYYYMMDD-format.
  • OpenDayOfWeek, ukedagen gjeldende bar åpnet på.
  • OpenMonth, månedsnummeret da gjeldende bar åpnet.
  • OpenYear, året da gjeldende bar åpnet.
  • CurrentDayOfWeek, ukedag fra maskinklokken.
  • Today, datoen for gjeldende bar i YYYYMMDD-format.