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

OpenDay

OpenDay returnerar dagen i månaden (1 till 31) då den aktuella baren öppnade i ProBuilder. Användbart för logik kopplad till specifika kalenderdagar varje månad.

Syntax

probuilder
OpenDay

Så fungerar det

OpenDay läser den aktuella barens öppningstidsstämpel och returnerar dess dag-i-månaden-komponent som ett heltal mellan 1 och 31. Nyckelordet tar inga parametrar och behöver ingen marknadsdata, det arbetar enbart på datumet som hör till baren.

Nyckelordet hör till Open-familjen, som beskriver när en bar öppnade. Det nakna syskonet Day beskriver i stället barens stängningsdatum. På intraday- och dagsbarer stämmer de två vanligen överens, men på vecko- eller månadsbarer, eller på någon bar som sträcker sig över midnatt, kan öppnings- och stängningsdagen skilja sig.

Eftersom värdet är en dag i månaden säger det ingenting om veckodagen. Ett villkor på OpenDay = 1 löser ut på den första kalenderdagen som finns i datan, vilket kan vara en ny veckodag varje månad, och kan hoppas över helt när den första faller på en helg och ingen bar öppnar den dagen.

Vanliga användningar är entries vid månadens början, ankare för månatlig ombalansering och studier av beteende kring återkommande kalenderdagar som optionsrelaterade datum.

Exempel

Exempel 1, Upptäck en bar som öppnar den första i månaden (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

Indikatorn ritar 1 för barer som öppnade på den första dagen i en månad och 0 annars, vilket gör månadsskiften synliga i diagrammet.

Exempel 2, Entry vid månadens början (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

Att jämföra det aktuella och det föregående värdet fångar övergången till en ny månad även när dag 1 faller på en helg och den första handlade baren öppnar på dag 2 eller 3.

Exempel 3, Screena endast tidigt i månaden (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")

Screenern begränsar resultaten till barer som öppnar under de första sju kalenderdagarna, med öppningsdagen visad som resultatkolumn.

Vanliga fel och fallgropar

  • Öppningsdag kontra stängningsdag. OpenDay avser barens öppningsdatum. Syskonet Day följer stängningsdatumet och kan skilja sig på barer som sträcker sig över midnatt eller en månadsgräns.
  • Dag 1 finns kanske inte i datan. När den första i månaden faller på en dag utan handel öppnar ingen bar på dag 1. Testa ett litet intervall som OpenDay <= 3 kombinerad med en övergångskontroll i stället för exakt likhet.
  • Kalenderdag, inte veckodag. Värdena 1 till 31 indexerar dagen i månaden. För veckodagslogik som måndagsfilter, använd OpenDayOfWeek.
  • Utlöses på varje matchande bar. På intraday-diagram, OpenDay = 1 är sant för alla barer som öppnar den dagen. Kombinera med ett övergångstest eller ett tidsvillkor för att agera bara en gång.
  • Day, dag i månaden för en bars stängningsdatum, syskonformen till OpenDay.
  • OpenDate, fullständigt öppningsdatum för den aktuella baren i formatet YYYYMMDD.
  • OpenDayOfWeek, veckodagen då den aktuella baren öppnade.
  • OpenMonth, månadsnumret då den aktuella baren öppnade.
  • OpenYear, året då den aktuella baren öppnade.
  • CurrentDayOfWeek, veckodag enligt maskinens klocka.
  • Today, datumet för den aktuella baren i formatet YYYYMMDD.