Prezzo per pip - pagina 2

 

LEHayes, va bene se ignori completamente il mio post. Non ho altro che rispetto per la tua esperienza, ma a volte anche i più intelligenti possono perdere qualcosa. Il tuo problema assomiglia molto a TickValue, ed è per questo che te lo chiedo. Questa è la migliore spiegazione che posso trovare che assomiglia al tuo problema. Dal libro, forse questo può aiutare:

La dimensione di un lotto standard per lo stesso simbolo può variare in diversi centri di negoziazione. <br / translate="no"> La quantità richiesta di beni liberi per aprire un ordine di un lotto è inversamente proporzionale alla quantità di leva fornita. Allo stesso tempo, il costo di 1 punto nella valuta di deposito per un simbolo non si riferisce alla leva fornita.

Tabella 3. Possibili combinazioni del costo di 1 lotto e del costo di 1 punto (la valuta di deposito è il dollaro USA).
Centro di negoziazione 1 Centro di negoziazione 2 Centro di negoziazione 3
Comprare Vendere 1 punto Comprare Vendere 1 punto Comprare Vendere 1 punto
EUR/USD 1296,40 1296,20 10,00 1296,50 1296,20 10,00 1000,00 1000,00 10,00
GBP/USD 1966,20 1966,00 10,00 1376,48 1376,20 7,50 1000,00 1000,00 10,00
AUD/USD 784,40 784,20 10,00 1569,20 1568,40 20,00 1000,00 1000,00 10,00
USD/JPY 1000,00 1000,00 8,29 1000,00 1000,00 8,29 1000,00 1000,00 8,29
USD/CHF 1000,00 1000,00 8,02 1000,00 1000,00 8,02 1000,00 1000,00 8,02
EUR/CHF 1296,40 1296,20 8,02 1296,35 1296. 35 8.02 1000.00 1000.00 8.02

I prezzi sono dati al 16.12.2007.

Consideriamo brevemente alcuni metodi comuni per calcolare il costo di 1 lotto e di 1 punto.

Centro di negoziazione 1 (il più comune)

Per i simboli che hanno USD reciprocamente, il costo di 1 lotto è pari al prezzo corrente della quotazione bidirezionale corrispondente moltiplicato per 1000, mentre il costo di 1 punto è pari a 10$.

Per i simboli che hanno USD come numeratore, il costo di 1 lotto è pari a $1000,00, mentre il costo di 1 punto è inversamente proporzionale alla quotazione corrente e pari a 1/(Bid). Ad esempio, per USD/CHF, a Bid= 1,2466, il costo di 1 punto è 1/1. 2466 = 8,02.

Per i tassi incrociati, il costo di 1 lotto è calcolato come quello della valuta numeratrice, mentre il costo di 1 punto è calcolato come quello della valuta denominatrice. Ad esempio, per EUR/CHF, il costo di 1 lotto è 129,40 (come per EUR/USD), mentre il costo di 1 lotto è 8,02 (come per USD/CHF).

Centro di negoziazione 2

In alcuni centri di negoziazione, considerando la stessa regola di calcolo dei costi, i valori dei costi possono essere diversi per alcuni simboli. Per esempio, il costo di 1 lotto e il costo di 1 punto possono essere proporzionalmente aumentati o diminuiti. Per esempio, questo fattore può essere 0,75 per GBP/USD, mentre è 2,0 per AUD/USD. Tale rappresentazione dei valori di costo non comporta alcun cambiamento economico; in questi casi, devi solo considerare questa caratteristica speciale quando calcoli i costi dei tuoi ordini. Dovresti anche prestare attenzione al fatto che i costi di 1 lotto per l'acquisto e la vendita di asset a tassi incrociati sono gli stessi.

Centro di negoziazione 3

ci sono anche centri di negoziazione che fissano il costo di 1 lotto a $1000.00 per qualsiasi simbolo. Allo stesso tempo, il costo di 1 punto rimane proporzionale ai prezzi correnti. Ciò implica l'impostazione di una leva speciale per ogni simbolo. Il costo di 1 punto di tutti i simboli che non sono quotati in relazione all'USD cambia sempre proporzionalmente al costo del simbolo specificato reciprocamente.

In generale, possono esistere altri principi di costruzione dei valori di costo. Non c'è bisogno di dire che, prima di iniziare il trading reale, dovreste scoprire il metodo di calcolo per ogni specifico centro di negoziazione e considerare questo metodo nella vostra codifica.

Cordiali saluti

 
engcomp:

Non sono sicuro di come prendere questo. È al limite del fastidioso.

LEHayes, se dai un'occhiata vedrai che la "dimensione dello stop loss" è uno degli input, NON quello che lo script cerca di determinare.

Inoltre, lo script non "tenta di" ma determina la dimensione del lotto in base allo stop loss e alla percentuale di rischio che tu determini.

Infine, il valore del tick che restituisce è nella valuta del conto. Tradurlo nella vostra valuta dipende da voi.



Scusate, vedo ora che lo Stop loss non è stato utilizzato nel calcolo.

