CROSSES UNDER
CROSSES UNDER in ProBuilder geeft true op de bar waar de ene reeks van boven naar onder een andere beweegt, de standaardtrigger voor bearish crossoversignalen.
Syntaxis
a CROSSES UNDER bParameters
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
| a | numerieke reeks | verplicht | De reeks die op een neerwaartse kruising wordt getest. |
| b | numerieke reeks of constante | verplicht | De reeks of het vaste niveau dat a moet neerwaarts kruisen. |
Formule
a CROSSES UNDER b is waar wanneer beide voorwaarden op dezelfde bar gelden:
a[1] >= b[1] and a < bOp de vorige bar a was op of boven b, en op de huidige bar a is strikt onder b.
Hoe het werkt
CROSSES UNDER vergelijkt twee waarden over opeenvolgende bars en geeft een boolean. De expressie is alleen waar op de enkele bar waar de verhouding van boven naar onder omslaat. Op latere bars waar a blijft slechts onder b, geeft hij false terug. Hij detecteert dus de kruising zelf, anders dan de toestandsvergelijking a < b, die true blijft zolang de voorwaarde geldt.
Beide operanden mogen elke numerieke expressie zijn: indicatoruitvoer, een koersconstante zoals close, een variabele of een gewoon getal. Het kruisen van vaste niveaus is een veelvoorkomend patroon, bijvoorbeeld Stochastic[14,3](close) CROSSES UNDER 80.
Omdat de huidige bar meedoet in de test, kan een neerwaartse kruising die op een live bar wordt gedetecteerd verdwijnen als de prijzen herstellen voordat de bar sluit. Verschoven waarden testen, zoals a[1] CROSSES UNDER b[1], beperkt de controle tot afgeronde bars en levert stabiele signalen één bar later.
Voorbeelden
Voorbeeld 1, EMA-kruising naar beneden (Indicator)
a = ExponentialAverage[20](close)
b = ExponentialAverage[50](close)
signal = 0
// Evaluate the crossing on completed bars only
IF a[1] CROSSES UNDER b[1] THEN
signal = -1
ELSE
signal = 0
ENDIF
RETURN signal AS "Bearish Signal"De indicator drukt -1 af op de bar nadat de EMA over 20 periodes onder de EMA over 50 periodes daalt, en anders 0. Beide operanden zijn één bar verschoven zodat de test gesloten data gebruikt.
Voorbeeld 2, Een long positie sluiten (ProOrder)
fast = Average[20](close)
slow = Average[50](close)
// Enter on the upward cross, exit on the downward cross
IF fast CROSSES OVER slow AND NOT LONGONMARKET THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF fast CROSSES UNDER slow AND LONGONMARKET THEN
SELL AT MARKET
ENDIFCROSSES UNDER werkt als de uitstaptrigger: de long positie die bij de bullish kruising is geopend wordt gesloten op de bar waar het snelle gemiddelde terugvalt onder het langzame.
Voorbeeld 3, Stochastic verlaat overbought gebied (ProScreener)
myStoch = Stochastic[14, 3](close)
// Match instruments where %K has just dropped below 80
cond = myStoch CROSSES UNDER 80
SCREENER[cond] (myStoch AS "Stochastic")De screener geeft instrumenten waarvan de stochastic %K op de huidige bar onder het niveau 80 kruiste, een gangbaar overbought uitstappatroon.
Veelvoorkomende fouten en valkuilen
- Gebeurtenis van één bar, geen toestand. De expressie is alleen waar op de bar van de kruising. Logica die "ligt nog steeds eronder" nodig heeft moet testen op
a < bapart, anders verdwijnt het signaal stilzwijgend op de volgende bar. - Instabiliteit van de live bar. Op een vormende bar kan de cross afgaan en vóór de close weer uitgaan. Gebruik
a[1] CROSSES UNDER b[1]wanneer alleen bevestigde kruisingen mogen meetellen. - Strikte ongelijkheid vereist. Een reeks die daalt tot precies het niveau van
bzonder eronder te komen activeert de voorwaarde niet, omdat de vergelijking op de huidige bar strikt is. - Omgekeerde volgorde van operanden.
a CROSSES UNDER benb CROSSES UNDER abeschrijven tegengestelde gebeurtenissen. De operanden per ongeluk verwisselen draait het signaal om zonder enige compilerwaarschuwing.
Gerelateerde instructies
CROSSES OVER, de spiegeloperator voor opwaartse kruisingen.IF, voorwaardelijk blok dat meestal om een kruisingstest heen staat.THEN, verplicht tussen de voorwaarde en de body van het blok.ExponentialAverage, EMA-reeks die in crossoversystemen vaak wordt gecombineerd.Average, enkelvoudig voortschrijdend gemiddelde, nog een veelgebruikte invoer voor kruisingen.AND, combineert de kruising met positie- of filtervoorwaarden.NOT, ontkent een boolean, nuttig voor positiecontroles naast kruisingen.BarsSince, telt het aantal bars sinds een voorwaarde zoals een kruising waar was.