LIMIT
LIMIT i ProBacktest och ProOrder lägger en väntande order som fylls till ett angivet pris eller bättre. Syntax med BUY, SELL och SELLSHORT, exempel, fallgropar.
Syntax
BUY quantity CONTRACT AT price LIMITSELLSHORT quantity CONTRACT AT price LIMITSELL AT price LIMIT
EXITSHORT AT price LIMITParametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
price | numeriskt uttryck | ingen | Limitnivån. Ordern exekveras till det här priset eller bättre, lägre för ett köp, högre för en försäljning. |
Så fungerar det
LIMIT är ett av de tre exekveringslägena för orderinstruktionerna, tillsammans med MARKET för omedelbar exekvering och STOP för väntande stopporder. En limitorder anger det sämsta acceptabla priset. För entries, BUY ... LIMIT ligger under den aktuella marknaden och fylls vid en dipp till nivån, och SELLSHORT ... LIMIT ligger ovanför den och fylls vid en uppgång. För exits, SELL ... LIMIT och EXITSHORT ... LIMIT är standardordrarna för vinsthemtagning och stänger positionen när kursen når en fördelaktig nivå.
Riktningen i förhållande till marknaden spelar roll. En köplimit som läggs över det aktuella priset är redan marknadsgångbar och exekveras omedelbart, som en marknadsorder. Det väntande beteendet uppstår bara när nivån ligger på den passiva sidan, under marknaden för köp, över den för sälj.
Väntande order i ProBacktest och ProOrder har en livslängd på en bar. En ofylld limitorder avbryts vid slutet av nästa bar, så en strategi som vill ha ordern aktiv längre måste skicka in den igen på varje bar så länge entry- eller exitregeln gäller. Att skicka in en ny väntande order i samma riktning ersätter den föregående, vilket också gör det möjligt att flytta nivån bar för bar.
Exempel
Exempel 1, Köpa en dipp efter en MACD-signal (ProBacktest)
myMACD = MACD[12,26,9](close)
long = myMACD crosses over 0
IF long THEN
// rest a buy order 10 price units below the close
BUY 1 LOT AT close-10 LIMIT
ENDIFNär MACD-linjen korsar upp över noll läggs en limitorder 10 prisenheter under stängningspriset. Affären öppnas bara om priset dippar till den nivån inom nästa bar, vilket förbättrar entryn till priset av att möjligen missa rörelsen. Det här är exemplet från den officiella referensen.
Exempel 2, Gå short in i en rally med fast offset (ProOrder)
// fade signal: RSI overbought
overbought = RSI[14](close) > 70
IF NOT onmarket AND overbought THEN
// sell short if price rallies 20 points above the current close
SELLSHORT 1 CONTRACT AT close + 20 * pointsize LIMIT
SET STOP PLOSS 40
ENDIFShort-entryn vilar över marknaden, så positionen öppnas bara vid en ytterligare rörelse uppåt, till ett bättre pris än en omedelbar marknadsförsäljning.
Exempel 3, Vinsthemtagande exit som skickas in igen varje bar (ProOrder)
// keep a resting take-profit 100 points above the entry price
IF longonmarket THEN
SELL AT tradeprice + 100 * pointsize LIMIT
ENDIFEftersom väntande order upphör efter en bar skickas exiten in igen på varje bar så länge long-positionen är öppen, vilket håller ett permanent vinstmål 100 punkter över fyllnadspriset.
Vanliga fel och fallgropar
- Livslängd på en bar. En ofylld limitorder avbryts efter nästa bar. Kod som lägger ordern en gång inuti ett entryblock och aldrig upprepar den handlar oftast betydligt mindre än avsett. Skicka in den igen så länge villkoret gäller, som i exempel 3.
- Limitorder som är marknadsgångbara exekveras direkt. En köplimit över det aktuella priset, eller en säljlimit under det, fylls omedelbart. Ett teckenfel i offseten förvandlar tyst en avvaktande entry till en omedelbar.
- LIMIT är inte STOP. Köplimiter ligger under marknaden, köpstoppar över den. Breakout-entryn behöver
STOP, pullback-entryer behöverLIMIT. Att blanda ihop dem vänder strategins logik. - Fills i backtest är optimistiska. ProBacktest fyller en limit så snart priset berör nivån. Live kan en berörd nivå utan genomhandel lämna ordern ofylld, så backtester överskattar fyllnadsgraden för snäva limitentries.
Relaterade instruktioner
BUY, öppnar en long-position.SELL, stänger en long-position.SELLSHORT, öppnar en short-position.EXITSHORT, stänger en short-position.MARKET, omedelbar exekvering till aktuellt pris.STOP (pending), väntande order som utlöses när priset korsar en nivå.ONMARKET, sant så länge någon position är öppen.TRADEPRICE, entrypriset för den nuvarande positionen.