Websocket wie? - Seite 19

 
Renat Fatkhullin:

Nein, es ist ein synchrones Objekt.

Ich dachte, Sie hätten geschrieben, dass Sie einige Funktionen für Asynchronität in mql planen.
Vielleicht kann dasOnSocket-Ereignis auch dort zugewiesen werden?

 
Renat Fatkhullin:

Nein, es ist ein synchrones Objekt.

Ich bin auch dafür, einen Socket-Event-Handler zu haben, damit man nicht ständig per Timer abfragen muss. Ich bin sicher, dass die Entwickler dies eleganter umsetzen könnten.

 
Maxim Kuznetsov:

Maxim, da Sie mit Websockets arbeiten, können Sie versuchen, eine Verbindung zu wss://api.huobi.pro/ws socket in Ihrem Projekt ohne zusätzliche Parameter herzustellen?

Der Zweck ist es, herauszufinden, ob es die Bibliothek ist, die wir in C# verwenden oder nicht.

IMHO sollte die Steckdose in jedem Fall zu öffnen, als auch durch die Website, ohne zusätzliche Parameter.

 
Fedor Arkhipov:

Maxim, da Sie mit Websockets arbeiten, können Sie versuchen, eine Verbindung zu wss://api.huobi.pro/ws socket in Ihrem Projekt ohne zusätzliche Parameter herzustellen?

Der Zweck ist es, herauszufinden, ob es die Bibliothek ist, die wir in C# verwenden oder nicht.

IMHO Buchse sollte in jedem Fall zu öffnen, als auch durch die Website, ohne zusätzliche Parameter.

Die Steckdose öffnet sich, sogar das Abonnement funktioniert.

C:\src>tclsh hibou.tcl                                                                                                                                                                                             Socket sock0000000002E8D890                                                                                                                                                                                        Connected :-)

put json:  { "sub": "market.btcusdt.kline.1min", "id": "1122" }

Message binary ▼       «V*ÈÌKW²24µ036µ425657©♣ ´áƒ!▬

Message binary ▼       «VÊLQ²R2442RÒQ*.I,)-♠òó³A¼Ò¤¤TlnbQvj‰^RIriqJ‰^vNf^ªžanf▲PQ      P¹¡©…™±©¥‘©‰‘±a- éÝ×kS

Message binary ▼       MÌÍ

à ►♦àwÙ³ˆëïêÛ´F→‰ÑҘö►òîM Ð∟g>f6ˆ#♦˜o¯)u~ïq]†Î§’kâ8ç

‘D♠ïV♫►„Rs具^ž÷¿òûþ♣¬↨Ã▬È     ¹u♀Jû\t̏ñ‚·¹­µ▼⌂š“q^£C-

Message binary ▼       MÌÍ

ƒ\?↨Òcºà°Ô­´þÇ◄“dHy÷F(4Ǚ™↔Â♦▲–á5ÇÆï-lëØøœS‰œ–T€A[Á“²ú¦œPŠ¬>«¶fð;¤ñOˆ♀ê3▬ðF↑âh↓„\×س%®

­CÈ   Ÿ€NæZ’ÔNôûß@âq|☺œ

Daten senden, aber es ist entweder nicht GZ aus der Dokumentation, oder smart chinesisch gemacht Header :-)

mit ihrer Kompression umgehen müssen, aber ich bin ehrlich gesagt zu faul :-)

PS-Skript, das es beigefügt, es Zeilen nur nichts tut... ist es möglich, es von 4 zu ziehen.

Dateien:
hibou.zip  1 kb
 
Maxim Kuznetsov:

PS das Skript, das dies tut, ist angehängt, es sind nur ein paar Zeilen ... Sie können es aus 4 ziehen.

Herzlichen Dank! Es geht also um die C#-Bibliothek.

 
Fedor Arkhipov:

Herzlichen Dank! Es muss sich also um eine C#-Bibliothek handeln.

Ich glaube nicht, dass es so schlimm ist: Sie muss eher die Optionen/Einstellungen optimieren - erstens braucht Hibou ziemlich lange, um eine Verbindung herzustellen, die Timer können abstürzen, und zweitens sind sie wählerisch bei den TLS-Versionen

 
Fedor Arkhipov:

Herzlichen Dank! Es geht also um die C#-Bibliothek.

Nein, in der Bibliothek selbst gibt es kein Problem. Es hat einige Zeit gedauert, aber ich habe es ausgegraben.

Ich habe mehrere Beispiele von githab heruntergeladen, darunter auch die genannten, aber keines von ihnen hat den Socket zum Laufen gebracht. Dies war noch verwirrender. Der Grund dafür war die Stärkung des Sicherheitszertifikats auf dem Broker-Server.

Ändern Sie die Einstellung in der Instanz unseres Sockets:

Wir passen die Programmklasse leicht an


Diese Änderung wurde vorgenommen, damit der Server nicht fest in der Bibliothek kodiert ist, sondern über den Expert Advisor eingestellt werden kann

Das Ergebnis:


Die Bibliothek ist also sehr breit gefächert.

Als Nächstes fügen wir das Telefongespräch mit Fedor hinzu.

Es gibt noch mehr Interessenten für dieses Beispiel, also sollten wir es weiter verbessern.

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

Super! Es klappt! Herzlichen Dank, Alexey!

 

Ich habe versucht, die Bibliothek auf MT4 anzuwenden, EA-Datei kompiliert ohne Fehler,

Aber wenn ich es zu Diagramm anhängen, erhalte ich Fehler "Globale Initialisierung fehlgeschlagen", wenn ich Methode, die einfachen Typ zurückgibt verwenden.

Wenn ich versuche, eine Struktur zu erhalten, erhalte ich "Ungültige ex4-Datei (8)

Würde es funktionieren, wenn ich alle Strukturen einfach wegwerfe?

Oder wenn Sie mit IL oder Com-ports herumspielen müssen

 
Fedor Arkhipov:

Ich habe versucht, die Bibliothek auf MT4 anzuwenden, EA-Datei kompiliert ohne Fehler,

Aber wenn ich es zu Diagramm anhängen, erhalte ich Fehler "Globale Initialisierung fehlgeschlagen", wenn ich Methode, die einfachen Typ zurückgibt verwenden.

und wenn ich versuche, eine Struktur zu erhalten, erhalte ich "Ungültige ex4-Datei (8)

Vielleicht klappt es ja, wenn man alle Strukturen über Bord wirft.

das C# bis 4 ist ein eigenes trauriges Lied.

Zu 5 ist es einfach, es hat shuffle drinnen, sonst würde string nicht in der Lage sein, von dll zurückgegeben werden.