Bli medlem idag
Konstanter/probuilder · probacktest · proorder · proscreener

CustomClose

CustomClose returnerar den användarvalbara priskällan i ProBuilder, close som standard. Använd CustomClose eller CustomClose[N] så att indikatorer följer det valda priset.

Syntax

probuilder
CustomClose

CustomClose[N] returnerar det valda priset N barer bakåt, där N är 0 för den aktuella baren, 1 för föregående bar, och så vidare. CustomClose och CustomClose[0] är likvärdiga.

Så fungerar det

CustomClose är en platshållare för den priskälla som valts i inställningsfönstret. Som standard löses den till stängningspriset, men en användare kan byta den till en annan pristyp, till exempel MedianPrice, TypicalPrice, TotalPrice, eller WeightedClose. Indikatorkoden är densamma medan den underliggande indatan ändras.

Hakparentesförskjutningen adresserar tidigare barer i förhållande till den som behandlas, så CustomClose[1] är det valda priset på föregående bar. Indexet måste hålla sig inom den inlästa historiken.

Att använda CustomClose som indata till en beräkning gör att en indikator kan hantera flera prisdefinitioner utan att koden ändras. Det motsvarar hur många inbyggda indikatorer erbjuder en rullgardinsmeny för priskälla. När det exakta beteendet inte får bero på användarens inställningar, referera Close direkt istället.

Exempel

Exempel 1, Medelvärde byggt på det valda priset (Indikator)

probuilder
// Moving average that follows whichever price source the user picks
ma = Average[20](CustomClose)
RETURN CustomClose AS "Price", ma AS "MA 20"

Att byta priskälla i inställningarna ändrar både det ritade priset och medelvärdet utan någon kodändring.

Exempel 2, Screening på det valda priset (ProScreener)

probuilder
// Selected price above its own 50-bar average
above = CustomClose > Average[50](CustomClose)

SCREENER[above] (CustomClose AS "Price")

Screenern utvärderar varje instrument med den konfigurerade priskällan i stället för en hårdkodad close.

Exempel 3, Entry styrt av det valda priset (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

fast = Average[10](CustomClose)
slow = Average[30](CustomClose)

IF fast CROSSES OVER slow THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

IF fast CROSSES UNDER slow THEN
  SELL AT MARKET
ENDIF

Båda medelvärdena läser CustomClose, så strategin anpassar sig om priskällan omkonfigureras.

Vanliga fel och fallgropar

  • Beror på inställningarna. CustomClose kanske inte är lika med Close om användaren har ändrat priskällan. När en fast indata krävs, använd Close explicit.
  • Offset utanför intervallet. CustomClose[N] misslyckas när N pekar före den första inlästa baren. Skydda långa tillbakablickar eller läs in mer historik.
  • Reproducerbarhet mellan diagram. Att dela en indikator som förlitar sig på CustomClose innebär att resultaten kan variera mellan användare beroende på vilken priskälla de valt.
  • Close, stängningskursen, standardkällan för CustomClose.
  • MedianPrice, medelvärdet av high och low.
  • TypicalPrice, medelvärdet av high, low och close.
  • TotalPrice, medelvärdet av open, high, low och close.
  • WeightedClose, ett close-viktat medelvärde av high, low och close.
  • Open, öppningspriset för en bar.
  • High, det högsta priset i en bar.
  • Low, det lägsta priset i en bar.