Iscriviti ora
ProBacktest/probacktest · proorder

PRICE

PRICE colloca uno stop loss o un take profit a un livello di prezzo assoluto in ProBacktest e ProOrder tramite i comandi SET STOP PRICE e SET TARGET PRICE.

Sintassi

probuilder
SET STOP PRICE x
probuilder
SET TARGET PRICE x

Parametri

NomeTipoPredefinitoDescrizione
xespressione numericaobbligatorioIl livello di prezzo assoluto al quale viene collocato lo stop loss o il take profit.

Come funziona

La maggior parte dei membri delle famiglie stop e target esprime l'uscita come distanza dal prezzo medio di posizione, in punti (PLOSS, PPROFIT), percentuale (%LOSS, %PROFIT), o denaro ($LOSS, $PROFIT). La variante PRICE funziona diversamente: l'argomento è il prezzo esatto a cui si trova l'ordine di uscita, indipendentemente dal livello di ingresso della posizione. Questo è adatto alle strategie costruite su livelli grafici, come minimi di swing, estremi della sessione precedente o numeri tondi individuati in anticipo.

Il livello può essere un letterale o qualsiasi espressione numerica, quindi può essere ricalcolato barra per barra dai valori degli indicatori. Una volta impostato, il livello resta dov'è fino al successivo SET STOP o SET TARGET la chiamata la sostituisce; un livello assoluto non segue mai il mercato da solo.

La direzione conta. Per una posizione long lo stop va sotto il prezzo corrente e il target sopra; per una short i lati sono invertiti. Entrambe le istruzioni condividono lo stesso slot con le altre varianti della stessa famiglia, quindi la più recente SET STOP chiamata definisce lo stop e la più recente SET TARGET la chiamata definisce l'obiettivo.

Esempi

Esempio 1, Livelli di uscita fissi attorno a una posizione (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

I due livelli racchiudono una posizione long tra i prezzi assoluti 100 e 150, indipendentemente dall'esecuzione di ingresso. Queste sono le istruzioni di riferimento della documentazione originale con i commenti riscritti.

Esempio 2, Stop sotto uno 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

Invece di una distanza fissa, lo stop è ancorato a una struttura del grafico, lo swing low a 20 bar esistente al momento dell'ingresso, un livello con significato tecnico anziché un conteggio arbitrario di punti.

Esempio 3, Obiettivo al massimo della sessione precedente (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

L'ingresso viene preso solo mentre il prezzo rimane sotto il massimo di ieri, e il take profit si trova esattamente a quel livello, un obiettivo intraday comune.

Errori e insidie comuni

  • Livello dal lato sbagliato del mercato. Un prezzo di stop sopra il mercato su una posizione long, o un obiettivo sotto di esso, è incoerente con la posizione e può chiudere l'operazione immediatamente o essere rifiutato. Verifica i livelli calcolati rispetto al prezzo corrente prima di impostarli.
  • Inversione di direzione sulle posizioni short. Per le posizioni short lo stop va sopra il mercato e l'obiettivo sotto. Riutilizzare la logica dei livelli del lato long senza invertire il confronto colloca entrambe le uscite dal lato sbagliato.
  • I livelli statici non si muovono mai. A differenza delle varianti trailing, un livello assoluto rimane fisso finché il codice non emette un'altra chiamata SET. Ancorarlo a un indicatore richiede di rieseguire l'istruzione ogni volta che il livello deve aggiornarsi.
  • Sovrascritture dello slot. SET STOP PRICE sostituisce qualsiasi precedente PLOSS, %LOSS, $LOSS, trailing, o stop a breakeven, e SET TARGET PRICE sostituisce i target precedenti. Mescolare chiamate basate sulla distanza e chiamate basate sul prezzo lascia attiva solo la più recente.
  • STOP, panoramica della famiglia di istruzioni stop.
  • TARGET, panoramica della famiglia di istruzioni target.
  • PLOSS, stop loss come distanza in punti dall'ingresso.
  • PPROFIT, take profit come distanza in punti dall'ingresso.
  • %LOSS, stop loss come distanza percentuale.
  • %PROFIT, take profit come distanza percentuale.
  • BREAKEVEN, sposta lo stop o il target al prezzo di ingresso.
  • TRADEPRICE, prezzo di ingresso di un singolo ordine.
  • POSITIONPRICE, prezzo medio di ingresso della posizione aperta.
  • Lowest, valore minimo su un lookback, utile per stop su swing low.