Jetzt beitreten
ProBacktest/probacktest · proorder

SHARES

SHARES in ProBacktest und ProOrder bemisst eine Order als Anzahl von Aktien für Aktien- und CFD-Strategien. Behandelt Syntax, Einheitenwahl und ausgearbeitete Beispiele.

Syntax

probuilder
[BUY|SELLSHORT] quantity SHARES [AT MARKET|AT price LIMIT|AT price STOP]

So funktioniert es

SHARES benennt die Einheit, in der die Ordermenge gezählt wird. BUY 100 SHARES AT MARKET kauft 100 Aktien zum nächsten verfügbaren Preis. Das Schlüsselwort folgt der Zahl und steht vor dem Ordertyp, sei das AT MARKET, ein AT price LIMIT, oder ein AT price STOP.

Die Größeneinheit sollte zum Instrument passen. SHARES passt zu Aktien und Aktien-CFDs, CONTRACT passt zu Futures und CFDs, und LOT passt zu Forex. Die Wahl der falschen Einheit bemisst die Position für diesen Markt falsch. Ob sich wiederholte Orders zu einer größeren Position aufaddieren, regelt CumulateOrders, genau wie bei jeder anderen Größeneinheit.

Beispiele

Beispiel 1, Short-Einstieg in Aktien bemessen (ProBacktest)

probuilder
// Sell short one share when MACD crosses below zero and no short is open
myMACD = MACD[12,26,9](close)
shortCondition = myMACD CROSSES UNDER 0
IF NOT ShortOnMarket AND shortCondition THEN
    SELLSHORT 1 SHARES AT MARKET
ENDIF

Dies ist das Muster aus der offiziellen Referenz. Die Order verkauft eine Aktie zum Marktpreis, wenn das MACD-Histogramm unter null kreuzt und noch keine short Position offen ist.

Beispiel 2, Long-Einstieg mit fester Stückzahl (ProOrder)

probuilder
DEFPARAM CumulateOrders = false
// Buy 100 shares on a break above the 20-bar high
IF NOT LongOnMarket AND close CROSSES OVER Highest[20](high) THEN
    BUY 100 SHARES AT MARKET
ENDIF

Die Position beträgt jedes Mal, wenn der Einstieg auslöst, konstant 100 Aktien, wobei die Positionsabfrage einen zweiten Einstieg verhindert, solange bereits eine long Position besteht.

Beispiel 3, Pending Stop-Order in Aktien bemessen (ProOrder)

probuilder
DEFPARAM CumulateOrders = false
// Rest a stop entry above the market for 50 shares
entryLevel = Highest[20](high)
IF NOT OnMarket THEN
    BUY 50 SHARES AT entryLevel STOP
ENDIF

Die Pending Stop-Order wird nur ausgeführt, wenn der Kurs über das 20-Bar-Hoch steigt, und kauft auf diesem Niveau 50 Aktien.

Häufige Fehler und Stolperfallen

  • Falsche Einheit für den Markt. SHARES auf einem Forex-Paar oder einem Futures-Kontrakt dimensioniert die Order nicht wie beabsichtigt. Verwenden Sie CONTRACT für Futures und CFDs und LOT für Forex.
  • Bruchteile von Aktien. Die Regeln des Brokers entscheiden, ob eine gebrochene Stückzahl akzeptiert wird. Eine ganze Zahl ist bei den meisten Instrumenten die sichere Wahl.
  • Unbeabsichtigtes Aufstocken. CumulateOrders ist standardmäßig aktiviert, sodass ein Einstieg, der über mehrere Bars wahr bleibt, auf jedem davon Stücke hinzufügt. Setzen Sie DEFPARAM CumulateOrders = false oder absichern mit NOT LongOnMarket.
  • Nur die Einheit, nicht die gesamte Order. SHARES ist ein Teil einer Order-Zeile. Er folgt immer einer Stückzahl und steht innerhalb eines BUY oder SELLSHORT Anweisung mit einem Order-Typ.
  • CONTRACT, Mengeneinheit für Futures und CFDs.
  • LOT, Mengeneinheit für Forex.
  • BUY, eröffnet eine long Position, deren Größe in einer gewählten Einheit angegeben wird.
  • SELLSHORT, eröffnet eine short Position, deren Größe in einer gewählten Einheit angegeben wird.
  • SELL, schließt eine Long-Position.
  • EXITSHORT, schließt eine Short-Position.
  • MARKET, LIMIT, STOP, die Ordertypen, die eine in Aktien bemessene Order verwenden kann.