Jetzt beitreten
ProBacktest/probacktest · proorder

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

probuilder
TICKSIZE

So 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)

probuilder
// On EUR/USD this yields 40 instead of the raw 0.0040
StopLossPIPS = (close - low) / TickSize

Der 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)

probuilder
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
ENDIF

Ein 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)

probuilder
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
ENDIF

Das 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, und PIPSIZE kö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 LOSS zum 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 TICKSIZE lö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 TICKSIZE bevor sie in Orders verwendet werden.
  • Falscher Gültigkeitsbereich. Die Konstante gehört zur Trading-Engine. Strategiecode mit TICKSIZE in einen Indikator nicht kompiliert, muss die Umwandlung im ProBacktest- oder ProOrder-Code erfolgen.
  • 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.