Bli medlem idag
ProBacktest/probacktest · proorder

PRICE

PRICE placerar en stop loss eller take profit på en absolut prisnivå i ProBacktest och ProOrder via kommandona SET STOP PRICE och SET TARGET PRICE.

Syntax

probuilder
SET STOP PRICE x
probuilder
SET TARGET PRICE x

Parametrar

NamnTypStandardBeskrivning
xnumeriskt uttryckobligatoriskDen absoluta prisnivå där stop loss eller take profit placeras.

Så fungerar det

De flesta medlemmarna i stop- och target-familjerna uttrycker exiten som ett avstånd från positionens genomsnittspris, i punkter (PLOSS, PPROFIT), procent (%LOSS, %PROFIT), eller kontant ($LOSS, $PROFIT). PRICE-varianten fungerar annorlunda: argumentet är det exakta pris där exitordern ligger, oberoende av var positionen togs. Det passar strategier byggda kring diagramnivåer, till exempel swing-bottnar, extremvärden från föregående session eller runda tal som identifierats i förväg.

Nivån kan vara en literal eller vilket numeriskt uttryck som helst, så den kan räknas om bar för bar från indikatorvärden. När den är satt stannar nivån där den är till nästa SET STOP eller SET TARGET anropet ersätter den; en absolut nivå följer aldrig marknaden av sig själv.

Riktningen spelar roll. För en long-position hör stoppen under det aktuella priset och målet över det; för en short är sidorna omvända. Båda instruktionerna delar plats med de övriga varianterna i samma familj, så den senaste SET STOP anropet definierar stoppet och den senaste SET TARGET anropet definierar målet.

Exempel

Exempel 1, Fasta exitnivåer runt en position (ProBacktest)

probuilder
// Exit at a loss if the market falls to 100
SET STOP PRICE 100

// Take profit if the market rises to 150
SET TARGET PRICE 150

De två nivåerna omsluter en long-position mellan de absoluta priserna 100 och 150, oavsett entryavslutet. Detta är referenssatserna från källdokumentationen med omskrivna kommentarer.

Exempel 2, Stop under en swing low (ProOrder)

probuilder
// Place the stop just below the lowest low of the last 20 bars
swingLow = lowest[20](low)

IF NOT onmarket AND close CROSSES OVER average[50](close) THEN
  BUY 1 CONTRACTS AT MARKET
  SET STOP PRICE swingLow
ENDIF

I stället för ett fast avstånd är stoppen förankrad i en diagramstruktur, den 20-bars swing low som fanns vid entrytillfället, en nivå med teknisk innebörd snarare än ett arbiträrt antal punkter.

Exempel 3, Mål vid föregående sessions högsta (ProOrder)

probuilder
// Aim an intraday long at yesterday's high
IF NOT onmarket AND close CROSSES OVER average[20](close) AND close < dhigh(1) THEN
  BUY 1 CONTRACTS AT MARKET
ENDIF

IF longonmarket THEN
  SET TARGET PRICE dhigh(1)
ENDIF

Entryt tas endast så länge priset ligger under gårdagens högsta, och take profit ligger exakt på den nivån, ett vanligt intraday-mål.

Vanliga fel och fallgropar

  • Nivå på fel sida av marknaden. Ett stoppris över marknaden på en long, eller ett mål under den, är inkonsekvent med positionen och kan stänga affären omedelbart eller avvisas. Validera beräknade nivåer mot det aktuella priset innan du sätter dem.
  • Omvänd riktning på shorts. För short-positioner hör stoppen ovanför marknaden och målet under. Att återanvända nivålogiken från long-sidan utan att vända jämförelsen placerar båda exiterna på fel sida.
  • Statiska nivåer flyttar sig aldrig. Till skillnad från trailing-varianter ligger en absolut nivå fast till dess att koden utfärdar ett nytt SET-anrop. Att förankra den i en indikator kräver att instruktionen körs om varje gång nivån ska uppdateras.
  • Överskrivning av platsen. SET STOP PRICE ersätter alla tidigare PLOSS, %LOSS, $LOSS, trailing eller breakeven-stop, och SET TARGET PRICE ersätter tidigare mål. Att blanda avståndsbaserade och prisbaserade anrop lämnar bara det senaste aktivt.
  • STOP, översikt över stop-instruktionsfamiljen.
  • TARGET, översikt över target-instruktionsfamiljen.
  • PLOSS, stop loss som ett punktavstånd från entryt.
  • PPROFIT, take profit som ett punktavstånd från entryt.
  • %LOSS, stop loss som ett procentuellt avstånd.
  • %PROFIT, take profit som ett procentuellt avstånd.
  • BREAKEVEN, flyttar stoppen eller målet till entrypriset.
  • TRADEPRICE, entrypris för en enskild order.
  • POSITIONPRICE, genomsnittligt entrypris för den öppna positionen.
  • Lowest, lägsta värdet över en lookback, användbart för stoppar vid swing-lows.