Bli medlem i dag
Instruksjoner/probuilder · probacktest · proorder · proscreener

IntradayBarIndex

IntradayBarIndex i ProBuilder teller barene som er tegnet siden starten av handelsdagen, fra 0, og godtar en forskyvning for å lese tidligere sesjoner.

Syntaks

probuilder
IntradayBarIndex
IntradayBarIndex[N]

Parametere

NavnTypeStandardBeskrivelse
Nheltall0Valgfri barforskyvning. IntradayBarIndex[1] leser verdien slik den var én bar tilbake.

Slik fungerer det

IntradayBarIndex nummererer barene i hver handelssesjon. Den første baren etter den daglige åpningen har indeks 0, neste bar 1, og så videre til sesjonen slutter, hvorpå telleren starter på nytt for neste dag. På dagens 50. bar er verdien 49.

Antallet avhenger av diagrammets tidsramme. På et 5-minutters diagram av et marked som er åpent i 8 timer, går indeksen fra 0 til 95; på et 1-times diagram av samme marked går den fra 0 til 7. Kode som styrer atferd ut fra en bestemt indeks, koder derfor inn en antakelse om tidsrammen, noe det er verdt å si i en kommentar.

Den valgfrie forskyvningen i klammeparentes følger den vanlige seriekonvensjonen og leser verdien fra en tidligere bar. Der BarIndex teller barer siden begynnelsen av innlastede data og aldri nullstilles, er IntradayBarIndex den sesjonsrelative motparten, noe som gjør den til det naturlige verktøyet for logikk knyttet til åpningen, som å hoppe over dagens volatile første barer eller måle posisjon innenfor sesjonen.

Eksempler

Eksempel 1, Vise barantallet i sesjonen (Indikator)

probuilder
// Index of the current bar within today's session, first bar = 0
RETURN IntradayBarIndex

Kurven stiger med én på hver bar i løpet av dagen og faller tilbake til 0 når en ny sesjon begynner, noe som også gjør sesjonsgrensene synlige med et øyekast.

Eksempel 2, Hoppe over de første barene på dagen (ProOrder)

probuilder
// 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
ENDIF

Den ytre betingelsen blokkerer inngangene i løpet av de fire første barene etter åpningen, en vanlig måte å unngå den ujevne prisbevegelsen rundt sesjonsstarten.

Eksempel 3, Markere hver sesjonsåpning (Indikator)

probuilder
// Draw a vertical line on the first bar of every trading day
IF IntradayBarIndex = 0 THEN
  DRAWVLINE(BarIndex) COLOURED(128, 128, 128)
ENDIF
RETURN

Å teste for indeks 0 identifiserer dagens første bar, og DRAWVLINE markerer den i diagrammet, noe som gir et visuelt rutenett av sesjonsgrenser.

Vanlige feil og fallgruver

  • Nullbasert telling. Dagens første bar er 0, ikke 1. En betingelse som IntradayBarIndex = 1 utløses på den andre baren i sesjonen.
  • Tidsrammeavhengige verdier. Samme indeks viser til ulike klokketider på ulike tidsrammer. Å flytte et skript fra et 5-minutters til et 15-minutters diagram endrer stille hva IntradayBarIndex >= 4 betyr.
  • Forveksling med BarIndex. BarIndex teller fra starten av den innlastede historikken og nullstilles aldri; IntradayBarIndex nullstilles daglig. Å bytte om på dem gir betingelser som er sanne enten nesten alltid eller nesten aldri.
  • Diagrammer som ikke er intraday. På daglige eller høyere tidsrammer er hver bar den første baren på sin dag, så verdien er ikke meningsfull. Begrens bruken til intraday-tidsrammer.
  • BarIndex, barantall siden starten av innlastede data, uten daglige nullstillinger.
  • BarsSince, antall barer siden en betingelse sist var sann.
  • TIME, tiden for gjeldende bar, en alternativ måte å forankre intraday-logikk.
  • CurrentTime, klokketiden på maskinen som kjører plattformen.
  • CurrentHour, timekomponenten i gjeldende tid.
  • Today, datokonstant for gjeldende dag.
  • OpenTime, åpningstiden for gjeldende bar.