IntradayBarIndex
IntradayBarIndex i ProBuilder räknar de barer som skrivits ut sedan handelsdagens början, med start på 0, och tar emot en offset för att läsa tidigare sessioner.
Syntax
IntradayBarIndex
IntradayBarIndex[N]Parametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
| N | heltal | 0 | Valfri barförskjutning. IntradayBarIndex[1] läser värdet som det var en bar tillbaka. |
Så fungerar det
IntradayBarIndex numrerar barerna i varje handelssession. Den första baren efter den dagliga öppningen har index 0, nästa bar 1, och så vidare till sessionen slutar, varpå räknaren startar om för nästa dag. På dagens 50:e bar är värdet 49.
Antalet beror på diagrammets tidsram. I ett 5-minutersdiagram för en marknad som är öppen i 8 timmar löper indexet från 0 till 95; i ett 1-timmesdiagram för samma marknad löper det från 0 till 7. Kod som villkorar beteende på ett specifikt index bygger därför in ett antagande om tidsramen, vilket är värt att ange i en kommentar.
Den valfria offseten i hakparentes följer den vanliga seriekonventionen och läser värdet från en tidigare bar. Där BarIndex räknar barer sedan starten av inläst data och aldrig nollställs är IntradayBarIndex den sessionsrelativa motsvarigheten, vilket gör den till det naturliga verktyget för logik kopplad till öppningen, som att hoppa över dagens volatila första barer eller mäta positionen inom sessionen.
Exempel
Exempel 1, Visa sessionens barantal (Indikator)
// Index of the current bar within today's session, first bar = 0
RETURN IntradayBarIndexKurvan stiger med ett för varje bar under dagen och faller tillbaka till 0 när en ny session börjar, vilket också gör sessionsgränserna synliga med en blick.
Exempel 2, Hoppa över dagens första barer (ProOrder)
// Only trade once 4 bars of the session have completed
IF IntradayBarIndex >= 4 AND NOT ONMARKET THEN
IF close CROSSES OVER Average[20](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIF
ENDIFDet yttre villkoret blockerar entries under de fyra första barerna efter öppningen, ett vanligt sätt att undvika den ojämna prisrörelsen kring sessionsstarten.
Exempel 3, Markera varje sessionsöppning (Indikator)
// Draw a vertical line on the first bar of every trading day
IF IntradayBarIndex = 0 THEN
DRAWVLINE(BarIndex) COLOURED(128, 128, 128)
ENDIF
RETURNEtt test mot index 0 identifierar dagens första bar, och DRAWVLINE markerar den i diagrammet, vilket ger ett visuellt raster av sessionsgränser.
Vanliga fel och fallgropar
- Nollbaserad räkning. Dagens första bar är 0, inte 1. Ett villkor som
IntradayBarIndex = 1utlöses på sessionens andra bar. - Tidsramsberoende värden. Samma index motsvarar olika klocktider på olika tidsramar. Att flytta ett skript från ett 5-minutersdiagram till ett 15-minutersdiagram ändrar tyst vad
IntradayBarIndex >= 4betyder. - Förväxling med BarIndex. BarIndex räknar från starten av den inlästa historiken och nollställs aldrig; IntradayBarIndex nollställs dagligen. Att byta dem mot varandra ger villkor som antingen nästan alltid eller nästan aldrig är sanna.
- Diagram som inte är intraday. På dags- eller högre tidsramar är varje bar den första baren för sin dag, så värdet är inte meningsfullt. Begränsa användningen till intraday-tidsramar.
Relaterade instruktioner
BarIndex, antal barer sedan starten av inläst data, utan daglig nollställning.BarsSince, antal barer sedan ett villkor senast var sant.TIME, aktuell bars tid, ett alternativt sätt att ankra intraday-logik.CurrentTime, klocktiden på maskinen som kör plattformen.CurrentHour, timkomponenten i den aktuella tiden.Today, datumkonstant för den aktuella dagen.OpenTime, öppningstiden för den aktuella baren.