Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1834

 

Grüße. Können Sie mir bitte sagen, wie man einen EA mit einer DLL in C# verbindet?

Ich erstelle eine Anwendung und eine Bibliothek

Aus der Anwendung funktioniert

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(){

}

Ausgänge

Ich nehme an, dass es Method() nicht finden kann, da es innerhalb der Klasse ClassForMql ist, aber es ist nicht klar, wie man es angeben kann.

 
Andrey Sokolov #:

Grüße. Könnten Sie mir bitte sagen, wie man einen EA mit einer DLL in C# verbindet?

Wenn es MT4 ist, dann "kaue" den Artikelhttps://www.mql5.com/ru/articles/249

Es erwartet Sie eine faszinierende Reise in die Welt der unkontrollierten Exporte )))


Wenn es sich um MT5 handelt, fangen Sie mit ein wenig an, verbinden Sie zuerst den Testcode von Metaquothttps://www.mql5.com/ru/forum/285631

 
Igor Makanu #:

Wenn dies MT4 ist, dann "kauen" Sie auf dem Artikelhttps://www.mql5.com/ru/articles/249

Es erwartet Sie eine faszinierende Reise in die Welt der unkontrollierten Ausfuhren )))


Wenn es sich um MT5 handelt, fangen Sie klein an und verbinden Sie zunächst den Testcode von Metacquothttps://www.mql5.com/ru/forum/285631

Wenn ja, dann 5. 4 wird ebenfalls benötigt, aber später.

 
Igor Makanu #:

Eine faszinierende Reise in die Welt der unkontrollierbaren Exporte erwartet Sie ))))

Es war in der Tat sehr aufregend)))

 

mit Console.ReadKey ist besonders schön...

die Konsole muss immer noch geöffnet werden, weil sie nicht in MT ist, sondern geschlossen ist

 
Maxim Kuznetsov #:

mit Console.ReadKey ist besonders schön...

Die Konsole muss noch geöffnet werden, da sie sich nicht in MT befindet, sondern geschlossen ist.

Dies ist für Tests aus der Anwendung

 
Igor Makanu #:

wenn MT5, fangen Sie klein an, verbinden Sie zuerst den Testcode von Metacquothttps://www.mql5.com/ru/forum/285631

Wenn Sie wie in der Hilfe tun

dann
.

Meine Herren, können Sie mir sagen, wie man das macht?

Oder hat vielleicht jemand ein Beispiel, wie es geht?

 
Andrey Sokolov #:

Wenn Sie wie in der Hilfe
vorgehen

dann
.

Meine Herren, können Sie mir sagen, wie man das macht?

Oder hat vielleicht jemand ein Beispiel dafür, wie man es macht?

#import"datei_name"
...
#import

Die Funktionsbeschreibungen folgen direkt nach der Direktive #import "module name".

Derneue Befehl #import vervollständigt den Block der zu importierenden Funktionsbeschreibungen.

 
Tretyakov Rostyslav #:

#import"datei_name"
...
#import

Die Funktionsbeschreibungen folgen unmittelbar nach der Direktive #import "module name".

Der neue Befehl #import vervollständigt den Block der zu importierenden Funktionsbeschreibungen.

Weiß jemand, warum dies in der Hilfe so ist?

Danke. Ein Fehler weniger. Haben Sie einen Rat für den Rest?


 
Andrey Sokolov #:

Weiß jemand, warum die Hilfe so ist?

Ich danke Ihnen. Eine Sache weniger, über die man sich Sorgen machen muss. Können Sie mir den Rest erzählen?


Andrey, du hast einen sehr seltsamen Ansatz für das Studium der Programmierung. Ich habe noch nie versucht, mit .dll-Dateien zu arbeiten, aber bei der Durchsicht der Dokumentation habe ich festgestellt, dass

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

Wo ist die Funktionsdeklaration in Ihrem Code?

Und dann im Beispiel

#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

die Funktionen, die aus dem Code aufgerufen werden sollen, aufgelistet sind...

Wo befinden sich die Funktionen in Ihrem Code?

Grund der Beschwerde: