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

Lowest

Lowest i ProBuilder returnerar minimivärdet för ett pris eller en serie under de senaste N barerna, används för stödnivåer, kanaler och stoppar. Syntax, exempel.

Syntax

probuilder
Lowest[N](price)

Parametrar

NamnTypStandardBeskrivning
NheltalobligatoriskAntal barer som genomsöks, inklusive den aktuella baren. Får inte överstiga antalet barer som är laddade i diagrammet eller i backtestet.
priceseriecloseVilken priskonstant som helst, till exempel close, open, high, low, eller någon egen variabel eller indikatorutdata.

Formel

kod
Lowest[N](price) = min( price[0], price[1], ..., price[N-1] )

där price[0] är den aktuella baren och price[N-1] den äldsta baren i fönstret.

Så fungerar det

På varje bar skannar ProBuilder ett glidande fönster av de senaste N värden av den angivna serien och returnerar minimum. Fönstret inkluderar alltid den bar som just utvärderas, vilket spelar roll för breakout-logik: på den bar där priset sätter en ny lägsta nivå, Lowest[N](low) är lika med den nya botten, så low < Lowest[N](low) kan aldrig vara sant. Att skifta hela uttrycket en bar bakåt med Lowest[N](low)[1] ger föregående N-bars low, det värde som breakout-system faktiskt jämför mot.

Funktionen accepterar vilken serie som helst, inte bara råa priser. Lowest[20](RSI[14](close)) returnerar det lägsta RSI-värdet under de senaste 20 barerna, ett mönster som används för normalisering, och Lowest[N](low) tillsammans med Highest[N](high) bildar Donchian-kanalen och nämnaren i den stokastiska oscillatorn.

Lowest svarar på "vad är minimum"; motsvarigheten LowestBars besvarar "hur många barer sedan inträffade det".

Exempel

Exempel 1, Adaptivt nedre band (Indikator)

probuilder
// Use the current low when it undercuts the 30-bar lowest close
IF Low < Lowest[30](close) THEN
  bandL = Low
ELSE
  bandL = Lowest[30](close)
ENDIF
RETURN bandL

Bygger ett nedre band av det minsta av aktuell lägstanivå och den lägsta stängningen under de senaste 30 barerna, så spikar inom baren under golvet av stängningspriser fångas omedelbart.

Exempel 2, Donchian-exitstopp (ProOrder)

probuilder
// Enter on a 20-bar breakout, exit at the 10-bar low
IF NOT OnMarket AND close CROSSES OVER Highest[20](high)[1] THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

IF LongOnMarket THEN
  SELL AT Lowest[10](low) STOP
ENDIF

Lägger en stopporder på den lägsta lägstanivån under de senaste 10 barerna, en klassisk trailing exit som följer marknaden uppåt när nya högre bottnar sätts.

Exempel 3, Nära 52-veckorsbottnen (ProScreener)

probuilder
// Daily scan for instruments within 2 percent of their one-year low
low52    = Lowest[252](low)
distance = 100 * (close - low52) / low52
SCREENER[distance < 2](distance AS "Pct above 52w low")

Returnerar instrument vars stängning ligger mindre än 2 procent över den lägsta lägstanivån under de senaste 252 dagsbarerna, ungefär ett handelsår.

Tolkning

Det rullande minimumet är den mest direkta definitionen av stöd: den prisnivå som höll under det valda fönstret. Pris som närmar sig Lowest[N](low) testar det stödet, och en stängning under det är ett brott nedåt ur intervallet. Trendföljare tolkar ett brott av N-barers lägstanivå som ett short-entry eller en long-exit, medan mean reversion-traders läser avståndet mellan priset och den rullande lägstanivån som tillgängligt utrymme nedåt.

Fönsterlängden sätter karaktären. Lowest[10] följer swing lows för snäva trailing stops, Lowest[252] följer ettårsbottnen som används i scanningar av relativ styrka.

Vanliga fel och fallgropar

  • Fönstret inkluderar den aktuella baren. low < Lowest[N](low) är alltid falskt. För att upptäcka breakdown, jämför mot föregående fönster: close CROSSES UNDER Lowest[N](low)[1].
  • N utöver inläst historik. När färre än N barer är tillgängliga beräknas resultatet på det som finns, så tidiga backtest-värden skiljer sig från diagramvärden. Läs in tillräckligt med historik, eller höj i automatiserade system DEFPARAM PreloadBars.
  • Lowest är inte MIN. MIN(a, b) jämför två uttryck på samma bar; Lowest[N](a) skannar en serie genom tiden. MIN kan inte ta en period och Lowest kan inte ta två serier.
  • Värde kontra position. Lowest ger nivån, inte tidpunkten. För att veta hur många barer tillbaka minimumet inträffade, använd LowestBars, till exempel för att mäta hur gammal en stödnivå är.
  • Highest, det symmetriska rullande maximumet.
  • LowestBars, antal barer sedan minimum inträffade.
  • HighestBars, antal barer sedan maximum inträffade.
  • MIN, minimum av två uttryck på samma bar.
  • DonchianChannelDown, färdig kanallinje byggd på den rullande lägstanivån.
  • Stochastic, oscillator normaliserad av intervallet mellan högsta och lägsta.
  • Average, glidande medelvärde, utjämningsmotsvarigheten.
  • Range, aktuell bars högsta minus lägsta.