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
OpenDaySå 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)
// 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 firstDayIndikatorn 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)
// 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
ENDIFAtt 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)
// 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
Dayfö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 <= 3kombinerad 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.
Relaterade instruktioner
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.