LongTriggered
LongTriggered i ProBacktest och ProOrder returnerar true när en long entry utfördes på en given bar. Använd den för att upptäcka fyllningar från väntande order bar för bar.
Syntax
LongTriggeredLongTriggered[N]Parametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
N | heltal | 0 | Barförskjutning relativt den aktuella baren. 0 är den aktuella baren, 1 är föregående bar, och så vidare. |
Så fungerar det
Varje gång en strategi öppnar en long-position registrerar ProBacktest och ProOrder fyllningen på den bar där den skedde. LongTriggered läser den posten: den returnerar true på en bar där ett long-entry utfördes och false överallt annars. Det valfria indexet förskjuter uppslagningen bakåt i tiden, så LongTriggered[1] frågar om en long-entry fylldes på föregående bar.
Skillnaden från LongOnMarket spelar störst roll med väntande ordrar. Ett stop- eller limitentry kan fyllas intrabar och dess skyddande stopp eller mål kan också utlösas inom samma bar. I så fall LongOnMarket är redan false igen när koden körs vid barens stängning, och affären skulle vara osynlig för kontroller av positionstillståndet. LongTriggered rapporterar fortfarande true för den baren, så strategin kan reagera på fyllningen även när positionen inte längre finns.
Flaggan är kopplad enbart till entries. Exits, stoputlösningar och targetutlösningar sätter den inte. För short-entries är motsvarigheten ShortTriggered.
Exempel
Exempel 1, Räkna long-entries (ProOrder)
// increment a counter each time a long entry fills
if LongTriggered then
buycount = buycount + 1
endifVarje bar där ett long-entry utfördes ökar buycount med ett. Räknaren kan sedan styra vidare logik, till exempel begränsa antalet entries per session.
Exempel 2, Pausa efter en ny fyllning (ProBacktest)
// entry signal: close crosses above the 50-bar average
signal = close crosses over Average[50](close)
// skip new entries on the bar right after a fill
IF signal AND NOT LongTriggered[1] AND NOT LongOnMarket THEN
BUY 1 CONTRACT AT MARKET
ENDIFLongTriggered[1] kontrollerar om en long-entry fylldes på föregående bar. Villkoret blockerar entryer direkt efter varandra på följande barer, ett enkelt avkylningsfilter.
Exempel 3, Upptäcka entry och exit på samma bar (ProOrder)
// pending entry above the prior high, protective stop attached
IF NOT OnMarket THEN
BUY 1 CONTRACT AT high[1] STOP
SET STOP PLOSS 20
ENDIF
// a fill happened this bar but no position remains:
// the stop was hit within the same bar
IF LongTriggered AND NOT LongOnMarket THEN
stoppedSameBar = 1
ENDIFNär LongTriggered är sant medan LongOnMarket är falskt på samma bar har både entryn och dess stopp exekverats inne i den baren. Flaggan stoppedSameBar kan sedan användas för att stå utanför eller justera nästa entry.
Vanliga fel och fallgropar
- Standardindex är den aktuella baren.
LongTriggeredutan hakparenteser betyderLongTriggered[0]. Kod som avser att kontrollera föregående bar måste skrivaLongTriggered[1]explicit. Att anta att den nakna formen tittar en bar bakåt är en vanlig feltolkning. - Att förväxla det med
LongOnMarket.LongOnMarketrapporterar status för öppen position,LongTriggeredrapporterar fill-händelsen för entry. En affär som öppnas och stängs inom en bar visarLongTriggered = TRUEochLongOnMarket = FALSEpå den baren. - Endast entries. Flaggan reagerar aldrig på exits eller stoputlösningar av sig själv. Att upptäcka en stoputgång på samma bar kräver att den kombineras med en kontroll av positionstillståndet, som i Exempel 3.
- Negativt eller icke-heltaligt index.
Nmåste vara ett icke-negativt heltal. Att skicka in en negativ förskjutning eller ett decimalvärde är ogiltigt, det finns ingen framåtblick i framtida barer.
Relaterade instruktioner
ShortTriggered, motsvarande flagga för short-entries.LONGONMARKET, sant så länge en long-position är öppen.SHORTONMARKET, sant så länge en short-position är öppen.ONMARKET, sant så länge någon position är öppen.BUY, öppnar en long-position.MARKET, omedelbar exekvering till aktuellt marknadspris.TRADEPRICE, entrypriset för den nuvarande positionen.TRADEINDEX, barindexet för den aktuella positionens entry.