Diskussion zum Artikel "Exportieren von Angeboten aus MetaTrader 5 in .NET-Anwendungen mithilfe von WCF-Services" - Seite 3

 
Ich bin auf einige Schwierigkeiten bei der Umsetzung der oben genannten Punkte gestoßen. Deshalb erzähle ich Ihnen davon, falls jemand vor ähnlichen Problemen steht.


1) Wenn Sie ein x64-Terminal haben, müssen Sie höchstwahrscheinlich Ihr C++-Projekt in x64 neu kompilieren. Um auf der sicheren Seite zu sein, sollten Sie dies so tun: Visual Studio -> Eigenschaften (Ihres C++-Projekts) -> Konfigurationsmanager -> und ändern Sie ihn über die Dropdown-Liste oder <Neu...> auf x64. Kompilieren. Erledigt. Wenn es nicht kompiliert - überprüfen Sie die Referenzen des Projekts, gehen Sie die Compiler-Fehler durch.
2) Ich hatte Probleme mit dem EA, er hat sich nicht einmal initialisiert. Ich habe es erst bemerkt , als ich den EA vom Chart getrennt habe, als der Fehler init fehlschlug (komisch...). Der EA fiel in der Initialisierungsphase in einen unendlichen Schlaf und es ging nur um diese Zeilen (in QService.mqh):

 QService::EnterCriticalSection()
{
   while (GlobalVariableCheck("QService_CriticalSection") > 0)
   Sleep(1);
   GlobalVariableTemp("QService_CriticalSection");

Nach Debugging und vergeblichen Versuchen, dieses "Sleep(1)" zu verstehen, habe ich den Code durch ersetzt:

QService::EnterCriticalSection()
{
   if(!GlobalVariableCheck("QService_CriticalSection"))
   GlobalVariableTemp("QService_CriticalSection");
}

Übrigens, dieser Artikel gilt auch für MT4. Obwohl MT4 über DDE verfügt, gefällt mir dieser Ansatz besser. Alles funktioniert prima.

P.S: Danke an den Autor des Artikels! Alles ist super!
 
Ich verstehe es nicht, es ist gut geschrieben, aber es funktioniert nicht. QEXPORTWRAPPER läuft nicht auf einem 64-Bit-Terminal.
 
shelandr1:
Sehr interessant... Danke... Aber vielleicht gibt es heute einfachere Möglichkeiten*???

Natürlich gibt es die - mit der Verbindung über die eingebaute Fähigkeit des Terminals. Es ist ein PIPE-Kanal.

https://www.mql5.com/ru/docs/files/fileopen

Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
Файловые операции / FileOpen - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Ich habe gerade einen neuen Auftrag auf der Grundlage dieses Artikels veröffentlicht: https: //www.mql5.com/en/job/34392.

Es funktioniert nicht in meiner MT5 64 bits Umgebung...

Toller Artikel!

Danke

Freelance service at MQL5.com: Make Visual Studio 2012 solution downloaded from article work with Metatrader 5 64 bits
Freelance service at MQL5.com: Make Visual Studio 2012 solution downloaded from article work with Metatrader 5 64 bits
  • www.mql5.com
Hi, I'm a C# developer and downloaded the code from the article "HOW TO EXPORT QUOTES FROM METATRADER 5 TO .NET APPLICATIONS USING WCF SERVICES" ( https://www.mql5.com/en/articles/27 ). The problem is that my machine is a Windows 64 bits with MetaTrader 5 64 bits installed and I had to change the compile configurations to 64 bits in Visual Studio 2012. Ok, it compiled normally, then I added one new method that aims to return a string to MT5 which i called ReadBroker2MeInstructions . Compiled...
 

Nur um zu wissen, habe ich herausgefunden, was auf meinem 64-Bit-Rechner passiert ist.

Nach stundenlangem Forschen und Debuggen entdeckte ich, dass eine referenzierte Assembly nicht geladen wurde und die Ausnahme "System.IO.FileNotFoundException: Unable to load file or assembly 'QExport.Service, Version=1.0.5771.13857, Culture=neutral, PublicKeyToken=56996a45dd1e337b'".

Vielleicht weil die dll keine Konfigurationsdatei hat, ich weiß es nicht, MT 5 wusste nicht, wo die Assembly zu finden ist. Also versuchte es, sie im Basispfad zu finden (Pfad, in dem sich metaeditor64.exe befindet). Nachdem ich das Ausgabeverzeichnis der referenzierten Projekte auf diesen Pfad geändert hatte, funktionierte alles wie am Schnürchen.

 
sabe:

Hallo Joe,

Gibt es einen speziellen Trick, um es auf x64 zum Laufen zu bringen? Ich habe es gerade für x64 kompiliert, aber die DLL stürzt beim Starten mit seltsamen Fehlern ab.

Sabe, siehe meine Antwort unten.

[]'s

 

Hallo,


ich hbabe deine fertige Datei getestet, In MT5 sieht alles gut aus. Nur es kommen keine Daten im WinClient an. 







 

Ich frage mich, ob es ein ähnliches Projekt mit Pre-Loading von historischen Balken gibt? Ich würde gerne alles zu Lightweight-Chart hinzufügen und das Diagramm bequem verwenden.