MT5 et trans2quik.dll - page 2

 
Aleksey Vyazmikin:

Et la bibliothèque pour donner des ordres au Quicksilver est un succès ?


Il n'y a rien de compliqué, la bibliothèque API est là.

Ajouté

Et l'ordre donné n'est pas arrivé au point, parce qu'il n'y a pas de

La situation d'arbitrage (DiffLong ou DiffShort) doit être positive d'au moins 5 points.

Pendant 10 jours d'essais 24 heures sur 24, aucune situation d'arbitrage ne s'est présentée.

les valeurs sont toujours négatives :(

 

Faire remonter le sujet....

Je veux relier MT5 et Quik à nouveau.

La tâche est

Recevoir les données de MT5 pour les transmettre à l'application OWN qui donnera des ordres à Quik via la dll trans2quik et contrôlera les positions.

donnera des ordres à Quik, via trans2quik.dll et contrôlera les positions.

Question :

Quelle est la meilleure façon de mettre en œuvre le transfert de données de MT5 vers mon application ?

 
prostotrader:

Faire remonter le sujet....

Je veux relier MT5 et Quik à nouveau.

La tâche est

Recevoir les données de MT5 pour les transmettre à l'application OWN qui donnera des ordres à Quik via la dll trans2quik et contrôlera les positions.

donnera des ordres à Quik, via trans2quik.dll et contrôlera les positions.

Question :

Quelle est la meilleure façon d'implémenter les données de MT5 dans ma propre application ?

Je ne comprends pas pourquoi vous faites tant d'histoires et pourquoi vous n'aimez pas Lua. De Lua, on passe à DLL, et de DLL à l'application.

En ce qui concerne le transport des données. Voilà ce que je fais.

Nous formons les données du terminal en chaînes CSV au format char. Le tableau de caractères est envoyé à la DLL et la DLL l'envoie à l'application avec le serveur TCP. Le même canal TCP est utilisé pour renvoyer les caractères au terminal.

Les performances de ce canal sont >1,5 GB/s, y compris la conversion des données vers et depuis les chaînes de caractères.

 
Yuriy Asaulenko:

Je ne comprends pas pourquoi vous faites tant d'histoires et pourquoi vous n'aimez pas Lua. De Lua, on passe à la DLL, et de la DLL à l'application.

En ce qui concerne le transport des données. C'est ce que je fais.

Nous formons les données du terminal en chaînes CSV au format char. Le tableau de caractères est envoyé à la DLL et la DLL l'envoie à l'application avec le serveur TCP. Le même canal TCP est utilisé pour renvoyer les caractères au terminal.

La vitesse de ce canal est >1,5 GB/s et comprend la conversion des données vers et depuis les lignes.

Yuri, avez-vous une expérience de l'arrimage d'une DLL .NET sur Sharpe avec LUA, par hasard ? Très nécessaire.


 
Dmitriy Skub:
Yuri, avez-vous eu par hasard une expérience de l'ancrage de DLL .NET sur Sharp avec Lua ? Très nécessaire.

Sur Sharpe, il n'y en avait pas. Mais l'utilisation de NET dans les DLLs natives existe. Disons, le même client TCP - Sockets de la bibliothèque NET. Il est écrit en code mixte C++. Si vous avez besoin d'une instance, la DLL TCP-client arrimée au Lua peut la fournir.

 
Yuriy Asaulenko:

Sur Sharpe, il n'y en avait pas. Mais l'utilisation de NET dans les DLLs natives existe. Disons, le même client TCP - Sockets de la bibliothèque NET. Il est écrit en code mixte C++. Si vous avez besoin d'une instance, je peux vous donner la DLL TCP-client dockée avec Lua.

Si ce n'est pas difficile - pour ne pas réinventer la roue inutilement)

 
Dmitriy Skub:

Si ce n'est pas trop difficile - pour ne pas réinventer la roue inutilement)

Envoyez-moi un courriel pour que je puisse m'en souvenir. Je ne pense pas pouvoir le faire aujourd'hui, mais demain ou après-demain, je vais rassembler quelques éléments, m'assurer qu'ils fonctionnent et vous les envoyer.

Mais DLL est C++, pas Sharp.

 
J'ai fait quelque chose de similaire une fois mais à travers Lua. Voici un exemple de travail sur les pros :
https://quikluacsharp.ru/stati-uchastnikov/otsylka-tranzaktsij-iz-s-bez-ispolzovaniya-lua-koda/
 
Yuriy Asaulenko:

Je ne comprends pas pourquoi vous faites tant d'histoires et pourquoi vous n'aimez pas Lua. De Lua, on passe à la DLL, et de la DLL à l'application.

En ce qui concerne le transport des données. C'est ce que je fais.

Nous formons les données du terminal en chaînes CSV au format char. Le tableau de caractères est envoyé à la DLL et la DLL l'envoie à l'application avec le serveur TCP. Le même canal TCP est utilisé pour renvoyer les caractères au terminal.

La vitesse d'un tel canal est >1,5 GB/s, y compris la conversion des données en chaînes de caractères et inversement.

1. Et puis il y a le fait qu'on ne peut pas tester correctement un robot en Lua.

2. MT5 obtient des devis beaucoup plus rapidement
 
prostotrader:

1. et ensuite parce que vous ne pouvez pas tester correctement un robot en lua.

2. MT5 est beaucoup plus rapide pour obtenir des devis

1. j'utilise mon propre testeur. Conception très simple.

2. J'ai lu il y a quelques années que Quick est un peu retardé dans l'affichage des graphiques, afin de minimiser le retard des cotations.

En général, les performances de Quick et Quick-Loop sont suffisantes pour le scalping et le travail avec stack et strip. Mais si vous avez besoin de plus de vitesse, vous avez probablement raison.