Bli medlem idag
ProBacktest/probacktest · proorder

Set Target Loss

Set Target Loss placerar exitmålet på ett förlustavstånd från entry i ProBacktest och ProOrder, i punkter, procent, valuta eller prisenheter. Syntax och användning.

Syntax

probuilder
SET TARGET PLOSS x
SET TARGET %LOSS x
SET TARGET $LOSS x
SET TARGET LOSS x

Observera: syntaxblocket på källsidan listar PROFIT-enhetsstavningar, ett redigeringsfel som inte stämmer med dess egen parameterlista och exempel. Formerna ovan följer enhetsdefinitionerna och den SET TARGET PLOSS exemplet som ges i källtexten.

Parametrar

NamnTypStandardBeskrivning
xtalingenFörlustavstånd mellan entrypriset och målet, i den enhet som varianten anger, punkter, procent, kontovaluta eller prisenheter.

Så fungerar det

En normal SET TARGET PROFIT placerar exitmålet på vinstsidan av entryn. Set Target Loss inverterar det: målet ligger på ett förlustavstånd från entryn, under den för en long-position och över den för en short. Affären stängs då med en liten, vald förlust om priset återhämtar sig till den nivån, i stället för att vänta på en hel resa tillbaka till breakeven eller längre.

Kommandot är en generalisering av SET TARGET BREAKEVEN, vilket är specialfallet att gå ur vid exakt noll. Set Target Loss tar i stället emot ett kontrollerat negativt belopp, vilket är användbart för att komma ur en affär som har gått hårt emot positionen: varje rekyl som återtar en del av drawdown stänger affären innan rörelsen kan fortsätta.

Tidpunkten är den avgörande detaljen, speglad från Set Stop Profit. Ett mål på förlustsidan av entryn är bara meningsfullt så länge priset ligger bortom det, det vill säga så länge den öppna förlusten överstiger x. Anropas det för tidigt ligger målet på fel sida av det aktuella priset och positionen stängs omedelbart till rådande marknadspris. Instruktionen hör därför bakom ett villkor som kontrollerar både att en position är öppen och att den öppna förlusten är tillräcklig.

Exempel

Exempel 1, Ta sig ur en förlorande long vid tio punkter (ProOrder)

probuilder
// after 20 points of drawdown, exit on any bounce at a 10-point loss
IF longonmarket AND tradeprice - close >= 20 * pointsize THEN
  SET TARGET PLOSS 10
ENDIF

Så snart long-positionen ligger 20 punkter under vatten flyttas exitmålet till 10 punkter under entry. SET TARGET PLOSS 10 anropet är exemplet från den officiella referensen, inlindat i de nödvändiga skydden; en återhämtning av halva drawdown stänger nu affären med en begränsad förlust.

Exempel 2, Procentbaserad utgångsnivå (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

IF NOT onmarket AND close CROSSES OVER Average[50](close) THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP %LOSS 3
ENDIF

// two percent against the position: aim to get out at a one percent loss
IF longonmarket AND close <= tradeprice * 0.98 THEN
  SET TARGET %LOSS 1
ENDIF

Affären startar med en vid stop på 3 procent. Efter en negativ rörelse på 2 procent flyttas målet till förlustnivån på 1 procent, så en partiell återhämtning avslutar affären långt före stoppen.

Exempel 3, Stegvisa utgångsnivåer i prisenheter (ProBacktest)

probuilder
// deepen the accepted exit loss as the drawdown grows
IF shortonmarket THEN
  drawdown = close - tradeprice
  IF drawdown >= 100 THEN
    SET TARGET LOSS 50
  ELSIF drawdown >= 50 THEN
    SET TARGET LOSS 20
  ENDIF
ENDIF

För en short-position ligger förlustsidan över entryn. Den accepterade exitförlusten vidgas i steg med drawdown, 20 prisenheter efter en rörelse på 50 enheter, 50 enheter efter en rörelse på 100 enheter, ordnade med störst först så att den djupaste nivån förblir aktiv.

Vanliga fel och fallgropar

  • Anropad innan förlusten finns. Om den öppna förlusten är mindre än x ligger målet på fel sida av det aktuella priset och positionen stängs omedelbart. Kombinera alltid kommandot med ett villkor på drawdown, till exempel tradeprice - close >= threshold för en long.
  • En target-plats. Set Target Loss skriver till samma interna mål som SET TARGET PROFIT och SET TARGET BREAKEVEN. Det senaste anropet vinner, så ett senare vinstmål förkastar tyst escape-nivån.
  • Enheter blandas ihop mellan varianterna. PLOSS är punkter, %LOSS procent, $LOSS kontovaluta, LOSS prisenheter. På instrument där punktstorlek och prisenhet skiljer sig placerar den felaktiga varianten nivån långt från det avsedda priset.
  • Stavfel i källans syntax. Referensen uppströms skriver PROFIT-stavningar i sitt syntaxblock samtidigt som den beskriver förlustenheter. LOSS-stavningarna som visas ovan stämmer med parameterdefinitionerna och det genomgångna exemplet.
  • Set Stop Profit, det spegelvända kommandot, en stop placerad på ett vinstavstånd.
  • SET, prefix för alla deklarationer för orderhantering.
  • TARGET, exitmålssidan av SET-instruktionen.
  • PLOSS, förlustavstånd mätt i punkter.
  • %LOSS, förlustavstånd mätt i procent.
  • $LOSS, förlustavstånd mätt i kontovalutan.
  • LOSS, förlustavstånd mätt i prisenheter.
  • BREAKEVEN, går ur på exakt noll, specialfallet av det här kommandot.
  • TRADEPRICE, entrypriset för den nuvarande positionen.