SIN
SIN in ProBuilder gibt den Sinus eines im Bogenmaß angegebenen Winkels zurück, einen Wert zwischen -1 und 1. Syntax, die Bogenmaß-Anforderung, Stolperfallen und ausgearbeitete Beispiele.
Syntax
SIN(a)Parameter
| Name | Typ | Beschreibung |
|---|---|---|
a | Zahl | Der Winkel im Bogenmaß. Grad müssen vor dem Aufruf in Bogenmaß umgerechnet werden. |
Formel
SIN(a) = sine of angle a, with a in radians, result in [-1, 1]SIN(0) gibt 0 zurück, SIN(PI/2) gibt 1 zurück, und SIN(PI) gibt 0 zurück. Die Funktion ist periodisch mit der Periode 2*PI.
So funktioniert es
SIN behandelt sein Argument als Winkel im Bogenmaß. Ein direkt übergebener Gradwert ergibt ein bedeutungsloses Ergebnis, konvertieren Sie daher zuerst mit a * PI / 180. Das Ergebnis bleibt innerhalb von [-1, 1], was den Sinus zu einem natürlichen Baustein für glatte zyklische Reihen und Oszillatoren macht.
Da das Ergebnis [-1, 1] nie verlässt, ist es eine sichere Eingabe für ASIN, seine Umkehrung, ohne Begrenzung.
Beispiele
Beispiel 1, Sinus eines Winkels in Grad (Indikator)
// Convert 90 degrees to radians, then take the sine
angleInDegrees = 90
angleInRadians = angleInDegrees * 3.14159265 / 180
result = SIN(angleInRadians)
RETURN result AS "SIN(90 deg)"Die Umrechnung ist wichtig. SIN(90) würde 90 als Radiant behandeln; der Code oben gibt 1 zurück, den Sinus von 90 Grad.
Beispiel 2, Zyklische Welle über den Bar-Index (ProScreener)
// A smooth sine wave cycling every 20 bars
phase = BarIndex * 2 * 3.14159265 / 20
wave = SIN(phase)
SCREENER[wave > 0.9](wave AS "Sine wave")Die Skalierung des Bar-Index ins Bogenmaß erzeugt einen sich wiederholenden Sinus, der einmal pro Zyklus seinen Höchstwert erreicht.
Beispiel 3, Sinusgewichteter Einstiegsfilter (ProOrder)
// Allow entries only during the rising half of a slow sine cycle
phase = BarIndex * 2 * 3.14159265 / 50
weight = SIN(phase)
IF NOT LongOnMarket AND close CROSSES OVER Average[20](close) AND weight > 0 THEN
BUY 1 CONTRACT AT MARKET
ENDIFDer Sinusterm beschränkt Einstiege auf die positive Hälfte seines Zyklus und verlagert Trades damit auf eine Phase der Welle.
Häufige Fehler und Stolperfallen
- Der Winkel muss im Bogenmaß angegeben werden.
SINerwartet Radiant. Für Grad multiplizieren Sie mitPI / 180zuerst, andernfalls ist das Ergebnis bedeutungslos. - Die Ausgabe ist auf [-1, 1] begrenzt. Der Sinus gibt nie einen Wert außerhalb dieses Bereichs zurück, ein Messwert darüber hinaus weist daher auf einen vorgelagerten Programmierfehler hin.
- Periodisch, daher ergeben viele Eingaben dieselbe Ausgabe.
SIN(a)undSIN(a + 2*PI)sind gleich, daher kann die Funktion allein nicht sagen, zu welchem Zyklus ein Winkel gehört.