MT5 e la velocità in azione - pagina 67

 
fxsaber:

Il problema è formulato molto semplicemente: come scrivere un EA che non rallenti quando aspetta una coda? Un ciclo infinito è impossibile, perché Sleep è un freno. Quindi, il ciclo asincrono va fuori strada. Ora catturare le attese sotto forma di lunghi millisecondi non è affatto il punto.

Nel tuo caso - cambia il tuo computer con uno più potente. E poi si può smettere di usare Sleep
 
Anton:

Non ingannare te stesso e gli altri.

Tutte le tue affermazioni qui descrivono un compito completamente diverso: come scrivere un EA che non rallenti su un hardware vecchio di 9 anni che è sovraccarico fino ai suoi limiti.

Questo thread e la vostra partecipazione, in particolare, mi hanno aiutato a scrivere un tale EA. Il carico della CPU arriva al 10% su un VPS molto debole quando ho più di una dozzina di Expert Advisors in esecuzione. Un clic per centinaia di posizioni e ordini pendenti. CopyTicks su ogni tick e così via. Quindi la sua affermazione è sbagliata.


Ho bisogno di creare un EA su una macchina forte con Idle-CPU che non aspetta in coda per lunghi millisecondi. Sfortunatamente, non hai eseguito un test EA sulla tua MuscleCar.

 
Slava:
Nel tuo caso - potresti aver bisogno di cambiare il tuo computer con uno più potente. Allora non dovrete usare Sleep.

Per favore, dateci una cifra di riferimento a cui guardare per determinare se la potenza della macchina è sufficiente o no.


Si prega di chiedere a tutti i proprietari di ferro potente di condividere il risultato di questo consulente sulla loro macchina. Dovresti aspettare un minuto o due dopo averlo avviato.

 
fxsaber:

Ecco perché sto facendo la domanda ai proprietari di MQ-Demo.

In questo caso, questa domanda resterà senza risposta. Questo è un server demo.

Ancora una volta: nel terminale si ottengono i prezzi più "recenti" per ogni simbolo.

Il terminale non si occupa di fissare o modificare i tempi di tick - come è venuto, così è dato. Il terminale non ha il compito di sincronizzare i tempi di tick di diversi simboli.

Quindi, la tua supposizione che il terminale "rallenta" e invia vecchi tick all'Expert Advisor in base al test che hai fornito è falsa.

A questo punto considererò la questione chiusa. La vostra formazione non è il compito principale degli sviluppatori.

 

Secondo me è meglio testare su una macchina lenta. Mostrerà problemi che altrimenti passerebbero inosservati su una macchina veloce.

Eseguirò il test più tardi in giornata e posterò i risultati.

 
Anton:

In questo caso, questa domanda rimarrà senza risposta. Questo è un server demo.

Ancora una volta: nel terminale si ottengono i prezzi più "aggiornati" per ogni simbolo.

Il terminale non si occupa di fissare o modificare i tempi di tick - come è venuto, così è dato. Il terminale non ha il compito di sincronizzare i tempi di tick di diversi simboli.

Il tuo demo esiste per l'elaborazione tecnica. Se passo a un altro server, mi manderete al broker. Perché il tuo server genera il flusso di tick in modo tale da inviare tick vecchi? Se il problema non è nel terminale, è nella parte del server. In questo caso, il server appartiene a MQ. Quindi qualsiasi broker non ha nulla a che fare con questo.

Quindi, la tua supposizione, basata sul test che hai fornito, che il terminale "rallenta" e invia all'EA vecchi tick è falsa.

A questo punto considererò la questione chiusa. Il vostro apprendimento non è il compito principale degli sviluppatori.

La sua speculazione sulla mia supposizione è sbagliata. Non c'è bisogno di leggere tra le righe.


E arrivare al punto. La situazione reale sul tuo server (e su altri). L'ultimo tick in arrivo in Market Watch ha tempo 00:00:00.150, più tardi arriva un tick con tempo 00:00:00.148. Quando viene ricevuto al Terminal, da quanto tempo è vivo?

 
fxsaber:

Si prega di fornire un Benchmark per guidarvi nel determinare se la vostra macchina è abbastanza potente o meno.


