Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 1112

 
paukas:
BestellungenGesamt()

Vielleicht verstehe ich es nicht, aber ich dachte nur, dass OrdersTotal()==0 das Gegenteil des Endziels meiner Schleife ist.

Was ich will, kann man sich auch so vorstellen:

Zustand;

while(AufträgeSumme()==0)

{

Der Handel ist verboten;

}

 
Mislaid:

Nein, 100 Charts reichen aus, aber Sie müssen den Indikator richtig schreiben.

Nun, ja. Sie können nicht mehr als 100 Charts in Metatrader öffnen.

Und wie kann das rechtzeitige Laden der Historie für alle Symbole und Zeitrahmen im Indikator organisiert werden?
Der ArrayCopySeries Aufruf wird es tun?

Beim Start des Indikators pumpt der ArrayCopySeries-Aufruf die Historie nicht nach neuen Symbolen ab.
Vielleicht ist er nicht gepumpt, weil der Markt am Wochenende geschlossen ist?
 

Guten Tag, ich brauche Hilfe! Wenn der EA arbeitet, wird die Order durch einen Stop geschlossen, und sofort auf einen neuen Tick wird eine neue Order auf demselben Balken in derselben Richtung eröffnet, was zur Folge hat, dass der Stop erneut ausgelöst wird, und dies kann sich mehrere Male wiederholen. Ziel ist es, eine neue Order zu eröffnen, nachdem sie durch einen Stop geschlossen wurde und erst nach der nächsten Kreuzung des kurzen MA mit dem langen MA. Wenn möglich, schlagen Sie bitte den Code in mql4 vor. Vielen Dank im Voraus!

 
Sokolmih:

Guten Tag, ich brauche Hilfe! Wenn der EA arbeitet, wird die Order durch einen Stop geschlossen, und sofort auf einen neuen Tick wird eine neue Order auf demselben Balken in derselben Richtung eröffnet, was zur Folge hat, dass der Stop erneut ausgelöst wird, und dies kann sich mehrere Male wiederholen. Ziel ist es, eine neue Order zu eröffnen, nachdem sie durch einen Stop geschlossen wurde und erst nach der nächsten Kreuzung des kurzen MA mit dem langen MA. Wenn möglich, schlagen Sie bitte den Code in mql4 vor. Ich danke Ihnen!

Wenn sich der Auftrag nicht ändert, sollte er nicht mehr gehandelt werden, und wenn es eine neue Kreuzung gibt, sollte er nicht gehandelt werden.

Ich werde den Code nicht von Grund auf neu schreiben - das ist etwas für Freiberufler.

 
RickD:
Nun, ja. Sie können nicht mehr als 100 Charts in Metatrader öffnen.

Und wie kann das rechtzeitige Herunterladen der Historie für alle Symbole und Zeitrahmen im Indikator organisiert werden?
Der ArrayCopySeries Aufruf wird es tun?

Beim Start des Indikators pumpt der ArrayCopySeries-Aufruf die Historie nicht nach neuen Symbolen ab.
Vielleicht ist er nicht gepumpt, weil der Markt am Wochenende geschlossen ist?

Sie brauchen ein Skript für die Wochenenden.

Ich arbeite an Wochentagen. Deshalb verwende ich den Indikator. Ich gebe ihm eine Liste von Instrumenten, und es fragt nach Kursen für den Zeitrahmen, auf dessen Chart es sich befindet. Ich kümmere mich nicht um die Fehlerbehandlung. Nach einem Dutzend Minuten hat sich alles beruhigt.

Das habe ich völlig vergessen. Wenn ich den Verlauf speichern will, muss ich unbedingt das Diagramm für das Symbol öffnen.

 
evillive:

Die Zeit oder der Preis der Überschreitung sollte in globalen Variablen des Terminals oder in einer Datei gespeichert werden, und die aktuelle Situation auf dem Chart sollte mit dem gespeicherten Wert verglichen werden; wenn es keine Veränderung gibt und die Order überschritten wurde - nicht erneut handeln, wenn es eine neue Überschreitung gibt - handeln.

