Autor Thema: MT4 zu langsam! Wie mache ich das Programm schneller?  (Gelesen 474 mal)

0 Mitglieder und 2 Gäste betrachten dieses Thema.

  • Gelegenheitsschreiber
  • *
    • Beiträge: 66
    • Karma: +8/-0
    • Mitglied seit:
      30 Jan 2010
  • Broker: Fxcm

  • Stop
MT4 zu langsam! Wie mache ich das Programm schneller?
« am: Februar 03, 2012, 15:48:50 pm »
Hallo zusammen,
kurze Erläuterung zu der Systematik.

Mein VPS hat zu einem bestimmten Broker eine Latten-zeit von 1-4 ms zum Broker-Server. Dieses Ist schon sehr gut aber die Plattform "MT4" ist einfach zu langsam.
Langsam, weil die Orderabgabe vom System schon alleine 200ms braucht.

Praktisch heist es ich hab 200ms+4ms= 204 ms Ausführungszeit. Somit ergibt es sich bei einem Trade ein Verzögerung von 408ms. Das macht gerundet eine halbe Sekunde.
Meine Frage an euch? Geht das nicht schneller?

 :welldone: Könnte man den MT4 so modifizieren, das die Trades schneller abgeschickt werden?
Also an alle Programmierer, Systementwickler & Trader was sagt ihr dazu?


« Letzte Änderung: Februar 03, 2012, 15:58:20 pm von Dabo »

  • Gelegenheitsschreiber
  • *
    • Beiträge: 67
    • Karma: +12/-5
    • Mitglied seit:
      02 Aug 2009

  • Stop
Re: MT4 zu langsam! Wie mache ich das Programm schneller?
« Antwort #1 am: Februar 03, 2012, 17:17:53 pm »
Hallo, die Einstellungen bei Optionen - Anzahl der Balken = 5000 -  ändern.
Einfach mal testen. Habe das als Tip von einem Kollegen übernommen.
Gruß von Siegfried

  • Gelegenheitsschreiber
  • *
    • Beiträge: 66
    • Karma: +8/-0
    • Mitglied seit:
      30 Jan 2010
  • Broker: Fxcm

  • Stop
Re: MT4 zu langsam! Wie mache ich das Programm schneller?
« Antwort #2 am: Februar 03, 2012, 18:40:10 pm »
Jo vielen dank, das meinen ich aber nett so richtig. Das hab ich schon gemacht. Auch den Ea quellcode habe ich so verändert das ich unter 20Kb bin. Leider ist MT4 Plattform bis zur  Ordererteilung sau langsam..
Ich dachte so in der Art den zu kastrieren, unnötige funktion komplett rauszunehmen. Wie die automatische mail anahme oder sei es sonst was.

  • Gelegenheitsschreiber
  • *
    • Beiträge: 36
    • Karma: +3/-0
    • Mitglied seit:
      03 May 2009

  • Stop
Re: MT4 zu langsam! Wie mache ich das Programm schneller?
« Antwort #3 am: Februar 03, 2012, 21:13:13 pm »
Naja, den RAM-Speicherplatz zu schonen durch ein radikales Beschneiden der Datenmenge (Charts) ist schonmal gut. Dann natürlich nicht mehr Charts als irgendwie nötig offen haben. Fenster die sich laufend aktualisieren (z.B. "Der Markt") und ähnliches Gedöns auch unbedingt schließen. Der MQL-Programmcode und wie dieser geschrieben ist macht natürlich sehr viel aus. Nicht unbedingt die Länge des Codes, sondern wie er (rein logisch) programmiert wurde. Manche Funktionen müssen nicht wirklich jedes mal durchlaufen werden... ;)

Wenn du wie in meinem Thread geschrieben den MT via AlwaysUp als Dienst angemeldet hast, dann such dir im Taskmanager unter "Dienste" den MT raus, Rechtsklick -> "zum Task wechseln" -> du bist dann auf dem zugehörigen Task und kannst via Rechtsklick -> "Priorität ändern" die Priorität etwas aufdrehen. Spekulativ kann dir bei "Echtzeit" auch die RDP Verbindung lahm gelegt werden wenn sich der MT jegliche Performance unter den Nagel reißt (vielleicht mal am Wochenende probieren?), aber bei "höher" und "hoch" sollten auch noch entsprechende Kapazitäten ausgenutzt werden....

  • Gehört zum Inventar
  • ***
    • Beiträge: 1084
    • Karma: +429/-4
    • Mitglied seit:
      31 Dec 2008
  • Broker: RBS

  • Stop
