POINTVALUE
POINTVALUE restituisce il valore in denaro di un movimento di un punto per lo strumento corrente in ProBacktest e ProOrder, usato per il dimensionamento del rischio e la conversione del profitto.
Sintassi
POINTVALUECome funziona
POINTVALUE è una costante di mercato in sola lettura. Non accetta argomenti e restituisce il valore monetario, nella valuta dello strumento, di un movimento di prezzo di un punto per un contratto, lotto o azione dello strumento su cui gira la strategia. In ProBuilder è sinonimo di PIPVALUE.
La costante è definita dalla specifica del contratto e varia ampiamente tra i mercati. Un punto su un CFD su indice può valere 1 unità di valuta per contratto mentre un punto su un contratto futures ne vale 25, quindi le strategie che convertono tra punti e denaro devono leggere POINTVALUE a runtime anziché assumere un valore.
Due conversioni coprono la maggior parte degli usi. Da denaro a punti: dividi un profitto o una perdita per POINTVALUE (e per la position size quando l'importo riguarda più contratti). Da punti a denaro: moltiplica una distanza in punti per POINTVALUE e per il numero di contratti. Combinato con POINTSIZE, che misura quanto è grande un punto in unità di prezzo, questo rende l'aritmetica di profitto, rischio e dimensionamento portabile tra gli strumenti.
Esempi
Esempio 1, protezione giornaliera di profitti e perdite in punti (ProOrder)
once MaxProfit = 50 // daily profit objective in points
once MaxLoss = 40 // daily loss limit in points
// Reset the daily counter on a new day
if day <> day[1] then
strategyprofitpoint = 0
endif
// Convert each realized profit change into points
if (strategyprofit <> strategyprofit[1]) then
pnl = strategyprofit - strategyprofit[1]
size = max(1, abs(countofposition[1]))
onepos = pnl / size
pointprofit = onepos / pointvalue
strategyprofitpoint = strategyprofitpoint + pointprofit
endif
allowtrading = 1
if (strategyprofitpoint >= MaxProfit or strategyprofitpoint <= -MaxLoss) then
allowtrading = 0
endifOgni variazione del profitto realizzato è divisa per la position size e per POINTVALUE, trasformando il denaro in punti. Il trading è disabilitato per il resto della giornata quando il totale progressivo dei punti raggiunge uno dei due limiti giornalieri. Questo è l'esempio di riferimento della documentazione originale con i commenti riscritti.
Esempio 2, profitto latente della posizione aperta (ProBacktest)
// Unrealized profit converted from points into cash
IF onmarket THEN
floatingProfit = ((close - positionprice) / pointsize) * pointvalue * countofposition
ELSE
floatingProfit = 0
ENDIF
GRAPH floatingProfit AS "Open position profit"La distanza dall'ingresso medio è normalizzata in punti con POINTSIZE, poi convertita in denaro con POINTVALUE e scalata per la position size con segno.
Esempio 3, dimensionare i contratti da un budget di rischio in denaro (ProOrder)
// Size the trade so a 40 point stop risks about 150 in cash
riskCash = 150
stopPoints = 40
contracts = max(1, floor(riskCash / (stopPoints * pointvalue)))
IF NOT onmarket AND close CROSSES OVER average[20](close) THEN
BUY contracts CONTRACTS AT MARKET
ENDIF
SET STOP PLOSS stopPointsIl rischio in denaro di un contratto sulla distanza dello stop è stopPoints * pointvalue, quindi dividendo il budget per quel valore si ottiene il numero di contratti che mantiene il rischio quasi costante tra gli strumenti.
Errori e insidie comuni
- Valore per contratto. POINTVALUE descrive un solo contratto. Convertire il profitto di una posizione su più contratti richiede anche di dividere o moltiplicare per la position size, come nell'esempio di protezione giornaliera qui sopra.
- Confondere il valore con la dimensione. POINTVALUE è denaro, POINTSIZE è una distanza di prezzo. Usare l'uno al posto dell'altro produce risultati errati del rapporto tra i due, spesso di diversi ordini di grandezza.
- Dare per scontato il valore di un solo strumento. Una costante calibrata per un CFD su indice non ha senso su una coppia forex. Qualsiasi valore del punto fissato nel codice compromette silenziosamente la portabilità; leggi invece la parola chiave.
- Restrizione di ambito. La parola chiave si compila solo in ProBacktest e ProOrder. Indicatori e screener non possono accedere alle specifiche dei contratti e devono ricevere tali valori come input dell'utente.
Istruzioni correlate
PIPVALUE, sinonimo di POINTVALUE, il valore in denaro di un pip.POINTSIZE, la dimensione di un punto in unità di prezzo.PIPSIZE, la dimensione di un pip in unità di prezzo.TICKSIZE, il più piccolo incremento di prezzo negoziabile.STRATEGYPROFIT, profitto realizzato della strategia in denaro.COUNTOFPOSITION, la dimensione con segno della posizione aperta.POSITIONPRICE, il prezzo medio di ingresso della posizione aperta.GRAPH, traccia un valore nel pannello grafico del backtest.