Services. Sont-ils déjà opérationnels ? - page 15

 
Igor Makanu:

HH : Je ne sais pas comment passer price[] en C#sans copier - des options ?

ArraySwap.

 
fxsaber:

ArraySwap.

Hélas, cela n'a pas fonctionné, le compilateur trace toujours const ( 'price' - une variable constante ne peut être passée comme référence Momentum_DLL.mq5 57 17 )

Voici 2 fonctions de calcul en C# oncalculate, l'une doit passer par référence ( ref ) un tableau de prix, la seconde passe juste un tableau comme paramètre ( sans ref ), je n'ai pas réussi à gagner sans copier - j'ai écrit dans le commentaire MQL la signature de la fonction


Dossiers :
 
Igor Makanu:

Hélas, cela n'a pas fonctionné, le compilateur trace toujours const ( 'price' - une variable constante ne peut être passée comme référence Momentum_DLL.mq5 57 17 )

Voici 2 fonctions de calcul en C# oncalculate , l'une passe par référence ( ref ) le tableau de prix, la seconde passe juste le tableau comme paramètre ( sans ref ), je n'ai pas encore réussi à gagner sans copier - j'ai écrit dans le commentaire MQL de la signature de la fonction

ME ne montre aucune constance dans la signature.


 
fxsaber:

ME montre qu'il n'y a pas de const dans la signature.


Oui, c'est vrai, c'est une caractéristique de C# d'interdire l' écriture de const dans la signature

http://qaru.site/questions/672666/const-function-parameter-in-c

et la caractéristique de MQL est d'interdire le passage de tableaux par paramètre, c'est-à-dire uniquement par référence

Константный параметр функции в С#
  • 2012.06.11
  • TheLazyChap
  • qaru.site
Имея запрограммированный в С++ в прошлом, я помню, что мы могли бы сделать постоянный параметр reference/pointer в методе. Если моя память правильная, ниже указано, что метод не может изменить ссылку, а сама ссылка является постоянной...
 
Igor Makanu:

Oui, c'est vrai, c'est une caractéristique de C# d'interdire l'écriture de const dans la signature d'une fonction.

Je ne le comprends probablement pas bien, mais cette fonctionnalité C# a l'air délirante !

 
fxsaber:

Je ne comprends probablement pas bien, mais cette fonctionnalité de C# a l'air folle !

comme le dit le dicton ... ce que vous obtenez gratuitement, vous l'utilisez ))))

N'y a-t-il aucun moyen de "tromper" le compilateur avec une définition ou un modèle pour se débarrasser de cette limitation dans MQL ?

 
Igor Makanu:

N'y a-t-il pas moyen de "tromper" le compilateur avec une définition ou un modèle pour contourner cette limitation dans MQL ?

J'ai posé une question.

 
Реter Konow :

La question est de savoir si une communication bidirectionnelle peut être organisée entre les services et le conseiller via les ressources.

Si c'est le cas, c'est définitivement une chose utile et utile !

Vous avez tout à fait raison. C'est possible avec la version actuelle, mais vous devez créer une sorte de solution dédiée. Il serait bon d'avoir une solution intégrée pour la communication entre les EA/indicateurs et les services ainsi qu'entre les services. Renat le sait sans aucun doute.

J'ai hâte de voir la solution de Metaquotes pour ces problèmes de communication :-)

 
Alain Verleyen:

Vous avez tout à fait raison. C'est possible avec la version actuelle, mais vous devez créer une solution spéciale. Il serait bon d'avoir une solution intégrée pour la communication entre les experts/indicateurs et les services ainsi qu'entre les services. Renat le sait sans aucun doute.

J'ai hâte de voir la solution de Metaquotes pour ces problèmes de communication :-)

J'ai une solution pour la communication entre les EAs et les indicateurs sur MT5. Je suis en train de le tester. Il est connu que tout codeur expérimenté peut transférer des données entre ses EA et ses indicateurs via des ressources, mais si nous parlons du développement d'une communication complexe et multidimensionnelle des programmes MT5 comme partie intégrante du trading algorithmique moderne, nous avons besoin d'une méthode de communication bien pensée et développée, mise en œuvre dans un "médiateur" spécial, qui coordonne le flux de données. C'est mon sujet et je suis en train de le développer. :)
 

Avec les variables globales du terminal, vous pouvez transférer jusqu'à 8 octets d'informations dans une variable.

Pour différencier les accès de différents programmes MQL5, vous pouvez utiliser GlobalVariableSetOnCondition