Re: MT4 zu langsam! Wie mache ich das Programm schneller?
« Antwort #4 am: Februar 03, 2012, 21:51:00 pm »
Right!
Eine große Rolle kann auch noch neben der Anzahl der offenen WP-Charts die Anzahl der verwendeten Indikatoren spielen.
Die Länge des Codes spielt bei den EAs nicht die entscheidende Violine. Der in C geschriebene Code ist da prinzipiell recht flott in der Ausführung. Wenn der mal über 100K sein sollte, dann ist das schon ein Riese! Ich arbeite z.Z. an einen EA, der hat bereits 157K und flutscht auf 27 WP wie Butter!
Große Arrays mit mehreren Dimensionen können da schon viel entscheidender sein! Und richtiger Weise eben unnötig aufgerufene Funktionen, in denen dann auch noch hochindizierte for-Schleifen so dahinrödeln. Z.B. hat ein 3-dimensionales Array bei jeweils nur 10 Elementen pro Dimension bereits 1000 Elemente. Soll das komplette Array abgefragt werden, dann sind dazu schon mal 1000 Schleifen notwendig.
Und da die Indikatoren-Values für jede Kerze alle in Arrays gespeichert werden, läppert sich da schon was zusammen.

traderdoc
Pokerregel: "Auch bei dem Anschein eines sicheren Gewinnes, muss man ablassen können."

  • Global Moderator
  • Ist Forum süchtig
  • *
  • *
    • Beiträge: 1502
    • Karma: +733/-4
    • Mitglied seit:
      14 Jul 2008
  • Broker: IBFX AU, IBFX US

  • Stop
Re: MT4 zu langsam! Wie mache ich das Programm schneller?
« Antwort #5 am: Februar 03, 2012, 23:14:32 pm »
genau, da stimme ich meinen vorrednern zu. die remoteverbindung kann drücken. mt4 hoch priorisieren. unnnötige charts weg. indies raus aus den charts, weil die im EA meist schon einprogrammiert wurden oder aufgerufen werden. die bruachen nicht extra auf dem chart sein.


und wenn man einen EA geschrieben hat, wie z.b. @traderdoc schon aufgeführte mit mathematischen aufwendigen algorithmen oder array, matrix ect. berechnungen, sollten die ausgelagert werden entweder in eine .dll und vorallem getrennt von dem ordermanagement-modul sein. vorallem ist das wichtig, wenn man mehrere EA's am laufen hat, weil jeder EA im MT4 einen eigenen thread belegt. je mehr CPU's man nun hat desto besser. man kann zwar die einzelnen EA's nicht den kernen zu ordnen, aber die mt4 instanzen schon.
Copyright © 2008-2012
Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen

  • Gelegenheitsschreiber
  • *
    • Beiträge: 66
    • Karma: +8/-0
    • Mitglied seit:
      30 Jan 2010
  • Broker: Fxcm

  • Stop
Re: MT4 zu langsam! Wie mache ich das Programm schneller?
« Antwort #6 am: Februar 06, 2012, 13:15:41 pm »
Thanks für die ausführlichen Beschreibungen.
Aber die ganzen Vorschläge habe ich schon eigentlich berücksichtigt.

Indikatoren keine im Chart vorhanden. Im Programmcode werden nur Kerzen benutzt.
Array und Matrizen keine Vorhanden, Vektorberechnung ebenfalls nicht.
Publisher Arbeitet nur zu den Zeiten wo der EA aus ist. Test mit ausgeschalteten Publisher kam genau das gleiche Raus.
AlwaysAp ebenfalls Aus.
Ea ist nur auf einen Blanko Chart drauf. Für jedes pair ein separaten EA mit seperaten Quellcode (kein Check pair oder sowas).
EA noch Im SpeedMode geschrieben. Sobald die zeit zum handeln da ist, werden alle Comments Übersprungen. Ist ein Trade vom Ea offen, läuft nur der Quellcode für die Order Glattstellung!
Jeglicher Firefatz ist raus.
CPU Zuteilung wurde ebenfalls gemacht.

Aus diesem Grunde dachte ich das es vielleicht ein modifizierten Metatrader gibt  der im system selber schon optimiert ist.
 :)


  • Gehört zum Inventar
  • ***
    • Beiträge: 1084
    • Karma: +429/-4
    • Mitglied seit:
      31 Dec 2008
  • Broker: RBS

  • Stop
Re: MT4 zu langsam! Wie mache ich das Programm schneller?
« Antwort #7 am: Februar 06, 2012, 16:37:48 pm »
Zitat
EA noch Im SpeedMode geschrieben.
Was ist das denn?
Ansonsten sehe ich auch keine Stelle mehr, die Dir noch einen Geschwindigkeitsvorteil bescheren sollte. Und irgendwann muß man sich mit den Gegebenheiten abfinden. :)

Frohes Pipsen!

traderdoc
Pokerregel: "Auch bei dem Anschein eines sicheren Gewinnes, muss man ablassen können."

  • Fingerwundtipper
  • ****
    • Beiträge: 322
    • Karma: +79/-0
    • Mitglied seit:
      07 Sep 2009

  • Building Blaster Airhockey Canyon Shooter Stop The Bus DogBalloooon
    Miami Shark Beat The Meter Powerpool 2
  • Stop
Re: MT4 zu langsam! Wie mache ich das Programm schneller?
« Antwort #8 am: Februar 06, 2012, 19:22:53 pm »
Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
Zitat
EA noch Im SpeedMode geschrieben.
Was ist das denn?

