POINTSIZE
POINTSIZE gibt die Größe eines Punktes in Kurseinheiten für das aktuelle Instrument zurück und wird in ProBacktest und ProOrder verwendet, um Kurse in Punktanzahlen umzurechnen.
Syntax
POINTSIZESo funktioniert es
POINTSIZE ist eine nur lesbare Marktkonstante, die keine Argumente nimmt. Sie gibt die Größe eines einzelnen Punktes für das Instrument an, an das die Strategie angehängt ist, ausgedrückt in den eigenen Kurseinheiten des Instruments. Bei einem Index, der bei 18000 notiert, kann ein Punkt 1.0 betragen, während es bei einem Forex-Paar mit fünf Dezimalstellen ein kleiner Bruchteil ist, sodass die Konstante es einer Strategie erlaubt, sich an jede Notierungskonvention anzupassen.
Seine Hauptaufgabe ist die Einheitenumrechnung. Kursbasierte Reihen wie close oder AverageTrueRange liegen in Preiseinheiten, während Befehle wie SET STOP PLOSS und Gewinnschwellen werden häufig in Punkten ausgedrückt. Ein Kursabstand geteilt durch POINTSIZE ergibt Punkte, und eine Punktzahl multipliziert mit POINTSIZE ergibt wieder einen Kursabstand, der mit Kursnotierungen verglichen werden kann.
POINTSIZE beschreibt nur den Abstand. Der Geldwert einer Bewegung von einem Punkt ist eine separate Konstante, POINTVALUE. Eine vollständige Geldberechnung verwendet typischerweise beide, indem sie zuerst eine Kursbewegung in Punkte normalisiert und dann Punkte in Geld umrechnet.
Beispiele
Beispiel 1, Schwebender Gewinn der offenen Position (ProBacktest)
// Unrealized gain of the open trade in account currency
floatingprofit = (((close - positionprice) * pointvalue) * countofposition) / pointsize
GRAPH floatingprofit AS "Floating profit"Der Abstand zwischen dem aktuellen Kurs und dem durchschnittlichen Einstieg wird mit dem Geldwert eines Punktes skaliert, mit der Position Size multipliziert und durch POINTSIZE normalisiert, was den nicht realisierten Gewinn in Geld ergibt. Dies ist das Referenzbeispiel aus der Originaldokumentation mit neu geschriebenen Kommentaren.
Beispiel 2, Nachziehen auf Breakeven nach einem festen Punktgewinn (ProOrder)
// Move the stop to entry once the long is 10 points in profit
IF longonmarket AND (high - positionprice) >= 10 * pointsize THEN
SET STOP BREAKEVEN
ENDIFDie Multiplikation von 10 mit POINTSIZE wandelt das Punktziel in einen Kursabstand um, der direkt mit der Differenz zwischen dem Hoch und dem durchschnittlichen Einstiegskurs verglichen werden kann.
Beispiel 3, ATR-Stop in ganze Punkte umgerechnet (ProBacktest)
// Express a two-ATR stop distance as an integer point count
atr = AverageTrueRange[14](close)
stopPoints = max(1, round((2 * atr) / pointsize))
IF NOT onmarket AND close > average[50](close) THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
SET STOP PLOSS stopPointsATR ist eine Kursdistanz, daher ergibt die Division durch POINTSIZE die Punktzahl, die SET STOP PLOSS erwartet, mit Rundung und einem Minimum von einem Punkt, damit der Wert gültig bleibt.
Häufige Fehler und Stolperfallen
- POINTSIZE ist nicht POINTVALUE. POINTSIZE ist ein Abstand in Kurseinheiten, POINTVALUE ist der Geldwert dieses Abstands. Eine Verwechslung verfälscht unbemerkt jede Risikoberechnung, denn beide sind einfache Zahlen und der Compiler kann den Fehler nicht erkennen.
- Punkt und Pip können sich unterscheiden. Bei Instrumenten, die mit gebrochenen Inkrementen notiert werden, können PIPSIZE und POINTSIZE ungleich sein. Code, der sie als austauschbar behandelt, verhält sich bei Forex-Paaren und Indizes unterschiedlich; prüfen Sie beide Konstanten für den Zielmarkt.
- Fest einprogrammierte Umrechnungen. POINTSIZE durch ein Literal wie 0.0001 zu ersetzen bindet die Strategie an eine Notierungskonvention. Derselbe Code erzeugt dann auf jedem anderen Instrument falsche Stop-Abstände.
- Einschränkung des Gültigkeitsbereichs. Die Konstante kompiliert nur in ProBacktest und ProOrder. Indikator- oder Screener-Code, der Punktarithmetik benötigt, muss stattdessen feste Parametereingaben verwenden.
Verwandte Befehle
POINTVALUE, der Geldwert einer Bewegung von einem Punkt.PIPSIZE, die Größe eines Pips in Kurseinheiten.PIPVALUE, der Geldwert eines Pip, Synonym von POINTVALUE.TICKSIZE, das kleinste handelbare Kursinkrement.POSITIONPRICE, der durchschnittliche Einstiegskurs der offenen Position.COUNTOFPOSITION, die vorzeichenbehaftete Größe der offenen Position.BREAKEVEN, verschiebt den Stop oder das Ziel auf den Einstiegskurs.PLOSS, Stop Loss in Punkten ausgedrückt.