Prezzo per pip - pagina 4

 

Mi è capitato che un broker aggiungesse un apostrofo ai simboli su cui aveva abilitato l'esecuzione immediata. Questo è successo durante un fine settimana ed è stato abbastanza difficile da individuare - soprattutto perché hanno anche mantenuto i vecchi nomi dei simboli solo per la Market Execution.

CB

 
cloudbreaker:

Mi è capitato che un broker aggiungesse un apostrofo ai simboli su cui aveva abilitato l'esecuzione immediata. Questo è successo durante un fine settimana ed è stato abbastanza difficile da individuare - soprattutto perché hanno anche mantenuto i vecchi nomi dei simboli solo per l'esecuzione di mercato.

Cosa intendi per'Instant Execution'? (è implicito che non è la stessa cosa di 'Market Execution')...
 

Non sarebbe più semplice usare Symbol() in tutti i riferimenti al simbolo, quindi anche se il server del broker ha EURUSD inserito come mooncheese non ha importanza finché l'EA sa anche che EURUSD si chiama mooncheese

 

Ho notato che mt4 si riferisce ad esso come valore di tick, questo significa che un tick è sempre uguale ad un pip? Pensavo che la dimensione del tick potesse variare e questo mi porta ad un'altra domanda, mi è stato detto che non è possibile fare trading sui volumi in mt4 in quanto tutti i volumi contano il numero di tick per barra, ma se ogni tick è uguale ad un pip allora è sicuramente possibile fare trading sui volumi in quanto questo significherebbe che il server dovrebbe inviare un nuovo tick ogni volta che il prezzo cambia di 1 pip quindi quando c'è un sacco di trading in corso e il prezzo cambia rapidamente i volumi sarebbero alti e mostrerebbero il livello di attività di trading giusto?

 
SDC:

Ho notato che mt4 si riferisce ad esso come valore di tick, questo significa che un tick è sempre uguale ad un pip? [...]

Cos'è un TICK?

https://www.mql5.com/en/forum/126023

 
SDC:

Non sarebbe più semplice usare Symbol() in tutti i riferimenti al simbolo, quindi anche se il server del broker ha EURUSD inserito come mooncheese non ha importanza finché l'EA sa anche che EURUSD si chiama mooncheese


Questo è ciò che fa il mio codice, non so da dove venga la confusione. Mancanza di comunicazione da parte mia da qualche parte, immagino.
 

Ho letto quel thread prima del suo pieno di informazioni contraddittorie.

BarrowBoy - un cambiamento di offerta e/o richiesta

Rosh - un evento di "nuovo prezzo

kminler - ogni tick rappresenta un trade chiuso

puncher - un tick è un pip

Dopo aver letto altri thread e discussioni sui tick sono giunto alla conclusione che un tick non ha un valore specifico in quanto tutto ciò che contiene è una nuova offerta e una nuova richiesta, che potrebbe essere 1 pip diverso dall'ultimo tick, nessun pip diverso o diversi pip di differenza, quindi in sé il tick non porta alcuna differenza di prezzo, solo un nuovo prezzo.

Ma ora ho indagato su come calcolare il valore di un pip e mi sono imbattuto in MarketInfo MODE_TICKVALUE che sembra essere un valore statico impostato, questo di per sé contraddice ciò che la maggior parte delle persone sembrano dire su un tick, che trasmette semplicemente un cambiamento di prezzo, nessun importo specifico, quindi come può esserci una cosa come MODE_TICKVALUE non ha alcun senso a meno che la maggior parte delle persone si sbagli e 1 tick ha in realtà un valore specifico pari a 1 pip, il mio problema è la mancanza di un'adeguata documentazione, come si può scoprire cosa è giusto e cosa è sbagliato, i thread dei forum contengono alcune informazioni, molte delle quali basate su opinioni o supposizioni piuttosto che su fatti, che nella maggior parte delle circostanze non hanno importanza, ma quando si cerca di scrivere un programma basato su informazioni così sommarie e contraddittorie, la vita diventa molto difficile

 
SDC:

Ho letto quel thread prima del suo pieno di informazioni contraddittorie. [...]

Scusa, non volevo confonderti. Quel thread, per sua natura, costruisce lentamente il quadro generale (e include molte opinioni, alcune delle quali non sono del tutto accurate). La linea di fondo è questa: un Tick è un cambiamento in uno qualsiasi dei 28 identificatori di informazioni di mercato (disponibili tramite la funzione MarketInfo()). Compromette anche l'"evento" che chiama la funzione start() (per il simbolo a cui l'EA è collegato).


Purtroppo, la denominazione di MODE_TICKSIZE e MODE_TICKVALUE aggiunge una seconda definizione di Tick (che presumo sia la fonte della confusione...). La definizione di Tick in questo contesto è: un Tick è la più piccola variazione di prezzo possibile per il simbolo in questione:

  • MODE_TICKSIZE - la dimensione di questo cambiamento in termini di prezzo (la documentazione dichiara "Tick size in points", ma questo è ovviamente impreciso).
  • MODE_TICKVALUE - il valore di questo cambiamento nella valuta di deposito del conto (questo è calcolato lato server dal broker).

Commenti:

  1. Un 'Punto' (MODE_POINT) è il più piccolo cambiamento di prezzo possibile sulla dimensione sinistra del punto decimale per il simbolo in questione. Questo NON è lo stesso di MODE_TICKSIZE. Tecnicamente: MODE_TICKSIZE>=MODE_POINT, anche se quasi sempre sono uguali.
  2. Un "Pip" è una convenzione, qualcosa su cui siamo tutti d'accordo. Non è una proprietà matematica del simbolo o una proprietà del server MT4. Così per esempio - con un broker a 4 cifre per EURUSD un Pip è 1 Punto, ma per un broker a 5 cifre un Pip è 10 Punti...
  3. C'è una buona discussione su come determinare automaticamente la dimensione di un Pip in punti qui -> https://www.mql5.com/en/forum/124692.
  4. MODE_TICKSIZE può variare, anche se è estremamente raro (Point invece è fisso). CB ha un metodo per gestire questi cambiamenti qui -> https://www.mql5.com/en/forum/109552/page3#195878.
 

Sì, MODE_TICKVALUE è la fonte di confusione, ha molto più senso quando lo metti a significare la più piccola variazione di prezzo possibile, d'ora in poi lo penserò come MODE_MINIMUMTICKVALUE, quindi sembra del tutto possibile calcolare accuratamente il valore di un pip da MODE_TICKVALUE

 
SDC:

[...] quindi sembra del tutto possibile calcolare accuratamente il valore di un pip da MODE_TICKVALUE

Il problema è trovare il pip in punti... Da lì è banale calcolarne il valore (usando MODE_TICKVALUE). Purtroppo, trovare un modo universale e completamente automatico per convertire i pip in punti non è banale (discusso qui -> https://www.mql5.com/en/forum/124692).