Ho l'impressione che TICKVALUE non sia una fonte affidabile per determinare il valore effettivo di un pip. Questo è un po' uno dei motivi per cui sono restio a usare TICKVALUE. Mi è stato detto che salta o può cambiare. L'unica cosa che il tuo codice ha fatto con TICKVALUE è stato determinare se avevi bisogno di calcolarlo contro 10 per la situazione della cifra extra, giusto? Facendo riferimento a questo:

   double tickvalue = (MarketInfo(Symbol(),MODE_TICKVALUE));
   if(Digits == 5 || Digits == 3){
      tickvalue = tickvalue*10;
   }

Quindi, in breve, si potrebbe dire che il TICKVALUE è lo stesso del Pip Value o del Price Per Pip. Se sono preoccupato che il valore salti, allora forse dovrei controllare la validità del valore prima di assumerlo in un calcolo giusto, o usare un altro metodo per ottenere il Prezzo per Pip.

Penso che una delle ragioni per cui sto frustrando la gente è perché ci sono diversi termini per descrivere la stessa cosa in questo maket. Valore del pip, prezzo per pip, tickvalue, ecc. Forse un libro sui sinonimi in questo mercato sarebbe utile ;-)

 
LEHayes:

CB, questo è il motivo per cui sono tornato ad andare alla radice di questo. Quando faccio la ricerca come suggerisci tu, ci sono più di 2800 threads solo sul forum, in qualche modo legati a questo. Ho letto dei thread su una controversia sul fatto che un tick sia effettivamente un pip o che debba essere trattato diversamente perché un tick è quando il broker sceglie di aggiornare il tuo MT4, non stabilisce che un tick sia un aggiornamento ogni pip. Quindi l'argomentazione prosegue affermando che si tratta di una fonte non affidabile per ottenere un valore di pip.

Non so se questo aiuta, ma...

  • Quasi tutti sono d'accordo che un "pip" è un'unità di movimento del prezzo. Possono non essere d'accordo sulla dimensione - ad esempio se un pip su EURUSD è 0,0001 o 0,00001 - ma il termine è abbastanza univoco.
  • "Tick" è ampiamente usato per significare due cose diverse: o lo stesso di "pip", o il significato molto diverso di "evento di mercato" come "30 tick al minuto". Alcune persone cercano di insistere che "tick" sia riservato a quest'ultimo significato, ma stanno combattendo una battaglia persa. Per dirla in un altro modo, MODE_TICKSIZE e MODE_TICKVALUE di MT4 sarebbero leggermente meno controversi se si chiamassero MODE_PIPSIZE e MODE_PIPVALUE.

 
gordon:
Prezzo per punto o prezzo per punto? Se il primo, allora questo è rilevante -> https://www.mql5.com/en/forum/124692, discute come determinare la dimensione del pip (in punti) per un simbolo...


Se metto un EA su EURUSD, e il prezzo si muove da 1,1234 a 1,1235, voglio sapere il valore in denaro di quel singolo movimento. So che ci sarà bisogno della leva finanziaria in questo calcolo, e della dimensione del lotto, ma possiamo impostare la dimensione del lotto su uno standard di 1 allo scopo di determinare il valore del pip, per poi calcolarlo successivamente rispetto ai mini o micro, ecc.

Onestamente, ragazzi, non sto cercando di essere complicato e sto cercando di scrivere il più direttamente possibile. Spero di non torking qualcuno fuori.

 
LEHayes:


Mi dispiace per questo, vedo ora che lo Stop loss non è stato utilizzato nel calcolo.

Ho l'impressione che TICKVALUE non sia una fonte affidabile per determinare il valore reale di un pip. Questa è una delle ragioni per cui sono timido nell'usare il TICKVALUE. Mi è stato detto che salta o può cambiare. L'unica cosa che il tuo codice ha fatto con TICKVALUE è stato determinare se era necessario calcolarlo contro 10 per la situazione della cifra extra, giusto? Facendo riferimento a questo:

Quindi, in breve, si potrebbe dire che il TICKVALUE è lo stesso del Pip Value o del Price Per Pip. Se sono preoccupato che il valore salti, allora forse dovrei controllare la validità del valore prima di assumerlo in un calcolo giusto, o usare un altro metodo per ottenere il Prezzo per Pip.

Penso che una delle ragioni per cui sto frustrando la gente è perché ci sono diversi termini per descrivere la stessa cosa in questo maket. Valore del pip, prezzo per pip, tickvalue, ecc. Forse un libro sui sinonimi in questo mercato sarebbe utile ;-)

E dall'articolo


Definiamo NominalPipValue come il valore di un singolo pip in valuta di deposito quando Volume=1.00.
NominalPipValue può essere calcolato conoscendo il tasso di cambio attuale della coppia scelta.

Diciamo che state negoziando EURUSD su un conto standard con leva 1:100. Se la vostra valuta di deposito è USD, allora NominalPipValue sarà sempre 10$, indipendentemente dal tasso di cambio.
Se la vostra valuta di deposito è EUR, allora dovete considerare il tasso di cambio, più precisamente l'inverso del tasso di cambio.

NominalPipValue = (10 / tasso di cambio)

Se l'attuale tasso di cambio EURUSD è per esempio 1,3333 allora si avrà:

