Aufrufen von Funktionen aus der DLL und Rückgabe von Ergebnissen

 
Ich interessiere mich für diese Frage: ja, wir können dll-Funktion von EA aufrufen und aktuelle Parameter dort übergeben, aber wie von dll nach der Entscheidung, um zu platzieren???? Das erste, was uns in den Sinn kommt, ist das Ergebnis zurückzugeben, so dass EA die Order setzt, aber in einigen anderen schwierigen Fällen, z.B. haben wir beschlossen, die alte Order zu schließen und 2 Pending Orders in verschiedene Richtungen mit Stop Loss und Take Profit zu setzen. Wie sollten wir dem Expert Advisor in diesem Fall Signale geben? Es gibt keine Struktur oder Liste in der Sprache. Und das ist der einfachste Fall. Was sollen wir tun, wenn das System mit mehreren Aufträgen gleichzeitig arbeitet? Wenn wir Aufträge direkt von der DLL aus schließen/ausführen/ändern könnten, wäre das kein Problem.
 
Organisieren Sie ein oder mehrere Arrays in der EA. Geben Sie sie an den dll weiter. Dort führen Sie nützliche Aktionen durch und füllen diese Arrays mit Werten. Analysieren Sie dann diese Werte im Expert Advisor und platzieren Sie Aufträge, wie und wo Sie wollen.
 
Das ist furchtbar lästig, wenn es nur eine Reihe von Strukturen gäbe... Wenn es mehrere Aufträge gibt, bedeutet das ein Array für jeden Auftragsparameter und diese ganze Menge von Arrays in einer Funktion... Es wäre einfacher, 3 Verweise auf Prozeduren zum Setzen/Löschen/Ändern von Aufträgen zu übergeben, und die DLL würde sie einfach intern aufgreifen. Außerdem gibt es keine Definition von Konstanten oder Aufzählungstypen, was bedeutet, dass ich anstelle von res_SetOrder 1 oder eine andere Zahl übergeben und mir alle diese Werte merken muss... Und sie wollen dies als "vollwertigen" Api-Ersatz verkaufen...
 
Und wenn Sie darüber nachdenken, werden Sie eine tolle und schöne Lösung finden.
Man muss es nur wollen...
 
Sie meinen, es gibt bereits eine Lösung und ich bin eingeladen, sie zu erraten :) oder bin ich eingeladen, sie zu erfinden, weil Sie sie nicht kennen? Für mich wäre es die normalste Lösung, dem Händler die Möglichkeit zu geben, Aufträge zu erteilen und Zugang zu Informationen über offene Positionen zu haben - es gäbe keine Notwendigkeit, Parameter hin und her laufen zu lassen.
 
Sie meinen, es gibt eine Lösung und ich bin eingeladen, sie zu erraten :) oder bin ich eingeladen, sie zu erfinden, weil Sie sie nicht kennen?


Nein, er gibt nur an. Sein hypertrophes Selbstbewusstsein hindert ihn daran, eine normale Antwort zu geben. Ungeteilt durch das Forum :)
 
В смысле решение уже есть и мне предлагается о нем догадаться :) или мне предлагается его изобрести потому что Вы о нем не знаете?


Nein, er gibt nur an. Sein hypertrophes Selbstbewusstsein hindert ihn daran, eine angemessene Antwort zu geben. Wird vom Forum nicht geteilt :)

Liebe Testerin, lieber Tester,

Für bissige Bemerkungen gibt es andere, freiere Foren, in denen vieles erlaubt ist.
Und in unserem Forum gelten die Regeln, die auf der Seite https://www.mql5.com/en/forum beschrieben sind, und denen Sie zugestimmt haben, als Sie das Forum betreten haben. Bitte lesen Sie es noch einmal.

Dies ist eine Warnung.
 
Mmmm, was ist mit der Antwort auf meine Frage? Gibt es eine Lösung oder gibt es keine? Und wenn ja, lesen Sie sie bitte vor.
 
В смысле решение уже есть и мне предлагается о нем догадаться :) или мне предлагается его изобрести потому что Вы о нем не знаете?


Да нет, он просто выпендривается. Дать нормальный ответ ему не позволяет гипертрофированное чувство собственной значимости. Неразделенное форумом :)

Liebe Testerin, lieber Tester,

Für bissige Bemerkungen gibt es andere, freiere Foren, in denen vieles erlaubt ist.
Und unser Forum hat Regeln, die auf der Seite https://www.mql5.com/en/forum beschrieben sind, und denen Sie zugestimmt haben, als Sie das Forum betreten haben. Bitte lesen Sie es noch einmal.

Dies ist eine Warnung.


Entschuldigung, gegen welchen Absatz habe ich verstoßen?
 
Verdammt, Tester, musstest du so einen provokanten Beitrag schreiben? Was war der Sinn der Sache? Mike hat eine Frage gestellt, die viele Leute interessiert, mich natürlich auch, und Renat hat gesagt, dass es eine gute Lösung gibt. Nun, Sie müssen ihm eine verständliche Antwort geben. Brauchen Sie eine Antwort oder eine Gelegenheit zum Argumentieren? (Nur für den Fall - nach jedem Satz - :)

Lieber Renat! Könnten Sie Ihre Vorstellung von einer einfachen und schönen Lösung ein wenig präzisieren? Oder zumindest einen Hinweis darauf geben, wo der Hund versteckt ist?

Hochachtungsvoll, usw.
 
Verdammt, Tester, musstest du so einen provokanten Beitrag schreiben? Was war der Sinn der Sache? Mike hat eine Frage gestellt, die viele Leute interessiert, mich natürlich auch, und Renat hat gesagt, dass es eine gute Lösung gibt. Sie müssen ihm also eine verständliche Antwort geben. Brauchen Sie eine Antwort oder eine Gelegenheit zum Argumentieren? (nur für den Fall - nach jedem Satz - :)<br / translate="no">

Ja, das musste ich :( Ich wollte Renat zu verstehen geben, dass seine Antworten dieser Art nur eine verschleierte Form sind, ihm zu sagen, dass er sich verpissen soll... Anstelle von substanziellen Antworten ist es eine Show seiner eigenen Großartigkeit. Ah, die Jugend :)

Deshalb würde ich mich nicht darauf einlassen wollen, ihm eine verständliche Antwort zu entlocken". Ich möchte verständliche Antworten erhalten, ohne sie zu verdrehen. Das setzt aber voraus, dass man den Nutzern helfen will, anstatt ihre "dummen" Fragen einfach beiseite zu schieben.

P.S. Obwohl ich zugeben muss, dass ich diese Einstellung hatte, als ich jung war :)
Grund der Beschwerde: