SHORTONMARKET
SHORTONMARKET in ProBacktest und ProOrder ist wahr, solange eine short Position offen ist. Nutzen Sie es, um Short-Einstiege und -Ausstiege abzusichern, mit ausgearbeiteten Beispielen.
Syntax
ShortOnMarketSo funktioniert es
SHORTONMARKET gibt true zurück, solange die Strategie eine offene Short-Position hält, und false, wenn nicht. Es wird als einfacher Boolean gelesen und passt daher direkt in ein IF Bedingung, meist negiert mit NOT um einen neuen Short nur dann zuzulassen, wenn keiner offen ist.
Es berichtet nur über Short-Positionen. Für Long-Positionen verwenden Sie LONGONMARKET, und um zu prüfen, ob eine Position auf einer der beiden Seiten offen ist, verwenden Sie ONMARKET. Die Kombination von SHORTONMARKET mit einer Signalbedingung ist der Standardweg, um zu steuern, wann ein Short-Einstieg oder ein Short-Ausstieg erlaubt ist.
Beispiele
Beispiel 1, Einen Short-Einstieg absichern (ProBacktest)
// Sell short when MACD crosses below zero, but only if no short is open
myMACD = MACD[12,26,9](close)
short = myMACD CROSSES UNDER 0
IF NOT ShortOnMarket AND short THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIFDies ist das Muster aus der offiziellen Referenz. NOT ShortOnMarket verhindert, dass die Strategie einen zweiten Short aufbaut, während bereits einer läuft.
Beispiel 2, Eine offene short Position verwalten (ProOrder)
DEFPARAM CumulateOrders = false
// Close the short when price reclaims the 20-period average
IF ShortOnMarket AND close CROSSES OVER Average[20](close) THEN
EXITSHORT AT MARKET
ENDIFDer Exit-Block läuft nur, solange ein Short offen ist, daher CROSSES OVER Bedingung wird nur geprüft, wenn sie relevant ist.
Beispiel 3, Immer nur eine Seite (ProOrder)
DEFPARAM CumulateOrders = false
// Allow a long only when neither side is open
IF NOT ShortOnMarket AND NOT LongOnMarket AND close CROSSES OVER Average[50](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIFBeide zu testen SHORTONMARKET und LONGONMARKET hält die Strategie vor einem neuen Einstieg ohne Position. NOT OnMarket formuliert die gleiche Absicherung kompakter.
Häufige Fehler und Stolperfallen
- Nur short.
SHORTONMARKETignoriert Long-Positionen. Eine Strategie, die beide Seiten handelt, benötigtLONGONMARKETebenfalls, oderONMARKETfür den kombinierten Zustand. - Zustand, keine Anzahl. Es meldet nur, ob ein Short offen ist, nicht dessen Größe. Für Aktien- oder Kontraktmengen verwenden Sie
COUNTOFSHORTSHARESoderCOUNTOFPOSITION. - Timing auf demselben Bar. Ein Short, der innerhalb eines einzelnen Bars eröffnet und geschlossen wird, hinterlässt möglicherweise nicht
SHORTONMARKETtrue, wie es eine Position über mehrere Bars täte. Um eine Ausführung auf dem aktuellen Bar zu erkennen, verwenden SieShortTriggered. - Die Absicherung vergessen. Auslassen
NOT ShortOnMarketbei einem Einstieg lässt ein anhaltendes Signal wiederholte Shorts hinzufügen, besonders beiCumulateOrdersaktiviert.
Verwandte Befehle
LONGONMARKET, wahr, solange eine Long-Position offen ist.ONMARKET, wahr, solange eine Position offen ist.ShortTriggered, wahr auf dem Bar, auf dem eine short Order ausgeführt wird.NOT, negiert den Zustand, um Einstiege abzusichern.SELLSHORT, eröffnet eine Short-Position.EXITSHORT, schließt eine Short-Position.COUNTOFSHORTSHARES, Größe der offenen short Position.