Si prega di chiedere a tutti i proprietari di hardware potente di condividere i risultati di questo consulente sulla loro macchina. Dovresti aspettare un minuto o due dopo averlo avviato.

2020.11.04 19:55:49.461	test1 (EURUSD,H1)	Alert: OnBook-lag! - 1002 mcs.
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[0] 1.17269 1.17269     true     494478
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[1] 1.17269 1.17269    false        297
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[2] 1.17272 1.17272     true     117109
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[3] 1.17272 1.17272    false       1002
2020.11.04 19:55:59.922	test1 (EURUSD,H1)	Alert: OnTick-lag! - 2673766 mcs.
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[0] 1.17266 1.17266    false        252
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[1] 1.17264 1.17264     true      35875
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[2] 1.17264 1.17264    false        247
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[3] 1.17264 1.17264     true    2673766
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	Alert: OnTick-lag! - 6478 mcs.
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[0] 1.17258 1.17258     true      86315
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[1] 1.17258 1.17258    false        265
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[2] 1.17260 1.17260    false      42446
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[3] 1.17260 1.17260     true       6478
...
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	Alert: OnTick-lag! - 15596 mcs.
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[0] 1.17292 1.17293     true     107565
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[1] 1.17292 1.17293    false        275
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[2] 1.17293 1.17293    false     219947
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[3] 1.17293 1.17293     true      15596
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	Alert: OnTick-lag! - 15784 mcs.
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[0] 1.17294 1.17294     true      29494
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[1] 1.17294 1.17294    false        283
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[2] 1.17296 1.17296    false     549238
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[3] 1.17296 1.17296     true      15784
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	Alert: OnTick-lag! - 4075 mcs.
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[0] 1.17297 1.17297     true      21386
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[1] 1.17297 1.17297    false        325
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[2] 1.17296 1.17296    false      97215
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[3] 1.17296 1.17296     true       4075

2020.11.04 12:18:51.145 Terminal        Windows 10 build 19041, AMD Ryzen 5 1600 Six-Core Processor, 12 / 15 Gb memory, 140 / 446 Gb disk, IE 11, UAC, GMT+3
L'hardware sembra essere più o meno potente...
 



2020.11 . 04  17 : 55 : 08.418 Terminal MetaTrader 5 x64 build 2560 started for MetaQuotes Software Corp. 
2020.11 . 04  17 : 55 : 08.420 Terminal the the the the Windows 10 build 18362 , Intel Core i5- 7400      @ 3.00 GHz, 22 / 31 Gb memory, 29 / 222 Gb disk, IE 11 , UAC, GMT + 1


Hardware mediocre senza carico.


Но если Вы хотите сравнить тики, полученный в OnTick и полученный в OnBookEvent, тогда вас ждёт разочарование, так как  L'elaborazione degli eventiè sequenziale, non parallela. Quello che l'utente pivomoe ha cercato di dirti
Credo che questo sarà sempre un problema a causa della sua consistenza.
Tuttavia, sembra che valga la pena di tenere d'occhio sia le notizie che i notiziari se si vuole avere le ultime notizie il più presto possibile.
File:
_20201104.log  199 kb
 
fxsaber:

Invito altri a condividere il risultato dell'esecuzione di questo script sulla loro macchina.

2020.11.04 18:33:01.220 TextCreate (EURUSD,H1)  total 18018475 microseconds (1.802 ms per iteration)
 
fxsaber:

Il tuo copione.


Macchina.

Windows 10 build 19042, Intel Core i7-2700 K  @ 3.50 GHz, 7 / 15 Gb memory, 18 / 29 Gb disk

Disco da 29gb. Stai testando da macchine domestiche e mi sembra di capire che sei da un VPS o da una macchina virtuale.

Виртуальный хостинг для MetaTrader 5
Виртуальный хостинг для MetaTrader 5
  • www.mql5.com
Виртуальный хостинг для MetaTrader 4/5 является лучшим VPS-решением для Форекса. Оно не требует настройки, дает минимальные задержки до сервера и отличается низкими ценами. Всего за 15 USD в месяц вы получите виртуальную платформу, которая работает круглые сутки, экономит вашу прибыль и даже окупает себя. Создать удаленную копию приложения...