COS
COS in ProBuilder geeft de cosinus van een hoek opgegeven in radialen, een waarde tussen -1 en 1. Syntaxis, de eis van radialen, valkuilen en uitgewerkte voorbeelden.
Syntaxis
COS(a)Parameters
| Naam | Type | Beschrijving |
|---|---|---|
a | getal | De hoek in radialen. Graden moeten voor de aanroep naar radialen worden omgezet. |
Formule
COS(a) = cosine of angle a, with a in radians, result in [-1, 1]COS(0) geeft 1 terug, COS(PI/2) geeft 0, en COS(PI) geeft -1. De functie is periodiek met periode 2*PI.
Hoe het werkt
COS behandelt zijn argument als een hoek in radialen, niet in graden. Dit is de meest voorkomende valkuil: een waarde in graden meegeven levert een zinloos getal op. Reken om met a * PI / 180 eerst. Het resultaat is begrensd tot [-1, 1], wat cosinus nuttig maakt voor het bouwen van vloeiende cyclische reeksen en oscillatoren.
Omdat de uitvoer nooit buiten [-1, 1] komt, is het een veilige invoer voor ACOS, de inverse functie, zonder clamping.
Voorbeelden
Voorbeeld 1, Cosinus van een hoek in graden (Indicator)
// Convert 60 degrees to radians, then take the cosine
angleInDegrees = 60
angleInRadians = angleInDegrees * 3.14159265 / 180
cosineValue = COS(angleInRadians)
RETURN cosineValue AS "COS(60 deg)"De conversie is essentieel. COS(60) zou 60 als radialen behandelen en de verkeerde waarde teruggeven; de code hierboven geeft 0.5, de cosinus van 60 graden.
Voorbeeld 2, Cyclische golf over de bar-index (ProScreener)
// A smooth cosine wave cycling every 20 bars
phase = BarIndex * 2 * 3.14159265 / 20
wave = COS(phase)
SCREENER[wave > 0.9](wave AS "Cosine wave")Het schalen van de barindex naar radialen levert een terugkerende cosinus op die één keer per cyclus piekt.
Voorbeeld 3, Met cosinus gewogen instappoort (ProOrder)
// Weight a signal by a slow cosine cycle
phase = BarIndex * 2 * 3.14159265 / 50
weight = COS(phase)
IF NOT LongOnMarket AND close CROSSES OVER Average[20](close) AND weight > 0 THEN
BUY 1 CONTRACT AT MARKET
ENDIFDe cosinusterm staat alleen instappen toe tijdens de positieve helft van zijn cyclus, wat trades naar één fase van de golf stuurt.
Veelvoorkomende fouten en valkuilen
- De hoek moet in radialen zijn.
COSverwacht radialen. Vermenigvuldig voor graden metPI / 180eerst, anders is het resultaat zinloos. - De uitvoer is begrensd tot [-1, 1]. Cosinus geeft nooit een waarde buiten dit bereik, dus een waarde daarbuiten duidt op een programmeerfout eerder in de code.
- Periodiek, dus veel invoerwaarden geven dezelfde uitvoer.
COS(a)enCOS(a + 2*PI)gelijk zijn. De functie alleen kan niet vertellen uit welke cyclus een hoek komt.