Quindi confronta il tempo di richiesta con il tempo di ricezione del valore o di esecuzione del comando. Capisco che dipende dalla tua situazione specifica (linea di comunicazione per esempio).
CAccountInfo non accede al server commerciale, è emesso dalla memoria, non sale sul disco.
Quindi confronta il tempo di interrogazione con il tempo per ottenere un valore o eseguire un comando. Capisco che tutto dipende dalla vostra situazione specifica (linea di comunicazione per esempio).
E quindi testare ogni comando in questo modo?
Ho bisogno di scrivere un EA per un'esecuzione rapida e per questo ho bisogno di capire il processo e come può risultare. Ho visto molte volte che il terminale si blocca anche se uso 1 strumento, 1 EA e un paio di grafici... Ho visto anche altri glitch... anche se ho messo un veloce SSD invece di un hard disk ibernato...
E quindi testare ogni comando in questo modo?
Ho bisogno di scrivere un EA per l'esecuzione rapida e per questo ho bisogno di capire il processo e come può risultare. Ho visto molte volte che il terminale si blocca anche se uso 1 strumento, 1 EA e un paio di grafici... Inoltre, ci sono altri difetti... anche se ho messo un SSD veloce invece di un disco rigido ibernato...
Confrontare l'ora locale prima e dopo e ottenere il rendimento, dipende da molti fattori ed è individuale per ognuno.
- www.mql5.com
Confrontare l'ora locale prima e dopo e ottenere il rendimento, dipende da molti fattori ed è individuale per ognuno.
https://www.youtube.com/playlist?list=PLIo3S7h2bgAD8afp8iN-MSy5irsL33PfE
Per organizzare i contatori e i timer ad alta risoluzione, usate la funzioneGetTickCount(), che produce valori in millisecondi.
Sta suggerendo di misurare in secondi? Anche i millisecondi sono lenti.
il mio contatore di millisecondi è sempre attivo, ma se 1 su 1000 cicli fallisce anche in un minuto, non posso prenderlo senza un programma speciale.
Non riesco nemmeno a prenderne 1 in un minuto senza un programma speciale.
https://www.youtube.com/playlist?list=PLIo3S7h2bgAD8afp8iN-MSy5irsL33PfE
Per organizzare i contatori e i timer ad alta risoluzione, usate la funzioneGetTickCount(), che produce valori in millisecondi.
Sta suggerendo di misurare in secondi? Anche i millisecondi sono lenti.
il mio contatore di millisecondi è sempre attivo, ma se 1 su 1000 cicli fallisce anche in un minuto, non posso prenderlo senza un programma speciale.
Inoltre, quando il terminale si blocca, il contatore non funziona
Funziona fino a quel punto, perché misurare ciò che non è tangibile, il fatto che il vostro terminale si blocca è più probabile un ciclo infinito nel vostro algoritmo, la presenza di ricorsione profonda, piuttosto che la velocità del terminale.
Funziona fino a quel punto, perché misurare qualcosa che non è tangibile, il fatto che il vostro terminale si blocca è più probabilmente un loop nel vostro algoritmo, la presenza di ricorsione profonda, non la velocità del terminale.
Niente affatto - il terminale si blocca solo quando ci sono 2 eventi - un'operazione come la modifica dell'ordine e un forte movimento di prezzo sullo strumento - il server di scambio chiude tutte le richieste dei clienti e si blocca.
Quando il movimento dei prezzi si stabilizza, inizia a servire le richieste dei clienti.
La ragione è che il server in questi momenti o non ha tempo per elaborare le richieste o lo fa di proposito per non permettere al cliente di ricevere un profitto. Per capire questo, abbiamo bisogno di un protocollo di scambio MT%6 con il server delle società di brokeraggio.
A proposito, in questo momento la posizione non può essere violata nemmeno dal terminale - non è disponibile...
Quando non ci sono movimenti improvvisi, il sistema funziona abbastanza velocemente e riesce a inviare una posizione aperta in un secondo... Ma vorrei ottenere il tempo tra il segnale di apertura di una posizione e un ordine di posizione aperta fino a 100 ms (anche se conosco sistemi con tempo di 15 ms.
Per questo sto facendo un sacco di lavoro, a partire dall'aggiornamento dell'hardware, del sistema operativo e la scelta di un provider...
- admin
- shelandr.ru
Niente affatto - il terminale si blocca solo quando ci sono 2 eventi - operazione come la modifica di un ordine e un forte movimento di prezzo sullo strumento - il server di scambio chiude tutte le richieste dei clienti e si blocca.
Quando il movimento dei prezzi si stabilizza, inizia a servire le richieste dei clienti.
La ragione è che il server in questi momenti o non ha tempo per elaborare le richieste o lo fa di proposito per non permettere al cliente di ricevere un profitto. Per capire questo, abbiamo bisogno di un protocollo di scambio MT%6 con il server delle società di brokeraggio.
A proposito, in questo momento la posizione non può essere violata nemmeno dal terminale - non è disponibile...
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Ho una domanda: come funzionanoi comandi?
Quando accediamo a questo comando, il terminale inizia una richiesta al server o questa informazione è ricevuta tutto il tempo insieme alle virgolette e la prendiamo semplicemente dal buffer del terminale o da un file sul disco?
In breve, quanto tempo impiega questo comando ad essere eseguito? E se legge da disco, come dipende dal tipo di disco o SSD?
Testo completo...
In realtà l'informazione più importante che è necessaria operativamente è la presenza di una posizione aperta o la sua mancanza e anche il livello di prezzo di una posizione aperta.
Ho capito che questa analisi dovrebbe essere fatta in void OnTrade() - cioè, quando la posizione è aperta, questa subroutine sarà inizializzata ?