NominalPipValue = (10$ / 1.3333) = 7.519 EUR

Come potete vedere è abbastanza facile. Le cose diventano più complicate quando negozi una coppia come USDCHF e la tua valuta di deposito è in EUR o GBPJPY e la tua valuta di deposito è o EUR o USD. Infatti in questi casi devi prendere in considerazione un doppio tasso di cambio.

Fortunatamente non abbiamo bisogno di farlo perché MetaTrader ha una funzione specifica che ci dice facilmente NominalPipValue:

NominalPipValue = MarketInfo(Symbol(),MODE_TICKVALUE) (6)

Questo funzionerà qualunque coppia stiate negoziando e qualunque sia la vostra valuta di deposito... anche troppo facile ora :)

ATTENZIONE: NominalPipValue cambia con i tassi di cambio quindi il suo valore all'apertura dell'ordine è diverso da quello alla chiusura dell'ordine. I profitti/perdite effettivi sono calcolati utilizzando il tasso di cambio alla chiusura dell'ordine.

Purtroppo non conosciamo questo valore nel momento in cui apriamo l'ordine... comunque per variazioni di tasso di cambio nell'ordine del tipico SL la differenza di NominalPipValue all'apertura e alla chiusura della posizione è abbastanza piccola da essere ignorata ai fini del nostro calcolo (meno dell'1% per SL <= 100pips).

A questo punto sappiamo che quando compriamo/vendiamo 1.00 Lotti PipValue è uguale a NominalPipValue. Più in generale possiamo dire:

1.00 / NominalPipValue = X / PipValue (7)

dove "X" è il numero di lotti da scambiare.
Estraiamo X dall'equazione (7) trasformandola in:

X = PipValue / NominalPipValue (8)

Bene, abbiamo raggiunto il nostro obiettivo. Ora sappiamo come convertire il capitale di rischio in lotti!!!

Questo può essere altrimenti di uso per i newbs / qualcuno...

 
cameofx:

LEHayes, va bene se ignori completamente il mio post. Non ho altro che rispetto per la tua esperienza, ma a volte anche i più intelligenti possono perdere qualcosa. Il tuo problema assomiglia molto a TickValue, ed è per questo che te lo chiedo. Questa è la migliore spiegazione che posso trovare che assomiglia al tuo problema. Dal Libro, forse questo può aiutare:

Cordiali saluti


Sì, questo è il calcolo che sto cercando. Determinare 1 punto di movimento. Hai ragione, ora quello che mi confonde è come scrivere questo nella funzione di determinazione di questo valore. Abbiamo una condizione in cui l'USD è un numeratore, un demonatore o si tratta di situazioni a coppie incrociate. È qui che mi confondo.
 
jjc:

Non so se questo aiuta, ma...

  • Quasi tutti sono d'accordo che un "pip" è un'unità di movimento del prezzo. Possono non essere d'accordo sulla dimensione - ad esempio se un pip su EURUSD è 0,0001 o 0,00001 - ma il termine è abbastanza univoco.
  • "Tick" è ampiamente usato per significare due cose diverse: o lo stesso di "pip", o il significato molto diverso di "evento di mercato" come "30 tick al minuto". Alcune persone cercano di insistere che "tick" sia riservato a quest'ultimo significato, ma stanno combattendo una battaglia persa. Per dirla in un altro modo, MODE_TICKSIZE e MODE_TICKVALUE di MT4 sarebbero leggermente meno controversi se si chiamassero MODE_PIPSIZE e MODE_PIPVALUE.


Ed è proprio questo che mi porta alle mie preoccupazioni. La tua dichiarazione su Tick.
 
cameofx:

E dall'articolo

Questo può essere altrimenti di uso per newbs / qualcuno...


Sì, questo è anche quello che sto cercando. Penso che i due articoli dicano la stessa cosa. Quindi, fondamentalmente, da questo articolo posso assumere con sicurezza che TICKVALUE è PipValue o Price Per Pips. Il salto o il cambiamento di questo valore può essere dovuto a calcoli al volo che coinvolgono il tasso di cambio. Dovrei aspettarmi delle fluttuazioni.

Scusate ragazzi se è così semplice, sono veramente dispiaciuto per aver causato un tale putiferio.

 

Grazie a tutti voi per avermi fatto passare attraverso la mia testa dura. per qualche ragione, avevo capito che TICKVALUE era inaffidabile.

 
LEHayes:

Grazie a tutti voi per avermi fatto entrare nella mia testa dura. per qualche ragione, avevo capito che TICKVALUE era inaffidabile.

TICKVALUE, se usato da solo, può essere inaffidabile.

Se esaminate TV e TS ogni tick vedrete normalmente qualcosa del genere:

1 0.0001

1 0.0001

1 0.0001

1 0.0001

Tuttavia, solo occasionalmente si può vedere qualcosa di simile a questo:

1 0.0001

1 0.0001

2 0.0002

1 0.0001

Ecco perché dirò (ancora una volta) che TICKVALUE e TICKSIZE dovrebbero essere usati come rapporto. TV/TS è la formula che vi darà quello che state cercando.

CB