Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1834

 

Salutations. Pouvez-vous me dire comment connecter une EA à une dll en C# ?

Je crée une application et une bibliothèque

De l'application fonctionne

EA

#property strict

#import "C:\Users\Андрей\source\repos\ConsoleAppForMql\ClassLibraryForMql\bin\Debug\ClassLibraryForMql.dll"
void Method();
#import

int OnInit(){

Print("  до вызова Method()");
Method();


return(INIT_SUCCEEDED);}

void OnDeinit(const int reason){

}
void OnTick(){

}

Sorties

Je suppose qu'il ne peut pas trouver Method() car il est à l'intérieur de la classe ClassForMql, mais il n'est pas clair comment le spécifier.

 
Andrey Sokolov #:

Salutations. Pouvez-vous me dire comment connecter une EA à une dll en C# ?

Si c'est MT4 alors "mâcher" l'article https://www.mql5.com/ru/articles/249

Vous attendez un voyage fascinant dans le monde des exportations incontrôlées ;)))


Si c'est MT5, commencez par un peu, connectez d'abord le code de test de Metaquothttps://www.mql5.com/ru/forum/285631.

 
Igor Makanu #:

si c'est MT4, alors "mâchez" l'articlehttps://www.mql5.com/ru/articles/249.

Vous allez faire un voyage fascinant dans le monde des exportations non gérées ;)))


Si c'est MT5, commencez petit, connectez d'abord le code de test de Metakvothttps://www.mql5.com/ru/forum/285631.

Si oui, alors 5. 4 sera également nécessaire, mais plus tard.

 
Igor Makanu #:

Un voyage fascinant dans le monde des exportations incontrôlables vous attend )))).

C'esten effet très excitant))))

 

avec Console.ReadKey est particulièrement agréable...

la console doit encore être ouverte parce qu'elle n'est pas en MT, elle est fermée

 
Maxim Kuznetsov #:

avec Console.ReadKey est particulièrement agréable...

La console doit encore être ouverte car elle n'est pas en MT, elle est fermée.

Ceci est pour les tests de l'application

 
Igor Makanu #:

si MT5, commencez petit, connectez d'abord le code de test de Metacquothttps://www.mql5.com/ru/forum/285631

Si vous faites comme dans l'aide

puis
.

Messieurs, dites-moi comment faire ?

Ou peut-être quelqu'un a-t-il un exemple de la façon de procéder ?

 
Andrey Sokolov #:

Si vous faites comme dans l'aide

puis
.

Messieurs, pouvez-vous me dire comment faire ?

Ou peut-être quelqu'un a-t-il un exemple de la façon de procéder ?

#import"nom_fichier"
...
#import

Les descriptions des fonctions suivent directement la directive #import "nom du module".

Lanouvelle commande #import complète le bloc de descriptions de fonctions à imp orter.

 
Tretyakov Rostyslav #:

#import"nom_fichier"
...
#import

La description des fonctions suit immédiatement la directive #import "nom du module".

La nouvelle commande #import complète le bloc de descriptions de fonctions à imp orter.

Quelqu'un sait-il pourquoi il en est ainsi dans l'aide ?

Merci. Une erreur de moins. Des conseils pour le reste ?


 
Andrey Sokolov #:

Quelqu'un sait-il pourquoi l'aide est comme ça ?

Merci. Une chose de moins à s'inquiéter. Pouvez-vous me dire le reste ?


Andrey, vous avez une approche très étrange de l'étude de la programmation. Je n'ai jamais essayé de travailler avec des fichiers .dll, mais en regardant la documentation, j'ai remarqué que

#import "имя_файла" 
    func1 define; 
    func2 define; 
    ... 
    funcN define; 
#import

Où se trouve la déclaration de fonction dans votre code ?

Et puis dans l'exemple

#import "ExpertSample.dll" 
int    GetIntValue(int); 
double GetDoubleValue(double); 
string GetStringValue(string); 
double GetArrayItemValue(double &arr[],int,int); 
bool   SetArrayItemValue(double &arr[],int,int,double); 
double GetRatesItemValue(double &rates[][6],int,int,int); 
#import

les fonctions qui sont censées être appelées depuis le code sont listées...

Où se trouvent les fonctions dans votre code ?

Raison: