MT5 und Geschwindigkeit in Aktion - Seite 67

 
fxsaber:

Das Problem ist sehr einfach formuliert: Wie kann man einen EA schreiben, der nicht langsamer wird, wenn er auf eine Warteschlange wartet? Eine Endlosschleife ist unmöglich, denn Schlaf ist eine Bremse. Eine asynchrone Schleife führt also in die Irre. Nun ist das Abfangen von Wartezeiten in Form von langen Millisekunden überhaupt nicht der Punkt.

In Ihrem Fall sollten Sie Ihren Computer gegen einen leistungsfähigeren austauschen. Und dann können Sie aufhören, Sleep zu benutzen.
 
Anton:

Machen Sie sich und anderen nichts vor.

Alle Ihre Aussagen hier beschreiben eine ganz andere Aufgabe: wie man einen EA schreibt, der auf einer 9 Jahre alten und bis an die Grenzen ausgelasteten Hardware nicht langsamer wird.

Dieser Thread und vor allem Ihre Teilnahme haben mir geholfen, einen solchen EA zu schreiben. Die CPU-Last beträgt bis zu 10% auf einem sehr schwachen VPS, wenn mehr als ein Dutzend Expert Advisors laufen. Ein Klick für hunderte von Positionen und schwebenden Aufträgen. CopyTicks bei jedem Tick und so weiter. Ihre Umformulierung ist also falsch.


Ich muss einen EA auf einem starken Rechner mit Idle-CPU erstellen, der nicht für lange Millisekunden in der Warteschlange warten wird. Leider haben Sie keinen EA-Test mit Ihrem MuscleCar durchgeführt.

 
Slava:
In Ihrem Fall müssen Sie möglicherweise Ihren Computer gegen einen leistungsfähigeren austauschen. Dann brauchen Sie den Schlafmodus nicht zu benutzen.

Bitte geben Sie uns eine Benchmark-Zahl an, anhand derer wir feststellen können, ob die Leistung des Fahrzeugs ausreichend ist oder nicht.


Bitten Sie alle Besitzer von leistungsstarken Bügeleisen, das Ergebnis dieses Beraters auf ihrem Gerät mitzuteilen. Nach dem Start sollten Sie ein oder zwei Minuten warten.

 
fxsaber:

Deshalb stelle ich eine Frage an die MQ-Demo-Besitzer.

In diesem Fall wird diese Frage unbeantwortet bleiben. Dies ist ein Demo-Server.

Noch einmal: Im Terminal erhalten Sie für jedes Symbol die "neuesten" Kurse.

Es ist nicht Aufgabe des Terminals, Tickzeiten festzulegen oder zu ändern - wie es kam, so wird es gegeben. Das Terminal hat keine Aufgabe, die Tickzeiten verschiedener Symbole zu synchronisieren.

Ihre Annahme, dass das Terminal "langsamer" wird und alte Ticks an den Expert Advisor sendet, ist also aufgrund des von Ihnen durchgeführten Tests falsch.

An dieser Stelle betrachte ich die Frage als abgeschlossen. Ihre Ausbildung ist nicht die Hauptaufgabe der Entwickler.

 

Meiner Meinung nach ist es besser, auf einem langsamen Rechner zu testen. Er zeigt Probleme auf, die auf einem schnellen Rechner sonst unbemerkt bleiben würden.

Ich werde den Test im Laufe des Tages durchführen und die Ergebnisse veröffentlichen.

 
Anton:

In diesem Fall wird diese Frage unbeantwortet bleiben. Dies ist ein Demo-Server.

Noch einmal: Im Terminal erhalten Sie die "aktuellsten" Preise für jedes Symbol.

Es ist nicht Aufgabe des Terminals, Tickzeiten festzulegen oder zu ändern - wie es kam, so wird es gegeben. Das Terminal hat nicht die Aufgabe, die Tickzeiten für verschiedene Symbole zu synchronisieren.

Ihre Demo ist für die technische Ausarbeitung gedacht. Wenn ich zu einem anderen Server wechsle, werden Sie mich zum Broker schicken. Warum erzeugt Ihr Server den Tick-Stream so, dass er alte Ticks sendet? Wenn das Problem nicht im Terminal liegt, liegt es im Serverteil. In diesem Fall gehört der Server zu MQ. Ein Makler hat also nichts damit zu tun.

Ihre Annahme, dass das Terminal "langsamer" wird und dem EA alte Ticks sendet, ist also falsch.

An dieser Stelle betrachte ich die Frage als abgeschlossen. Ihr Lernen ist nicht die Hauptaufgabe der Entwickler.

Ihre Spekulation über meine Vermutung ist falsch. Sie müssen nicht zwischen den Zeilen lesen.


Und auf den Punkt gebracht. Die tatsächliche Situation auf Ihrem Server (und anderen). Der letzte eingehende Tick in Market Watch hat die Zeit 00:00:00.150, später kommt ein Tick mit der Zeit 00:00:00.148. Wie lange ist es schon am Leben, wenn es im Terminal ankommt?

 
fxsaber:

Bitte stellen Sie einen Benchmark zur Verfügung, damit Sie feststellen können, ob Ihr Rechner leistungsfähig genug ist oder nicht.


Bitten Sie alle Besitzer von leistungsfähiger Hardware, die Ergebnisse dieses Beraters auf ihrem Rechner mitzuteilen. Nach dem Start sollten Sie ein oder zwei Minuten warten.

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
Die Hardware scheint mehr oder weniger leistungsstark zu sein...
 



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


Mittelmäßige Hardware ohne Last.


Но если Вы хотите сравнить тики, полученный в OnTick и полученный в OnBookEvent, тогда вас ждёт разочарование, так как  DieVerarbeitung von Ereignissenerfolgt sequentiell, nicht parallel. Was Benutzer pivomoe Ihnen zu sagen versuchte
Ich glaube, dass dies immer ein Thema sein wird, weil es so konsequent ist.
Es scheint sich jedoch zu lohnen, sowohl die Nachrichten als auch die News im Auge zu behalten, wenn man so schnell wie möglich die neuesten Informationen erhalten möchte.
Dateien:
_20201104.log  199 kb
 
fxsaber:

Ich lade andere dazu ein, das Ergebnis der Ausführung dieses Skripts auf ihrem Rechner mitzuteilen.

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

Ihr Skript.


Maschine.

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

29gb Festplatte. Sie erhalten Tests von Heimcomputern und ich verstehe, dass Sie entweder von einem VPS oder einer virtuellen Maschine aus arbeiten.

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