Websocket wie? - Seite 13

 
Igor Makanu:

Trotzdem stimmt etwas nicht, theoretisch sollte dieser Code funktionieren.

C#

MQL5

Ich erhalte Kompilierfehler, dass der Parameter t1 nicht konvertiert werden kann

Der in C# definierte Typ MqlTick und der in MQL definierte Typ MqlTick sind unterschiedliche Typen.
Ändern Sie den Typnamen in Sharp und arbeiten Sie nur mit diesem Typ
Oder kopieren Sie die zurückgegebenen Werte in den Mql-Typ

 
Vladimir Suslov:

Der in C# definierte Typ MqlTick und der in MQL definierte Typ MqlTick sind unterschiedliche Typen.
Ändern Sie den Typnamen in Sharp und arbeiten Sie nur mit diesem Typ
oder kopieren Sie die zurückgegebenen Werte in den Mql-Typ

habe es noch nicht getestet (PC ist mit dem Netzwerk in der Stadt beschäftigt!!!),

aber ich denke, es wird so funktionieren, wie Sie schreiben

gibt es keine ordnungsgemäße MQL-C# Austausch Dokumentation im Allgemeinen, mein Beispiel verwendet Struktur Feld Ausrichtung, in Ihrem die Felder sind von der gleichen Größe, und wenn es andere Typen, was wird beim Austausch von Daten passieren? - Ich vermute, dass es sich im besten Fall um einen Zeitfehler, im schlimmsten Fall um einen Datenverlust handeln wird.

Es gibt einen guten Artikel über die Strukturbehandlung in C# auf Habra, ich erinnere mich, dass in C# es Standardausrichtung ist, aber in MQL ist es das Gegenteil - ich werde es später finden, wenn ich frei bin.

 
Igor Makanu:

nicht überprüft (PC-Netzwerk hängt Stadt beschäftigt!!!),

Network City scheint überall tot zu sein. Unserer in Wolgograd schwebt auch. Wunderbare Seite )))

 
Igor Makanu:

habe es noch nicht getestet (der vernetzte Stadt-PC ist besetzt!!!),

Aber ich denke, es wird so funktionieren, wie Sie schreiben

gibt es keine ordnungsgemäße Dokumentation über MQL-C# Swap, mein Beispiel verwendet Ausrichtung von Strukturfeldern, in Ihrem die Felder sind von der gleichen Größe, und wenn es andere Typen, was wird beim Austausch von Daten passieren? - Ich vermute, dass es sich im besten Fall um einen Zeitfehler, im schlimmsten Fall um einen Datenverlust handeln wird.

es gibt einen guten Artikel auf Habra über die Arbeit mit Strukturen in C#, ich erinnere mich, dass in C# die Ausrichtung Standard ist, aber in MQL ist es umgekehrt - ich werde es später finden, wenn ich genug Platz auf meinem PC haben

Ich habe ein Beispiel mit der einfachsten Struktur mit zwei Synchronisationen gegeben.
Es gibt nichts auszurichten.
Eine komplexere Struktur erfordert möglicherweise eine Anpassung.
Dies muss überprüft werden.

ps das Netz ist in Ordnung)

Документация по MQL5: Основы языка / Типы данных / Структуры, классы и интерфейсы
Документация по MQL5: Основы языка / Типы данных / Структуры, классы и интерфейсы
  • www.mql5.com
Структура является набором элементов произвольного типа (кроме типа void). Таким образом, структура объединяет логически связанные данные разных типов. Объявление структуры Имя структуры нельзя использовать в качестве идентификатора (имени переменной или функции). Следует иметь ввиду, что в MQL5 элементы структуры следуют непосредственно друг...
 
Алексей Барбашин:

Fedor, es gibt nur noch einen letzten Testfall: die Übertragung der Tick-Struktur von sharp nach mql. Denken Sie darüber nach, wie es zu implementieren, alle Beispiele sind hier, Wolodja zeigte, wie man Daten als Struktur von sharp zu erhalten.

Ich warte noch auf das endgültige Ergebnis.

Ich werde es jetzt tun. Was meinen Sie dazu? Funktioniert es in MT4?
 

Das habe ich. Ich habe dir eine Nachricht per Chat geschickt


 
Алексей Барбашин:

Wenn Sie eine große Menge an heterogenen Informationen übertragen müssen, ist es besser, so zu verfahren, wie es bei Web-Sockets der Fall ist: Packen Sie die Informationen auf der scharfen Seite in json, kodieren Sie sie in einen String und geben Sie sie als String zurück, und führen Sie die umgekehrte Konvertierung auf der mql-Seite durch. Es funktioniert sehr schnell, ich habe es getestet. :)

Aber es ist besser, wenn man reguläre Methoden verwendet, z.B. die gleichen Strukturen, wenn möglich. :)

Nein, ich brauche Strukturen, die Strukturen sind praktisch, danke. Ich habe jetzt eine klare Vorstellung davon, wie die Dinge in C# + MQL5 funktionieren.


Vladimir Suslov:

Ich habe ein Beispiel mit einer einfachen Struktur mit zwei Dubletten gegeben.
Es gibt nichts auszurichten.
Bei einer komplexeren Struktur benötigen Sie möglicherweise eine Ausrichtung.
Dies muss überprüft werden.

ps das Netz ist in Ordnung)

Ich fand einen Artikel über Strukturen in C#https://habr.com/ru/post/114953/

Alles in allem gibt es genug Material, mit dem man arbeiten kann, danke

 

Ich werde ein wenig ausholen, da die Schauspieler wahrscheinlich alle der Show überdrüssig sind

Was passiert mit dem Speicher- bzw. CPU-Verbrauch, insbesondere wenn mehrere dieser EAs gleichzeitig laufen?

sie nicht übermächtig werden, wenn sie aus demselben Prozess heraus gestartet werden?

Meiner bescheidenen Meinung nach, eine unvollendete (bisher) Rezept ist es, Socket MQL zu nehmen und http + WebSocket in ihm auf ein Minimum zu machen. Zumindest auf VPS-Metaquotes wird es funktionieren. Natürlich ist dies ein Sonnenuntergang von Hand, aber schauen Sie sich Artikel an - so wird sogar MySQL auf diese Weise angesprochen

 
Fedor Arkhipov:
Ich werde es jetzt tun. Was meinen Sie dazu? Funktioniert es in MT4?

nur durch die Methode aus dem Artikelhttps://www.mql5.com/ru/articles/249

MQL4 weiß nicht, wie man Managed Code aufruft, oder einen Wrapper in C++ schreibt und ihn verwendet, um .Net oder den obigen Artikel aufzurufen, ich habe den Artikel letztes Jahr überprüft - alles funktioniert, aber es gibt eine Menge Arbeit - viele Fallstricke, wenn Sie interessiert sind, fangen Sie nicht an, Sie brauchen viel Zeit, um Material zu googeln, wenn Probleme auftreten

 
Maxim Kuznetsov:

Ich werde eine kurze Pause einlegen, mit der guten Begründung, dass die Schauspieler wahrscheinlich alle müde vom Theaterstück sind


Sie können ein normales Windows-VDS mieten und es über eine DLL betreiben, Sie können mehrere Terminals gleichzeitig betreiben.