TRADEPRICE
TRADEPRICE i ProBacktest og ProOrder returnerer utførelsesprisen for en tidligere handel. TRADEPRICE(1) er den siste. Syntaks, eksempler og fallgruver dekkes.
Syntaks
TRADEPRICETRADEPRICE(N)Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
N | heltall | 1 | Ordrens indeks, regnet bakover fra den siste utførelsen. TRADEPRICE(1) er den siste ordren, TRADEPRICE(2) den før den. |
Slik fungerer det
Hver fylte ordre i en strategi, både innganger og utganger, registreres med utførelsesprisen sin. TRADEPRICE leser den historikken: uten argument eller med N = 1 returnerer den siste utførelsesprisen, og høyere verdier av N steg lenger tilbake.
Den vanligste bruken er å måle hvor langt prisen har beveget seg siden inngangen, for eksempel close - tradeprice >= 15 * pointsize som utløser for å stramme inn en stop. I pyramideringsstrategier under CumulateOrders, TRADEPRICE(1) markerer det siste påfyllet, så nye innganger kan plasseres med en minsteavstand fra det. TRADEINDEX er følgefunksjonen som returnerer barindeksen til samme ordre.
TRADEPRICE indekserer enkeltordrer, ikke den samlede posisjonen. Når flere innganger er kumulert til én posisjon, beholder hver sin egen handelspris, mens POSITIONPRICE returnerer den vektede gjennomsnittsprisen for den åpne posisjonen.
Eksempler
Eksempel 1, Pyramidering med avstand og baravstand (ProBacktest)
myMACD = MACD[12,26,9](close)
long = myMACD crosses over 0
exit = myMACD crosses under 0
// Initial entry on the MACD signal
IF NOT LongOnMarket AND long THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
If LongOnMarket AND exit THEN
SELL AT MARKET
ENDIF
// Add a contract once price is 10 points above the last fill
// and at least 5 bars have passed since it
IF BARINDEX - TRADEINDEX(1) > 5 AND Close - TRADEPRICE(1) > 10 AND LongOnMarket THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
// Trail the whole position
SET STOP %TRAILING 1.5TRADEPRICE(1) og TRADEINDEX(1) sprer tilleggsinngangene i pris og i tid. Dette er eksempelet fra den offisielle referansen.
Eksempel 2, Breakeven-flytting målt fra inngangen (ProOrder)
// Move the stop to entry after 20 points of open profit
IF longonmarket THEN
IF close - tradeprice >= 20 * pointsize THEN
SET STOP BREAKEVEN
ENDIF
ENDIFFormen uten argument viser til den siste utførelsen, her long-inngangen, så sammenligningen måler åpen gevinst i punkter fra utførelsesprisen.
Eksempel 3, Prosentbasert nødutgang fra den siste utførelsen (ProOrder)
// Close the long if price drops 2 percent below the last entry
IF longonmarket AND close < TRADEPRICE(1) * 0.98 THEN
SELL AT MARKET
ENDIFVed å uttrykke utgangen som en prosentandel av den registrerte inngangsprisen fungerer regelen på tvers av instrumenter med ulike punktverdier.
Vanlige feil og fallgruver
- Ordrer, ikke posisjoner.
Nteller enkeltutførelser, inkludert utganger. Etter at en posisjon lukkes,TRADEPRICE(1)viser til utgangsfyllet, ikke den gamle inngangen. For gjennomsnittsprisen på den posisjonen som er åpen nå, bruk POSITIONPRICE. - Ubeskyttede kall før noen handel. Tidlig i en backtest, før den første utførelsen, finnes det ingen handelshistorikk å lese. Pakk TRADEPRICE-logikk inn i en ONMARKET- eller LONGONMARKET-vakt, slik at den bare kjører når det ligger en aktiv posisjon bak.
- Kumulerte innganger avviker fra gjennomsnittet. Under
CumulateOrders,close - tradepricemåler avstanden fra det siste påfyllet, mens gevinsten drives av posisjonsgjennomsnittet. Å blande de to gir stopper som ser strammere eller løsere ut enn tiltenkt. - Utførelser i backtest kontra utførelser live. ProBacktest registrerer idealiserte utførelsespriser. Utførelser live i ProOrder inkluderer slippage, så avstandsterskler kalibrert til tick kan oppføre seg annerledes i produksjon.
Relaterte instruksjoner
TRADEINDEX, barindeksen for en tidligere handel, samme indeksering som TRADEPRICE.POSITIONPRICE, den vektede gjennomsnittsprisen for den åpne posisjonen.POSITIONPERF, resultatet for den åpne posisjonen.LONGONMARKET, sann så lenge en long-posisjon er åpen.ONMARKET, sann så lenge en posisjon er åpen.BREAKEVEN, flytter stoppen eller målet til inngangsprisen.%TRAILING, trailing stop i prosent.CumulateOrders, lar flere innganger stables til én posisjon.