Bli medlem i dag
ProBacktest/probacktest · proorder

POSITIONPERF

POSITIONPERF returnerer prosentvis avkastning for en åpen eller lukket posisjon i ProBacktest og ProOrder. PositionPerf(0) leser den gjeldende åpne handelen.

Syntaks

probuilder
PositionPerf(N)

Parametere

NavnTypeStandardBeskrivelse
Nheltall0Posisjonsindeks. 0 leser den posisjonen som er åpen nå. En verdi større enn 0 leser den N-te sist lukkede posisjonen, så 1 er den siste lukkede handelen.

Slik fungerer det

POSITIONPERF måler hvor godt én enkelt posisjon gjorde det, uttrykt som forholdet mellom gevinsten eller tapet og kostnaden. En verdi på 0.05 svarer til en gevinst på 5 prosent og -0.02 til et tap på 2 prosent, så multipliser med 100 når det trengs et prosenttall for visning.

Indeksargumentet velger hvilken posisjon som skal evalueres. Med N = 0, eller med argumentet utelatt, rapporterer funksjonen den løpende avkastningen til posisjonen som er åpen. Med N > 0 den går bakover gjennom lukkede handler, PositionPerf(1) som den siste utgangen, PositionPerf(2) den før den, og så videre. Det gjør den til den naturlige byggesteinen for logikk handel for handel, som taperekker eller ytelsesfiltre.

Beregningen er brutto. Meglergebyrer, spread modellert som kostnader og finansiering er ikke trukket fra, så live nettoresultater er lavere enn råverdiene. For det kumulative kontantresultatet for hele strategien, bruk STRATEGYPROFIT i stedet; POSITIONPERF beskriver alltid én posisjon om gangen.

Eksempler

Eksempel 1, Lese den sist lukkede handelen (ProBacktest)

probuilder
// Gain-to-cost ratio of the most recently closed position
positionPerformance = PositionPerf(1)
GRAPH positionPerformance * 100 AS "Last trade performance in percent"

Henter avkastningen for den siste fullførte handelen og plotter den som prosent. Dette er referanseeksempelet fra kildedokumentasjonen med en visningslinje lagt til.

Eksempel 2, Nødutgang ved drawdown på åpen handel (ProOrder)

probuilder
// Close a long when the open position loses more than 2 percent
IF longonmarket AND positionperf(0) < -0.02 THEN
  SELL AT MARKET
ENDIF

Den åpne posisjonen overvåkes bar for bar og forlates så snart den løpende avkastningen faller under -0.02, en prosentbasert sikkerhetsutgang som virker uavhengig av enhver punktbasert stop.

Eksempel 3, Redusere størrelsen etter to tap på rad (ProOrder)

probuilder
// Halve exposure after two losing trades in a row
baseSize = 4
IF positionperf(1) < 0 AND positionperf(2) < 0 THEN
  tradeSize = max(1, baseSize / 2)
ELSE
  tradeSize = baseSize
ENDIF

IF NOT onmarket AND close CROSSES OVER average[50](close) THEN
  BUY tradeSize CONTRACTS AT MARKET
ENDIF

De to siste lukkede handlene inspiseres før hver inngang. Etter to tap på rad handler strategien med halv størrelse til en handel lukkes positivt.

Vanlige feil og fallgruver

  • Forholdstall, ikke prosent. Funksjonen returnerer et forholdstall, så en gevinst på 3 prosent leses som 0.03. Sammenligning mot hele tall som positionperf(0) > 3 utløses nesten aldri. Multipliser med 100 kun for visning.
  • Brutto før kostnader. Gebyrer og kommisjoner er ikke inkludert, så en handel som viser seg som svakt positiv kan være et netto tap i live handel. Terskler nær null er mest utsatt.
  • Ingen åpen posisjon. Uten noe i markedet er avlesningen ved indeks 0 meningsløs for beslutningslogikk. Sikre avlesninger av positionperf(0) med ONMARKET, LONGONMARKET, eller SHORTONMARKET.
  • Virkeområde per posisjon. POSITIONPERF aggregerer aldri. Å summere resultater på kontonivå ved å løkke over indekser er skjørt; STRATEGYPROFIT gir allerede det kumulative kontantbeløpet.
  • STRATEGYPROFIT, akkumulert realisert gevinst for strategien i kontanter.
  • POSITIONPRICE, den gjennomsnittlige inngangsprisen for den åpne posisjonen.
  • TRADEPRICE, inngangsprisen for enkeltordrer.
  • TRADEINDEX, barindeksen der en ordre ble utført.
  • COUNTOFPOSITION, størrelsen på den åpne posisjonen med fortegn.
  • ONMARKET, sann så lenge en posisjon er åpen.
  • LONGONMARKET, sann så lenge en long-posisjon er åpen.
  • SELL, lukker en long-posisjon.