TICKSIZE
TICKSIZE gibt das kleinste Kursinkrement des aktuellen Instruments in ProBacktest und ProOrder zurück und wird verwendet, um Kursabstände in Ticks oder Pips umzurechnen.
Syntax
TICKSIZESo funktioniert es
Jedes Instrument notiert in diskreten Schritten. Bei EUR/USD könnte ein Schritt 0.0001 betragen, bei einem Index-Future 0.5 Punkte. TICKSIZE gibt diesen minimalen Schritt für das Instrument zurück, auf dem die Strategie läuft, sodass sich Code ohne hart codierte magische Zahlen an jeden Markt anpassen kann.
Der Hauptzweck ist die Einheitenumrechnung. Eine rohe Preisdistanz wie close - low wird in Kurseinheiten ausgedrückt, die zwischen Instrumenten stark variieren. Die Division durch TICKSIZE verwandelt den Abstand in eine Tick-Anzahl, eine Zahl, die über Märkte hinweg vergleichbar ist und dem entspricht, wie viele Trader über Stops und Ziele denken. Die Multiplikation einer Tick-Anzahl mit TICKSIZE geht in die andere Richtung und erzeugt einen Kursabstand, der immer ein gültiges Inkrement ist.
TICKSIZE ist verwandt mit, aber nicht identisch mit, POINTSIZE und PIPSIZE. Die Point-Größe ist der Wert eines Punktes in der Kursanzeige der Plattform, die Pip-Größe ist die übliche Pip-Einheit bei Forex-Paaren, und die Tick-Größe ist die minimale Schrittweite der Börse. Bei vielen Instrumenten stimmen einige davon überein, bei anderen unterscheiden sie sich, und genau deshalb gibt es die drei Konstanten getrennt.
Beispiele
Beispiel 1, Einen Kursabstand in Pips umrechnen (ProBacktest)
// On EUR/USD this yields 40 instead of the raw 0.0040
StopLossPIPS = (close - low) / TickSizeDer Abstand zwischen dem Schlusskurs und dem Tief wird durch die Tickgröße geteilt, wodurch eine rohe Kursdifferenz in eine Tick- oder Pip-Anzahl verwandelt wird, die sich natürlich liest.
Beispiel 2, Einen Stop-Abstand auf ein gültiges Inkrement runden (ProOrder)
atr = AverageTrueRange[14](close)
// Snap the ATR-based distance to a whole number of ticks
stopDistance = ROUND(1.5 * atr / TICKSIZE) * TICKSIZE
IF NOT onmarket AND close crosses over average[20](close) THEN
BUY 1 CONTRACT AT MARKET
SET STOP LOSS stopDistance / pointsize
ENDIFEin aus dem ATR abgeleiteter Abstand ist selten ein glattes Vielfaches der Mindestschrittweite. Das Runden über TICKSIZE stellt sicher, dass das resultierende Niveau tatsächlich vom Markt gestellt werden kann.
Beispiel 3, Breakout-Order einen Tick über dem vorherigen Hoch (ProOrder)
IF NOT onmarket THEN
// Enter as soon as price prints a single tick above yesterday's high
BUY 1 CONTRACT AT DHigh(1) + TICKSIZE STOP
ENDIFDas Hinzufügen von genau einem TICKSIZE auf das vorherige Tageshoch platziert den Buy-Stop beim ersten Kurs, der einen Breakout bestätigt, und das auf jedem Instrument.
Häufige Fehler und Stolperfallen
- Tickgröße ist nicht Punktgröße.
TICKSIZE,POINTSIZE, undPIPSIZEkönnen beim selben Instrument alle voneinander abweichen. Werden sie verwechselt, verschiebt sich jedes berechnete Niveau um einen konstanten Faktor. Prüfen Sie, welche Einheit ein Befehl erwartet,SET STOP LOSSzum Beispiel arbeitet in Punkten. - Instrumentabhängiger Wert. Derselbe Code liefert auf verschiedenen Märkten verschiedene Werte. Eine Strategie, die mit einem fest einprogrammierten Inkrement abgestimmt wurde, bricht beim Wechsel auf ein anderes Instrument, was das Problem ist, das
TICKSIZElösen soll. - Ungerundete Niveaus. Rechnen mit Kursen erzeugt oft Werte zwischen zwei Ticks. Orders auf solchen Niveaus werden angepasst oder abgelehnt. Runden Sie berechnete Offsets auf ein Vielfaches von
TICKSIZEbevor sie in Orders verwendet werden. - Falscher Gültigkeitsbereich. Die Konstante gehört zur Trading-Engine. Strategiecode mit
TICKSIZEin einen Indikator nicht kompiliert, muss die Umwandlung im ProBacktest- oder ProOrder-Code erfolgen.
Verwandte Befehle
PIPSIZE, die Pip-Einheit des aktuellen Instruments.PIPVALUE, Geldwert eines Pip.POINTSIZE, die Punkt-Einheit des aktuellen Instruments.POINTVALUE, Geldwert eines Punkts.ROUNDEDUP, rundet eine Ordermenge auf.ROUNDEDDOWN, rundet eine Ordermenge ab.TRADEPRICE, Einstiegskurs der aktuellen Position.STOP, Stop-Loss-Konfiguration, deren Abstände in Punkten ausgedrückt werden.