Bli medlem idag
ProBacktest/probacktest · proorder

BREAKEVEN

BREAKEVEN i ProOrder och ProBacktest flyttar en stop loss eller take profit till entrypriset. Används för att låsa in utfall utan förlust på vinstaffärer eller för att begränsa förluster på förlustaffärer.

Syntax

probuilder
SET STOP BREAKEVEN
probuilder
SET TARGET BREAKEVEN

Varianter

VariantSyfteNär den ska användas
SET STOP BREAKEVENFlyttar stop loss till entrypriset. Låser in ett utfall utan förlust på en vinstposition.Affären har gått gynnsamt och nedsiderisken bör tas bort.
SET TARGET BREAKEVENFlyttar take profit till entrypriset. Begränsar förluster genom att gå ur på noll om priset återhämtar sig.Affären har gått emot dig och målet är att komma ur på break-even.

Så fungerar det

På den bar där instruktionen körs uppdaterar ProOrder den aktiva ordern hos mäklaren. Från den punkten beter sig positionen som om stoppen eller targeten hade placerats på entrypriset från början. Om priset sedan korsar den nya nivån stängs positionen som vanligt.

Instruktionen påverkar bara den position som är öppen just nu. Den har ingen effekt när den anropas utan öppen position. Den skriver också över eventuell tidigare stop eller target på samma sida, så om den anropas två gånger i rad är det andra anropet det aktiva värdet.

Exempel

Exempel 1, Stop till breakeven på en long-position (ProOrder)

probuilder
IF longonmarket THEN
  IF high - tradeprice >= 10 * pointsize THEN
    SET STOP BREAKEVEN
  ENDIF
ENDIF

När longen har gått 10 punkter från entry flyttas stoppen upp till entrypriset. Detta är standardexemplet från den officiella referensen.

Exempel 2, Target till breakeven för att komma ur en förlorande long (ProOrder)

probuilder
IF longonmarket THEN
  IF tradeprice - low >= 10 * pointsize THEN
    SET TARGET BREAKEVEN
  ENDIF
ENDIF

Om long-positionen har rört sig 10 punkter mot dig blir take profit entrypriset, så strategin går ur på noll så snart priset återhämtar sig.

Exempel 3, Flytta till breakeven efter en R i vinst (ProOrder)

probuilder
// Risk per trade is 1.5 ATR. Promote stop to BE after 1.5 ATR of profit.
atr      = AverageTrueRange[14](close)
stopDist = 1.5 * atr

IF NOT onmarket THEN
  // ... entry conditions go here ...
  BUY 1 CONTRACT AT MARKET
  SET STOP LOSS stopDist
ENDIF

IF longonmarket AND (close - tradeprice) >= stopDist THEN
  SET STOP BREAKEVEN
ENDIF

Ett R-multipelbaserat sätt att hantera affärer. Stoppen flyttas till breakeven när affären har tjänat en full R i vinst. Återanvändbart över instrument eftersom allt storleksätts i ATR-enheter.

Vanliga fel och fallgropar

  • Anropad utanför en öppen position. SET STOP BREAKEVEN kräver onmarket = TRUE. Omslut alltid med IF longonmarket THEN ... ENDIF eller IF shortonmarket THEN ... ENDIF. Utan skyddet ger strategin ett körningsfel.
  • Felaktig parentesanvändning med $TRAILING och %TRAILING. BREAKEVEN och trailing stop-instruktionerna skriver över samma interna stopplats. Bara det senaste SET-anropet gäller. Att växla mellan dem från bar till bar leder till oavsiktligt beteende. Välj en flyttstrategi per affär.
  • Slippage vid breakeven-priset. I live-ProOrder exekveras stoppar som utlöses exakt vid entrypriset ofta en bråkdel under i snabba marknader, vilket ger en liten realiserad förlust. Backtester antar perfekta fills och överskattar den här teknikens effektivitet.
  • Backtest ser bra ut, live gör besviken. Aggressiv flytt till breakeven är det enskilt vanligaste mönstret som ser lysande ut i ProBacktest och underpresterar live, eftersom det kapar vinnarna för tidigt innan mean reversion mot trenden återupptas. Jämför alltid med och utan på samma data.
  • SET STOP LOSS, initial stopplacering.
  • SET TARGET PROFIT, initial take-profit-placering.
  • $TRAILING, trailing stop i punkter.
  • %TRAILING, trailing stop i procent.
  • TRADEPRICE, entrypriset för den nuvarande positionen.
  • LONGONMARKET, sant så länge en long-position är öppen.
  • SHORTONMARKET, sant så länge en short-position är öppen.
  • ONMARKET, sant så länge någon position är öppen.