Diskussion zum Artikel "Die Verwendung von MetaTrader5 als Signalgeber für MetaTrader4"

 

Neuer Artikel Die Verwendung von MetaTrader5 als Signalgeber für MetaTrader4 :

Analyse und Beispiele, wie eine Handelsanalyse auf der Plattform MetaTrader5 gemacht, aber von MetaTrader4 ausgeführt wird. In diesem Artikel wird besprochen, wie man einen einfachen Signalgeber in MetaTrader5 entwirft und mehrere Clients verbindet, auch wenn man MetaTrader4 laufen lässt. Sie werden auch herausfinden, wie Sie den Teilnehmern der Automated Trading Championship mit Ihrem realen MetaTrader4-Account folgen können.

Deswegen ist es besser, "Bestellungen (Orders)" oder "Deals" zu folgen.

Ich fing mit "Bestellungen" an:

Bestellung

Ich fand es gut, dass sie ausgeführt werden, bevor "Deal" ausgeführt wird und auch, dass sie Informationen über ausstehende Bestellungen haben, aber eine wichtige Sache fehlt im Vergleich mit "Deals": der Eintragstyp (ENUM_DEAL_ENTRY):

Deals

Autor: Karlis Balcers

 

Kleine Aktualisierungen für DealClient:

- Wenn mehrere Aufträge offen sind und eine Aufforderung zur Schließung kommt, dann schließt der Client zuerst die Aufträge mit Gewinn;

- Bessere Fehlerbehandlung wurde hinzugefügt, um Probleme zu beheben, wenn Aufträge aufgrund einer schlechten Verbindung nicht geöffnet werden konnten. Neue Funktion wurde hinzugefügt, um zu prüfen, ob eine erneute Übertragung notwendig ist:

//+------------------------------------------------------------------+
//| Prüfen Sie, ob ein weiterer Versuch das Problem beheben wird.
//+------------------------------------------------------------------+
bool bCanRetryFixTheProblem(int error)
{
   switch(error)
   {
      case ERR_NO_ERROR:
      case ERR_NO_RESULT:
      case ERR_COMMON_ERROR:
      case ERR_SERVER_BUSY:
      case ERR_NO_CONNECTION:
      case ERR_TRADE_TIMEOUT:
      case ERR_INVALID_PRICE:
      case ERR_PRICE_CHANGED:
      case ERR_OFF_QUOTES:
      case ERR_BROKER_BUSY:
      case ERR_REQUOTE:
      case ERR_TOO_MANY_REQUESTS:
      case ERR_TRADE_CONTEXT_BUSY:
         return(true);
      default:
         return(false);
   }
}

/tsaktuo

Dateien:
 

Aktualisierter DealClient-Code: tsaktuodealclient.mq4 (siehe Kommentar)

 

Ich erhalte die Fehlermeldung, dass die socketserver.dll nicht in der 64-Bit-Version vorliegt. Kannst du sie zur Verfügung stellen?

 
939211:

Ich erhalte die Fehlermeldung, dass die socketserver.dll nicht in der 64-Bit-Version vorliegt. Können Sie diese zur Verfügung stellen?

Dies sollte die eine sein.
Dateien:
 
Vielen Dank für den zur Verfügung gestellten Code und die Dll. Ich versuche gerade, einen Serverteil für mql4 zu schreiben. Das Code-Fragment, wo die Konvertierung von Anführungszeichen stattfindet, hat mich außer Gefecht gesetzt, aber ich werde nicht so leicht aufgeben :)
 

Ich versuche, keine Signale zu senden, aber zumindest den Preis. Das Client-Terminal zeigt im Protokoll an, dass ein String mit Fragezeichen empfangen wurde:

2011.12.28 16:34:54 Client EURUSD,M15: Received(20): ????????????????8???

Wie kann ich diesen Fehler beheben? Ich sende den String: <EURUSD;1.30675;1.30667>

 

Hallo,

Ich führe den Server EA und das Client-Skript aus und sie kommunizieren miteinander, außer ich erhalte die folgende Art von Fehler im MT4-Protokoll und brauche etwas Hilfe, um es zu beheben.

MT5 (Build 597) log:
2012.03.08 01:17:55 TsaktuoDealServer(EURUSD,H1) DEAL:<955492;EURUSD;SELL;IN;0.01;1.31080>


MT4 (Build 409) log:
2012.03.08 01:17:55 TsaktuoDealClient EURUSD,H1: Ungültige Order erhalten: "4444EEEESSSSEEEEIIII....11110000"

Any thoughts?

 

Ich habe MT4 auf Build 416 aktualisiert, ohne dass sich etwas geändert hat.

Außerdem erhalte ich die folgende Meldung, wenn ich das Skript in MT4 kompiliere

Kompilieren von 'TsaktuoDealClient.mq4'...
Funktion "struct2int" ist nicht referenziert und wird aus der exp-Datei entfernt
Funktion "str2struct" ist nicht referenziert und wird aus der exp-Datei entfernt
Funktion "htonl" ist nicht referenziert und wird aus der exp-Datei entfernt
Funktion "ntohl" ist nicht referenziert und wird aus der Datei exp entfernt
Funktion "ntohs" ist nicht referenziert und wird aus der Datei exp entfernt
0 Fehler, 5 Warnung(en)

Weiß jemand, was hier los ist?

 
kann jemand das Skript zu beheben, um Mikro-Suffixe laufen? zum Beispiel die mt5 ist EURUSD und die mt4 ist EURUSDm. danke
 

Ich benutze dies für 1 Woche, es gibt 2 Fehler, so gebe ich es auf.