Naja wahrscheinlich einfach das die Überprüfung der Einstiegsbedingungen bei offenem Trade nicht weiter abgefragt werden und sowas. Einfach das zum jeweiligen Zeitpunkt die nicht benötigten Codebereiche deaktiviert sind. Macht ja eh Sinn. Aber ob das alles soviel ausmacht...

LG
Von nichts kommt nichts

  • Gehört zum Inventar
  • ***
    • Beiträge: 1084
    • Karma: +429/-4
    • Mitglied seit:
      31 Dec 2008
  • Broker: RBS

  • Stop
Re: MT4 zu langsam! Wie mache ich das Programm schneller?
« Antwort #9 am: Februar 06, 2012, 19:57:52 pm »
Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
Zitat
EA noch Im SpeedMode geschrieben.
Was ist das denn?
Naja wahrscheinlich einfach das die Überprüfung der Einstiegsbedingungen bei offenem Trade nicht weiter abgefragt werden und sowas. Einfach das zum jeweiligen Zeitpunkt die nicht benötigten Codebereiche deaktiviert sind. Macht ja eh Sinn. Aber ob das alles soviel ausmacht...
LG

Das die Einstiegsbedingungen bemi offenen Trade nicht weiter abgefragt werden (sofern nur einer geöffnet werden soll!!), setze ich mal als normalen, sinnvollen Code voraus. Richtigerweise wird das aber den Kohl auch nicht mehr fett machen!

traderdoc
Pokerregel: "Auch bei dem Anschein eines sicheren Gewinnes, muss man ablassen können."

  • Fingerwundtipper
  • ****
    • Beiträge: 322
    • Karma: +79/-0
    • Mitglied seit:
      07 Sep 2009

  • Building Blaster Airhockey Canyon Shooter Stop The Bus DogBalloooon
    Miami Shark Beat The Meter Powerpool 2
  • Stop
Re: MT4 zu langsam! Wie mache ich das Programm schneller?
« Antwort #10 am: Februar 07, 2012, 01:03:52 am »
Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
Das die Einstiegsbedingungen bemi offenen Trade nicht weiter abgefragt werden (sofern nur einer geöffnet werden soll!!), setze ich mal als normalen, sinnvollen Code voraus. Richtigerweise wird das aber den Kohl auch nicht mehr fett machen!

DITO  :)

wüsste auch nicht was sonst mit "SpeedMode" gemeint sein sollte  :D
Von nichts kommt nichts

  • Gelegenheitsschreiber
  • *
    • Beiträge: 66
    • Karma: +8/-0
    • Mitglied seit:
      30 Jan 2010
  • Broker: Fxcm

  • Stop
Re: MT4 zu langsam! Wie mache ich das Programm schneller?
« Antwort #11 am: Februar 07, 2012, 09:05:54 am »
moin zusammus...
SpeedMode ist nur eine funktion die ich so getauft hatte :)
durch die modifikation arbeitet der Ea schon schneller als vorher. Somit macht das schon was aus.
Ist aber nichts Weltbewegendes. Jede 5-10 Order kauft sich besser ein, bei den anderen bleibt Einstiegspunkt/Kurs gleich..

.. mal ne andere Frage, warum ist in Demo die Ausführungszeit schneller als im Real Modus. Wenn die Kurse gleich sind, die Latten zeit gleich ist, genau dieser Trade kein schlupf hat und genau zu dem gleichen Kurs sich einkauft?
Selbst wenn ich im Realen modus ein VPS nehme mit in einer Lattenzeit von 1-4 ms und parallel den Demo auf einen anderen Rechner installiere mit einer Latten zeit von 110ms ist der im Demo immer noch schneller! Diese Zeit muss doch irgendwo auf der Strecke liegen. Braucht der Broker echt so lange um den Trade durchzurouten....


« Letzte Änderung: Februar 07, 2012, 09:13:19 am von Dabo »



 

Ähnliche Themen

  Betreff / Begonnen von Antworten Letzter Beitrag
2 Antworten
1738 Aufrufe
Letzter Beitrag Juli 21, 2008, 23:34:07 pm
von Divecall
0 Antworten
551 Aufrufe
Letzter Beitrag Juli 18, 2008, 23:32:15 pm
von Divecall
Programm fehler

Begonnen von amando MT 4 - Allgemein

5 Antworten
587 Aufrufe
Letzter Beitrag April 17, 2009, 10:40:06 am
von amando
3 Antworten
1159 Aufrufe
Letzter Beitrag Juni 05, 2009, 09:48:16 am
von oldschuren
7 Antworten
954 Aufrufe
Letzter Beitrag Dezember 24, 2009, 14:28:03 pm
von FX-trader
12 Antworten
1935 Aufrufe
Letzter Beitrag Mai 22, 2010, 12:33:18 pm
von TbT
7 Antworten
943 Aufrufe
Letzter Beitrag März 10, 2011, 07:46:05 am
von forexler
15 Antworten
277 Aufrufe
Letzter Beitrag März 20, 2012, 23:00:33 pm
von traderdoc


ChartTec´s World Topsites