Websocket comment ? - page 13

 
Igor Makanu:

Il y a toujours quelque chose qui cloche, en théorie ce code devrait fonctionner.

C#

MQL5

J'obtiens des erreurs de compilation, le paramètre t1 ne peut pas être converti.

Le type MqlTick défini en C# et le type MqlTick défini en MQL sont des types différents.
Changez le nom du type dans Sharp et travaillez uniquement avec ce type.
Ou copier les valeurs retournées dans le type Mql

 
Vladimir Suslov:

Le type MqlTick défini en C# et le type MqlTick défini en MQL sont des types différents.
Changer le nom du type dans Sharp et ne travailler qu'avec ce type
ou copier les valeurs retournées dans le type Mql

Je ne l'ai pas testé (le PC est occupé avec le réseau qui traîne en ville !!!),

mais je pense que cela fonctionnera comme vous l'écrivez

il n'y a pas de documentation appropriée sur les échanges MQL-C# en général, mon exemple utilise l'alignement des champs de la structure, dans le vôtre les champs sont de la même taille, et s'il y a d'autres types, que se passera-t-il lors de l'échange de données? - Je pense qu'au mieux, il s'agira d'une erreur de temps, au pire, d'une perte de données.

Il y a un bon article sur la gestion des structures en C# sur Habra, je me souviens, que dans C# c'est l'alignement par défaut, mais dans MQL c'est le contraire - je le retrouverai plus tard, quand je serai libre.

 
Igor Makanu:

Je n'ai pas vérifié (réseau PC suspendu ville occupée !!!),

Le réseau urbain semble être mort partout. Le nôtre à Volgograd fait aussi du surplace. Site miraculeux :)))

 
Igor Makanu:

Je ne l'ai pas testé (le PC de la ville en réseau est occupé ! !!),

Mais je pense que cela fonctionnera comme vous l'écrivez

il n'y a pas de documentation appropriée sur les échanges MQL-C# en général, mon exemple utilise l'alignement des champs de la structure, dans votre exemple les champs sont de la même taille, et s'il y a d'autres types, que se passera-t-il lors de l'échange de données ? - Je pense qu'au mieux, il s'agira d'une erreur de temps, au pire, d'une perte de données.

il y a un bon article sur Habra sur le travail avec des structures en C#, je me souviens qu'en C# l'alignement est par défaut, mais en MQL c'est l'inverse - je le retrouverai plus tard, quand j'aurai assez d'espace sur mon PC

J'ai donné un exemple avec une structure simple avec deux dubs.
Il n'y a rien à aligner.
Une structure plus complexe peut nécessiter un alignement.
Cela doit être vérifié.

ps le réseau est ok)

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

Fedor, il ne reste plus qu'un dernier cas de test : obtenir la structure des tics de sharp à mql. Réfléchissez à la manière de le mettre en œuvre, tous les exemples sont ici, Volodya a montré comment obtenir des données en tant que structure à partir de sharp.

J'attends le résultat final.

Je vais le faire maintenant. Qu'en pensez-vous ? Cela fonctionnera-t-il dans MT4 ?
 

Je l'ai fait. Je vous ai envoyé un message via le chat


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

Si vous avez besoin de transférer une grande quantité d'informations hétérogènes, il est préférable de procéder de la même manière que pour le socket web : empaqueter l'information dans un json du côté de l'utilisateur, l'encoder dans une chaîne et la renvoyer sous forme de chaîne, et effectuer la conversion inverse du côté du mql. Il fonctionne très rapidement, je l'ai testé. :)

Mais il est préférable d'utiliser des méthodes régulières, par exemple les mêmes structures, si possible. :)

Non, j'ai besoin de structures, les structures sont pratiques. Merci, j'ai maintenant une vision claire de la façon dont les choses fonctionnent en C# + MQL5.


Vladimir Suslov:

J'ai donné un exemple avec une structure simple avec deux dubs.
Il n'y a rien à aligner.
Pour une structure plus complexe, vous pouvez avoir besoin d'un alignement.
Cela doit être vérifié.

ps le réseau est ok)

J'ai trouvé un article sur les structures en C#https://habr.com/ru/post/114953/.

Dans l'ensemble, il y a suffisamment de matériel pour travailler, merci.

 

Je vais couper un peu, puisque tous les acteurs sont probablement fatigués du spectacle.

Qu'en est-il de la consommation de mémoire et de processeur, en particulier lorsque vous exécutez plusieurs de ces EA en même temps ?

ils ne sont pas surpuissants s'ils sont lancés à partir du même processus ?

À mon humble avis, une recette inachevée (jusqu'à présent) consiste à prendre Socket MQL et à y réduire au minimum les fonctions http+websocket. Au moins, cela fonctionnera sur les méta-citations VPS. Bien sûr, c'est un coucher de soleil à la main, mais regardez les articles - ainsi même MySQL est abordé de cette manière

 
Fedor Arkhipov:
Je vais le faire maintenant. Qu'en pensez-vous ? Cela fonctionnera-t-il dans MT4 ?

uniquement par la méthode de l'article https://www.mql5.com/ru/articles/249

MQL4 ne sait pas comment appeler du code géré, ou écrire un wrapper en C++ et l'utiliser pour appeler .Net ou l'article ci-dessus, j'ai vérifié l'article l'année dernière - tout fonctionne, mais il y a beaucoup de travail - beaucoup de pièges, si vous êtes intéressé ne commencez pas, vous avez besoin de beaucoup de temps pour googler du matériel quand les problèmes surviennent

 
Maxim Kuznetsov:

Je vais m'interrompre un peu, pour la bonne raison que tous les acteurs sont probablement fatigués par la pièce.


Vous pouvez louer un SDV Windows normal et le faire fonctionner à partir d'une DLL, vous pouvez faire fonctionner plusieurs terminaux simultanément.

Raison: