Strategie-Eigenschaften

sJede Pine-Strategie hat eine Reihe von Eigenschaften, die ihr Verhalten bestimmen: 

  1. Startkapital
  2. Basiswährung
  3. Order Größe
  4. Pyramidisieren
  5. Kommission
  6. Preis für Limit Orders überprüfen
  7. Slippage
  8. Margin
  9. Neuberechnung 

 Sie sind in den Strategieeinstellungen im Tab "Eigenschaften" verfügbar:


Jeder der in den Eigenschaften der Strategie angegebenen Parameter kann durch Bearbeiten der Argumente des Aufrufs der Funktion strategy() im entsprechenden Pine Skript geändert werden:

strategy(title, initial_capital, currency, default_qty_value, default_qty_type, pyramiding, commission_type, commission_value, backtest_fill_limits_assumption, slippage, process_orders_on_close, margin_long, margin_short, calc_on_order_fills, calc_on_every_tick)

Schauen wir uns jeden Eingabeparameter im Menü Eigenschaften und den entsprechenden Parameter in der Sprache Pine an:

1 - Startkapital (Parameter: initial_capital) stellt den Betrag der Barmittel dar, die anfangs für die Strategie zum Traden zur Verfügung stehen, in der unter Basiswährung definierten Währung. Standardmäßig ist dieser Wert gleich 100.000. Möglicherweise müssen Sie diesen Wert erhöhen, damit Trades mit bestimmten Symbolen stattfinden können.

2 - Basiswährung (Parameter: currency) gibt die Währung an, die für Berechnungen verwendet wird. Die im Tab "Strategietester" angezeigten Ergebnisse (Gewinn, Verlust, Drawdown usw.) werden in dieser Währung ausgedrückt. Verfügbare Auswahlmöglichkeiten sind:

Standard, USD, EUR, AUD, GBP, NZD, CAD, CHF, HKD, JPY, NOK, SEK, SGD, TRY, ZAR. Wenn die Option Standard ausgewählt ist, verwendet die Strategie die Standardwährung für dieses Symbol und es findet keine Währungsumrechnung statt. 

3 - Order Größe (Parameter: default_qty_value, default_qty_type). Dazu sind ein Wert und ein Berechnungsmodus erforderlich. Beachten Sie, dass die berechneten Werte aufgrund der handelbaren Mindestmengen für das Symbol Beschränkungen unterliegen können:

  • Kontrakte (Argument: strategy.fixed) - die Strategie wird mit der angegebenen Anzahl von Kontrakten/Aktien/Lots einsteigen.
  • Menge in Währung (Argument: strategy.cash) - die Strategie wird den Wert in der Basiswährung verwenden.
  • Prozentualer Anteil am Eigenkapital (Argument: strategy.percent_of_equity) - Positionsgrößen werden als Prozentsatz des vorhanden Eigenkapitals berechnet, wenn ein Trade eingegangen wird. Sie können einen Wert über 100% verwenden.

4 - Pyramidisieren (Parameter: pyramiding)  gibt die maximale Anzahl der zulässigen aufeinanderfolgenden Einstiege in dieselbe Richtung an. Wenn Pyramidisieren deaktiviert ist, kann die Strategie nur eine Long- oder Short-Position eröffnen, auch wenn die Eingabebedingungen erfüllt sind. Pyramidisieren wirkt sich nur auf Einstiege aus, die mit der Funktion strategy.entry() gemacht wurden. Es hat keine Auswirkung auf Orders, die mit strategy.order() erstellt wurden.

5 - Kommission (Parameter: commission_typecommission_value). Es ist der Betrag, der für jeden Trade an Handelsgebühren kostenpflichtig ist. Es müssen ein Wert und ein Berechnungsmodus angegeben werden. Beachten Sie, dass die Provision sowohl auf Eingänge als auch auf Ausgänge angewandt wird, und dass bei Verwendung eines Prozentsatzes die berechnete Provision mit der Höhe der Transaktion variiert:

  • Prozentsatz des gehandelten Wertes (Argument: strategy.commission.percent) - erhebt auf jede Order eine Provision in Höhe des angegebenen Prozentsatzes.
  • Währung pro Kontrakt (Argument: strategy.commission.cash_per_contract) - erhebt eine Provision auf jeden Kontrakt.
  • Währung pro Order (Argument: strategy.commission.cash_per_order) - erhebt für jeden Auftrag eine Provision.

6 - Preis für Limit Orders verifizieren (Parameter: backtest_fill_limits_assumption) verschärft die Bedingungen für das Eingehen einer Position mit Limit-Orders. Standardmäßig ist dieser Wert 0, d. h. Limit-Orders werden aufgrund historischer Daten gefüllt, sobald der in der Order angegebene Preis erreicht wird. Wenn der Parameter nicht Null ist, dann können Limit-Orders nur dann eine Position innerhalb des Balkens eingehen, wenn der Marktpreis das Niveau der Limit-Order um die angegebene Anzahl von Ticks überschritten hat.

7 - Slippage (Parameter: slippage) gibt den Wert in Ticks an, der zum Ausführungspreis von Market- oder Stop-Orders addiert wird. Er kann verwendet werden, um den Spread zu berücksichtigen.

8 - Margin für Long und Short Positionen (Parameter: margin_long, margin_short) die zur Aufrechterhaltung der Position erforderliche Marge. Wenn nicht genügend Barmittel vorhanden sind, kommt es zu einem Margin Call, der einen Teil oder alle Positionen mit einer Market Order zwangsweise schließt, bis genügend Mittel zur Aufrechterhaltung der bestehenden Positionen vorhanden sind.

9 - Neuberechnung Optionen geben an, wie oft die Strategie neu berechnet werden soll. Standardmäßig wird die Strategie zum Schluss eines jeden Balkens neu berechnet, aber mit den unten stehenden Optionen kann sie ebenfalls neu berechnet werden:

  • Nachdem eine Order gefüllt wurde (Parameter: calc_on_order_fills) - ermöglicht es der Strategie, eine zusätzliche Intra-Bar-Order-Berechnung unmittelbar nach dem Ausfüllen einer Order durchzuführen. Diese zusätzliche Berechnung erfolgt sowohl für historische als auch für Echtzeit-Balken. 
  • Für Jeden Tick (Parameter: calc_on_every_tick). Standardmäßig werden Strategien nur beim Schließen von Echtzeit-Balken berechnet. Mit diesem Parameter kann die Strategie bei jeder Aktualisierung von Echtzeit-Balken berechnen, wie es eine Studie tun würde. Beachten Sie, dass die Tick-Daten verloren gehen, wenn der Chart aktualisiert wird, so dass Strategien, die diese Option verwenden, neu gezeichnet werden. Dieser Parameter hat keinen Einfluss auf das Verhalten von Strategien auf historischen Balken. Beachten Sie auch, dass Strategien, die diese Funktion verwenden, auf historischen Balken keine realistischen Ergebnisse anzeigen, da sie keine Tick-Daten enthalten.