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

 
novichok2018 #:

Und nicht nur das. Er sieht deutlich die offene Position (manuell), ihre Anschläge und wann sie geschlossen ist. Es ist, als ob es sich um einen Handel handelt.

Der Expert Advisor arbeitet mit dem Handelsserver zusammen, und alle Auftragsänderungen werden auf dem Server abgefragt.

Grob gesagt: Sie haben eine Position manuell eröffnet, der Expert Advisor hat bei einem neuen Tick oder durch den Timer den Server nach dem Status des Kontos gefragt, vom Server die Antwort erhalten, dass der Auftrag offen ist, und dann eine Nachricht an den Host gesendet.

 
Tretyakov Rostyslav #:

Der Expert Advisor arbeitet mit dem Handelsserver zusammen und alle Auftragsänderungen werden auf dem Server abgefragt.

Grob gesagt: Sie haben einen Handel manuell eröffnet, der Expert Advisor fragt bei einem neuen Tick oder Timer den Server nach dem Status des Kontos, erhält vom Server die Antwort, dass der Handel offen ist und sendet dann eine Nachricht an den Host.

Wenn dies der Fall ist, sieht der Master des EA andere Geschäfte, die auf anderen als seinem Symbol eröffnet wurden, oder vielmehr Änderungen im Konto, die durch diese verursacht werden, während er nur Geschäfte auf seinem Symbol sehen sollte.

 
novichok2018 #:

Wenn dies der Fall ist, sieht der EA-Besitzer andere Geschäfte, die nicht für sein Symbol eröffnet wurden, bzw. von diesen verursachte Kontoänderungen, während er nur Geschäfte für sein Symbol sehen sollte.

Wenn es keine Anfrage für sein Symbol gibt, z. B. if(OrderSymbol()=="EURUSD")

dann sieht er alle Berufe.

 
Tretyakov Rostyslav #:

Wenn sein EA nicht nach einem Symbol wie if(OrderSymbol()=="EURUSD") fragt

dann sieht er alle Gewerke.

Ist es jedoch möglich, in den Code hinzufügen, so dass der EA eine Position öffnet (oder spiegelt es) nicht auf dem Chart, wo es platziert ist, aber mit dem gleichen Symbol, aber auf einem anderen? Oder ist es prinzipiell nicht möglich?

 
novichok2018 #:

Ist es also möglich, im Code festzulegen, dass der EA eine Position nicht auf dem Diagramm öffnet (oder widerspiegelt), auf dem er eingestellt ist, sondern auf demselben Symbol, aber auf einem anderen Diagramm? Oder ist es prinzipiell nicht möglich?

Jede Anfrage zum Konto- oder Handelsstatus geht an das Netz, wo es keine Bedingungen und keinen Zeitrahmen gibt. Die Antwort auf Ihre Frage: Das ist nicht möglich.

 
novichok2018 #:

Ist es also möglich, im Code festzulegen, dass der EA eine Position nicht auf dem Diagramm öffnet (oder widerspiegelt), auf dem er eingestellt ist, sondern auf demselben Symbol, aber auf einem anderen Diagramm? Oder ist es prinzipiell nicht möglich?

Sie möchten, dass EA #2 alle von EA #1 eröffneten Positionen sieht, richtig?

Nun, das ist ganz einfach.

 
Alekseu Fedotov #:

Sie möchten, dass EA #2 (sagen wir mal) alle Positionen sieht, die von EA #1 eröffnet wurden, richtig?

Nun, das ist ganz einfach.

Er möchte, dass der Monitor nirgends sieht, dass er den EA-Handel stört.

 

Alexey Viktorov #:

  HideTestIndicators(true); 
   MaCurrent=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,0); 
   MaPrevious=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,1); 
   HideTestIndicators(false);



Danke für die vorherige Antwort, aber jetzt ein anderes Problem. Bei Tests, die länger als ein Jahr dauern, geht der Speicher zur Neige. Der Prüfer schreibt "Kanal_1". : kein Speicherplatz vorhanden. Also, "Kanal_1" : nicht initialisiert. Diese Meldungen erscheinen nach einer Testphase von einem Jahr oder mehr auf 3 Computern. Der Indikator (Kanal_1) ist über eine Ressource verbunden. Es wurde keine dynamische Speicherzuweisung über new vorgenommen. Das ganze Problem trat nach den im vorherigen Beitrag beschriebenen Änderungen auf. Ich habe begonnen, den angeschlossenen Indikator in einer Schleife durchlaufen zu lassen, und jedes Mal, wenn ich den Parameter intu (Periode) ändere, wird er geändert.

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2022.02.05
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Aleksandr Kononov #:

Danke für die vorherige Antwort, aber jetzt ein anderes Problem. Bei Tests, die länger als ein Jahr dauern, geht der Speicher zur Neige. Der Prüfer schreibt "Kanal_1". : kein Speicherplatz vorhanden. Also, "Kanal_1" : nicht initialisiert. Diese Meldungen erscheinen nach einer Testphase von einem Jahr oder mehr auf 3 Computern. Der Indikator (Kanal_1) ist über eine Ressource verbunden. Es wurde keine dynamische Speicherzuweisung über new vorgenommen. Das ganze Problem trat nach den im vorherigen Beitrag beschriebenen Änderungen auf. Ich habe begonnen, den Indikator in einer Schleife durchzugehen und jedes Mal, wenn ich den Parameter intu (Periode) ändere.

Vielleicht ist das das Problem? Versuchen Sie, die Ressource periodisch zu löschen

bool  ResourceFree( 
   const string  resource_name      // имя ресурса 
   );

Aber dann muss man sie dynamisch erstellen.

bool  ResourceCreate( 
   const string      resource_name,       // имя ресурса 
   const string      path                 // относительный путь к файлу 
   );

Das heißt, Sie müssen die Ressource erst löschen und dann neu erstellen. Das einzige Problem ist, dass ich nicht weiß, wie das funktionieren soll. Oder ob es überhaupt funktionieren wird. Wir werden es versuchen müssen...

 
Alekseu Fedotov #:

Sie möchten, dass EA #2 (sagen wir mal) alle Positionen sieht, die von EA #1 eröffnet wurden, richtig?

Nun, das ist ganz einfach.

Ja, genau: dass EA #2 alle von EA #1 eröffneten Positionen sehen würde. Nur wenn es für mich einfach wäre, würde ich nicht um Hilfe bitten.

Bisher sehe ich folgende Lösung: einen Indikator zu schreiben, der ein Objekt "Punkt" mit den Koordinaten der Positionseröffnung durch EA #1 erstellt und es auf einem Diagramm mit EA #2 installiert.

Wenn meine Logik richtig ist, brauche ich noch Hilfe beim Schreiben dieses Indikators.

Grund der Beschwerde: