Websocket comment ? - page 19

 
Renat Fatkhullin:

Non, c'est un objet synchrone.

Je pensais que vous aviez écrit que vous prévoyiez des fonctions pour l'asynchronisme dans mql.
Peut-être que l'événementOnSocket peut être assigné là aussi?

 
Renat Fatkhullin:

Non, c'est un objet synchrone.

Je suis également favorable à l'utilisation d'un gestionnaire d'événement de socket afin de ne pas avoir à effectuer un sondage continu par timer. Je suis sûr que les développeurs pourraient l'implémenter de manière plus élégante.

 
Maxim Kuznetsov:

Maxim, puisque vous avez affaire à des Websockets, pouvez-vous essayer de vous connecter au socket wss://api.huobi.pro/ws dans votre projet sans paramètres supplémentaires ?

Le but est de savoir si c'est la bibliothèque que nous utilisons en C# ou non.

IMHO la prise devrait s'ouvrir dans tous les cas, ainsi que par le site, sans aucun paramètre supplémentaire.

 
Fedor Arkhipov:

Maxim, puisque vous avez affaire à des Websockets, pouvez-vous essayer de vous connecter au socket wss://api.huobi.pro/ws dans votre projet sans paramètres supplémentaires ?

Le but est de savoir si c'est la bibliothèque que nous utilisons en C# ou non.

IMHO la prise devrait s'ouvrir dans tous les cas, ainsi que par le site, sans aucun paramètre supplémentaire.

La prise s'ouvre, même l'abonnement fonctionne.

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|☺œ

les données sont envoyées, mais soit ce n'est pas GZ de la documentation, soit ce sont des en-têtes intelligents de fabrication chinoise :-)

doivent s'occuper de leur compression, mais honnêtement, je suis trop paresseux :-)

PS script, qui le fait ci-joint, il y a des lignes seulement rien... il est possible de le tirer de 4.

Dossiers :
hibou.zip  1 kb
 
Maxim Kuznetsov:

PS le script qui fait cela est joint, il n'y a que quelques lignes...vous pouvez le tirer de 4.

Merci beaucoup ! Il s'agit donc de la bibliothèque C#.

 
Fedor Arkhipov:

Merci beaucoup ! Donc, il doit s'agir de la bibliothèque C#.

Je ne pense pas que ce soit si grave : elle doit plutôt modifier les options/réglages - premièrement, hibou prend beaucoup de temps pour se connecter, les minuteurs peuvent se planter, et deuxièmement, ils sont pointilleux sur les versions de TLS.

 
Fedor Arkhipov:

Merci beaucoup ! Il s'agit donc de la bibliothèque C#.

Non, il n'y a pas de problème dans la bibliothèque elle-même. J'ai dû passer un peu de temps, mais j'ai réussi à l'extraire.

J'ai téléchargé plusieurs exemples sur githab, y compris ceux indiqués, mais aucun d'entre eux n'a fait fonctionner la prise. C'était encore plus déroutant. Et la raison s'est avérée être le renforcement du certificat de sécurité sur le serveur du courtier.

Changez le paramètre dans l'instance de notre socket :

Nous ajustons légèrement la classe de programme


Ce changement a été effectué pour que le serveur ne soit pas codé en dur dans la bibliothèque, mais puisse être défini à partir du conseiller expert.

Le résultat :


Par conséquent, la bibliothèque est très diversifiée.

Ensuite, attachons l'appel de citation avec Fedor.

Il y a plus de parties intéressées par cet exemple, alors continuons à l'améliorer.

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

Cool ! Ça marche ! Merci beaucoup, Alexey !

 

J'ai essayé d'appliquer la bibliothèque à MT4, le fichier EA se compile sans erreur,

Mais lorsque je l'attache au graphique, je reçois l'erreur "Global initialization failed" si j'utilise une méthode qui renvoie un type simple.

Si j'essaie d'obtenir une structure, j'obtiens "Invalid ex4 file (8)".

Est-ce que ça marcherait si je jetais toutes les structures

Ou si vous avez besoin de jouer avec la IL ou les com-ports.

 
Fedor Arkhipov:

J'ai essayé d'appliquer la bibliothèque à MT4, le fichier EA se compile sans erreur,

Mais lorsque je l'attache au graphique, je reçois l'erreur "Global initialization failed" si j'utilise une méthode qui renvoie un type simple.

et si j'essaie d'obtenir une structure, j'obtiens "Invalid ex4 file (8)".

Peut-être que ça marchera si tu jettes toutes les structures.

le C# à 4 est une chanson triste à part.

à 5 est simple, il y a un shuffle à l'intérieur, sinon la chaîne ne pourrait pas être retournée de la dll.