Iscriviti ora
ProBacktest/probacktest · proorder

PLOSS

PLOSS imposta uno stop loss a un numero fisso di punti dal prezzo medio della posizione in ProBacktest e ProOrder, scritto come SET STOP PLOSS x in una strategia.

Sintassi

probuilder
SET STOP PLOSS x

Parametri

NomeTipoPredefinitoDescrizione
xintero o espressione numericaobbligatorioDistanza in punti tra il prezzo medio della posizione e il livello dello stop.

Come funziona

Quando l'istruzione viene eseguita, la strategia registra uno stop protettivo a x punti sul lato in perdita del prezzo medio di posizione, sotto l'ingresso per una posizione long e sopra per una short. Se il prezzo raggiunge quel livello, la posizione viene chiusa a mercato.

La distanza è ancorata a POSITIONPRICE, il prezzo medio di ingresso dell'intera posizione, non al prezzo dell'ultimo ordine. Quando la strategia aggiunge contratti a una posizione esistente, la media si sposta e il livello dello stop si sposta con essa alla valutazione successiva.

A SET STOP il comando resta attivo finché non viene sostituito. Non è necessario ripeterlo a ogni barra, anche se passare una variabile come x e rieseguire la riga permette alla distanza di adattarsi al cambiare delle condizioni. Tutte le varianti di stop condividono un unico slot interno, quindi chiamare SET STOP PLOSS dopo SET STOP %LOSS, SET STOP $LOSS, o una variante trailing sovrascrive semplicemente l'impostazione precedente.

Esempi

Esempio 1, ingresso su MACD con uno stop di 50 punti (ProOrder)

probuilder
myMACD = MACD[12,26,9](close)
long = myMACD CROSSES OVER 0

IF NOT LongOnMarket AND long THEN
  BUY 1 CONTRACTS AT MARKET
ENDIF

// Stop loss 50 points from the average position price
SET STOP PLOSS 50

Una posizione long si apre quando il MACD incrocia sopra lo zero, e la posizione è protetta da uno stop 50 punti sotto il prezzo medio di ingresso. Questo è l'esempio di riferimento della documentazione originale con i commenti riscritti.

Esempio 2, stop basato sui punti su una posizione short (ProBacktest)

probuilder
short = close CROSSES UNDER average[100](close)

IF NOT shortonmarket AND short THEN
  SELLSHORT 1 CONTRACTS AT MARKET
ENDIF

// Stop 30 points above the average short entry price
SET STOP PLOSS 30

Per una posizione short la stessa istruzione posiziona lo stop sul lato opposto, 30 punti sopra l'ingresso medio, chiudendo l'operazione se il prezzo sale fino a quel livello.

Esempio 3, distanza dello stop scalata sulla volatilità (ProOrder)

probuilder
// Convert an ATR distance in price units into whole points
atr = AverageTrueRange[14](close)
stopPoints = max(10, round((2 * atr) / pointsize))

IF NOT onmarket AND close > highest[20](high[1]) THEN
  BUY 1 CONTRACTS AT MARKET
ENDIF

SET STOP PLOSS stopPoints

La distanza dello stop segue la volatilità, due ATR convertiti in punti con un minimo di 10 punti, così i mercati tranquilli ottengono stop stretti e i mercati volatili hanno spazio per respirare.

Errori e insidie comuni

  • Ancorato alla media, non all'ultima esecuzione. Dopo un piramidamento o una mediazione al ribasso, lo stop è misurato dal nuovo POSITIONPRICE. Uno stop che sembrava sicuro rispetto al primo ingresso può trovarsi molto più vicino al mercato, o molto più lontano, di quanto previsto.
  • Un solo slot di stop. PLOSS, %LOSS, $LOSS, BREAKEVEN, e tutte le varianti trailing scrivono sullo stesso stop interno. Solo il più recente SET STOP la chiamata è attiva, quindi alternare le varianti a ogni bar causa uscite irregolari.
  • I punti non sono contanti né percentuali. x è un numero di punti. Usa SET STOP %LOSS per una distanza percentuale e SET STOP $LOSS per un importo in denaro. Passare una cifra in denaro a PLOSS su uno strumento con una dimensione del punto piccola produce uno stop assurdamente ampio.
  • Esecuzioni ideali nei backtest. ProBacktest esegue lo stop esattamente al livello calcolato. L'esecuzione reale può oltrepassarlo in caso di gap o di mercati veloci, quindi le perdite effettive possono superare il x punti.
  • %LOSS, stop loss come percentuale del prezzo della posizione.
  • $LOSS, stop loss come importo in contanti.
  • PPROFIT, take profit in punti, l'istruzione speculare.
  • %PROFIT, take profit in percentuale.
  • BREAKEVEN, sposta lo stop o il target al prezzo di ingresso.
  • PTRAILING, trailing stop espresso in punti.
  • POSITIONPRICE, il prezzo medio di ingresso da cui si misura la distanza.
  • POINTSIZE, la dimensione di un punto in unità di prezzo.
  • STOP, panoramica della famiglia di istruzioni stop.