Bli medlem i dag
ProBacktest/probacktest · proorder

TRADEPRICE

TRADEPRICE i ProBacktest og ProOrder returnerer utførelsesprisen for en tidligere handel. TRADEPRICE(1) er den siste. Syntaks, eksempler og fallgruver dekkes.

Syntaks

probuilder
TRADEPRICE
probuilder
TRADEPRICE(N)

Parametere

NavnTypeStandardBeskrivelse
Nheltall1Ordrens 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)

probuilder
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.5

TRADEPRICE(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)

probuilder
// Move the stop to entry after 20 points of open profit
IF longonmarket THEN
  IF close - tradeprice >= 20 * pointsize THEN
    SET STOP BREAKEVEN
  ENDIF
ENDIF

Formen 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)

probuilder
// Close the long if price drops 2 percent below the last entry
IF longonmarket AND close < TRADEPRICE(1) * 0.98 THEN
  SELL AT MARKET
ENDIF

Ved å 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. N teller 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 - tradeprice må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.
  • 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.