Ich werde den Code nicht von Grund auf neu schreiben, das sollte ein Freiberufler machen.

Dankeschön

Ich verlange nicht den gesamten Code, aber bitte geben Sie einige Hinweise/Hinweise. So finden Sie den nächsten Crossover, können Sie helfen?

 
Sokolmih:

Dankeschön

Ich frage natürlich nicht nach dem gesamten Code, aber bitte geben Sie mir einige Hinweise/Vorschläge. So wird die nächste Kreuzung bestimmt, können Sie helfen?

Ja, auf die gleiche Weise wie die vorherigen, haben Sie einen EA, schauen Sie in den Code.
 
evillive:
Ja genau das gleiche wie die vorherigen, Sie haben die EA, schauen Sie in den Code.
Vielleicht habe ich die Frage nicht richtig gestellt, sehen Sie, ich habe in der Geschichte, dass die letzte Bestellung geschlossen am Anschlag und jetzt, nach Ihrem Rat, habe ich zu erinnern, den Wert der kurzen und langen, dann bei den nächsten Ticks habe ich sie mit den aktuellen Werten zu vergleichen und wenn man niedriger oder höher als die anderen wird, dann öffne ich eine Bestellung. Verstehe ich das richtig?
 
Sokolmih:
Vielleicht habe ich die Frage nicht richtig gestellt. Sehen Sie, ich habe die Historie überprüft und festgestellt, dass die letzte Order durch einen Stop geschlossen wurde, und jetzt sollte ich nach Ihrem Rat die Werte der Short und Long speichern und dann bei den nächsten Ticks mit den aktuellen Werten vergleichen, und wenn einer niedriger oder höher als der andere wird, dann eröffne ich eine neue Order. Verstehe ich das richtig?

Sie können sich die Eröffnungszeit des Balkens merken, an dem die Kreuzung der beiden MAs aufgezeichnet wird. Der Expert Advisor hat sich den Zeitpunkt der Überschreitung gemerkt und eine Order eröffnet. Anschließend wird das Vorhandensein eines Marktauftrags überwacht, und soweit ich weiß, gibt es nur einen Auftrag auf dem Markt.

Sobald der Auftrag geschlossen ist, vergleicht der Expert Advisor den Zeitpunkt des Auftragsschlusses mit dem Zeitpunkt der Überschreitung. Wenn OrderCloseTime>CrossTime, wird der Handel verboten und ein neuer Crossing überwacht. Wenn in diesem Zeitraum eine neue Kreuzung gefunden wird - denken Sie daran, dass es Zeit ist. In diesem Fall wird OrderCloseTime<CrossTime automatisch zu einem neuen Auftrag und ein neuer Auftrag wird eröffnet.

 
evillive:

Sie können sich die Eröffnungszeit des Balkens merken, an dem die Kreuzung der beiden MAs aufgezeichnet wird. Der Expert Advisor hat sich den Zeitpunkt der Überschreitung gemerkt und eine Order eröffnet. Anschließend wird das Vorhandensein eines Marktauftrags überwacht, denn soweit ich weiß, gibt es nur einen Auftrag auf dem Markt.

Sobald der Auftrag geschlossen ist, vergleicht der Expert Advisor den Zeitpunkt des Auftragsschlusses mit dem Zeitpunkt der Überschreitung. Wenn OrderCloseTime>CrossTime, wird der Handel verboten und ein neuer Crossing überwacht. Wenn in diesem Zeitraum eine neue Kreuzung gefunden wird - denken Sie daran, dass es Zeit ist. Dies wird automatisch zu OrderCloseTime<CrossTime und ein neuer Auftrag wird eröffnet.

Ich habe die Bedingungen, und jetzt versuche ich herauszufinden, wie man den Zeitpunkt der Eröffnung der Bar, wo die Kreuzung von zwei MAs festgelegt ist zu bestimmen. Danke für den Hinweis.