Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 745

 
Kommentare, die sich nicht auf dieses Thema beziehen, wurden nach "Fragen von MQL4 MT4 MetaTrader 4 Anfängern" verschoben.
 

Eine Frage, auf die ich keine klare Antwort gefunden habe:

Ich muss 2 Indikatoren mit vier Punkten verwenden. Ist es notwendig, einen Indikator 4 Mal in der Init und den anderen 4 Mal handschriftlich zu schreiben?

Es ist auch möglich, jeweils eine von ihnen zu verwenden, da sonst zu viele Zeilen in der Datei entstehen.

Ich habe keine Ahnung, wie man es benutzt.

 
Vitaly Muzichenko:

Eine Frage, auf die ich keine klare Antwort gefunden habe:

Ich muss 2 Indikatoren mit vier Punkten verwenden. Ist es notwendig, einen Indikator 4 Mal in der Init und den anderen 4 Mal handschriftlich zu schreiben?

Es ist auch möglich, jedes Mal eine von ihnen zu verwenden, da sonst zu viele Zeilen in der Datei entstehen.

Ich habe keine Ahnung, wie man es benutzt.

Stellen Sie sich vor, Sie müssen 8 Türen öffnen, jede mit einem anderen Schlüssel. Wie viele Schlüssel braucht man, um alle Türen zu öffnen?
 
Alexey Kozitsyn:
Stellen Sie sich vor, Sie müssen 8 Türen öffnen, jede mit einem anderen Schlüssel. Wie viele Schlüssel braucht man, um alle Türen zu öffnen?

Ein Dietrich und nicht mehr.

Kann ich es hier verwenden, gibt es eine Möglichkeit und ich weiß es nicht? Die Arbeiten wurden wegen der Unsicherheit eingestellt(

 
Vitaly Muzichenko:

Ein Dietrich und nicht mehr.

Ich kann es hier verwenden, vielleicht gibt es eine Möglichkeit und ich weiß es nicht?

Nein, es gibt nur Schlüssel.
 
Alexey Kozitsyn:
Nein, nur die Schlüssel hier.
Danke, jetzt werde ich mit Zuversicht tun und nicht darüber nachdenken, was richtig gemacht werden kann.
 
Hallo 2017.05.05_02:58 GMT+3. Wer kann mir sagen, wie man die Werte der letzten vier ZigZag-Punkte und ihre Indizes oder Bar Startzeiten in MQL5 in der EA-Programm-Code zu erhalten? Ich habe mich lange damit herumgeschlagen, aber bisher ist nichts dabei herausgekommen. Wenn ich den while- oder for-Schleifenoperator anwende, macht es keinen Unterschied, der Strategietester erzeugt einen Fehler in einem der Protokolle: Array-Überlauf in der Include-Datei. Hier ist die Include-Datei. Ich erhalte das Array von ZigZag-Werten mit der Funktion CopyBuffer() und dem ZigZag-Handle. Es scheint nur ZigZag-Punkte zu enthalten, so dass ich das Array nicht in aufsteigender Reihenfolge durchgehen kann. Das Array ist nicht mehr in Ordnung. Vielleicht weiß Herr Karputov, wie er die letzten ZigZag-Punkte bekommen kann, ohne aus dem Feld auszusteigen?
Ich habe sogar versucht, den Code des ZigZag-Indikators zu ändern, habe es aber nicht geschafft, ihn so umzuschreiben, dass auch Nullwerte in die Indikatorpuffer geschrieben werden. Ich habe versucht, es so umzuschreiben, dass Nullwerte während der Array-Verarbeitung keine Array-Grenzen überschreiten. Bisher ist es mir nicht gelungen, den Code von ZigZag vollständig zu verstehen und zu verstehen, wie er funktioniert. Es langweilt mich, deshalb schreibe ich im Forum.
Ich glaube, der manuelle Handel gehört der Vergangenheit an. Ich habe nicht genug Zeit, um zu handeln, ich will nicht einmal genug Schlaf bekommen und während der Mahlzeiten Geschäfte eröffnen. Ich glaube, ich kann einen Expert Advisor schreiben. Ich werde nicht aufgeben und aufgeben. Das ist alles für den Moment. Ich warte auf Ihre Antwort. 03:28 GMT+3. Verfasst um 03:56 GMT+3.
Dateien:
TDiff.mqh  2 kb
 
Николай Никитюк:
Hallo 2017.05.05_02:58 GMT+3. Wer kann mir sagen, wie man die Werte der letzten vier ZigZag-Punkte und ihre Indizes oder Bar Startzeiten in MQL5 in der EA-Programm-Code zu erhalten? Ich habe mich lange damit herumgeschlagen, aber bisher ist nichts dabei herausgekommen. Wenn ich den while- oder for-Schleifenoperator anwende, macht es keinen Unterschied, der Strategietester erzeugt einen Fehler in einem seiner Protokolle: Array-Überlauf in der Include-Datei. Hier ist die Include-Datei. Ich erhalte das Array von ZigZag-Werten mit der Funktion CopyBuffer() und dem ZigZag-Handle. Es scheint nur ZigZag-Punkte zu enthalten, so dass ich das Array nicht in aufsteigender Reihenfolge durchgehen kann. Es kommt zu einer Array-Überschreitung.

Nein. Alle Punkte werden dort erfasst, auch leere Punkte.

Mykola Nikityuk:
Ich habe sogar versucht, den Code des ZigZag-Indikators zu ändern, aber es ist mir nicht gelungen, ihn so umzuschreiben, dass auch Nullwerte in die Indikatorpuffer geschrieben werden. Ich habe es nicht geschafft, ihn so umzuschreiben, dass er bei der Verarbeitung von Arrays durch die Schleife nicht überläuft. Bisher ist es mir nicht gelungen, den Code von ZigZag vollständig zu verstehen und zu verstehen, wie er funktioniert. Es langweilt mich, deshalb schreibe ich im Forum.
Ich glaube, der manuelle Handel gehört der Vergangenheit an. Ich habe nicht genug Zeit, um zu handeln, ich will nicht einmal genug Schlaf bekommen und während der Mahlzeiten Geschäfte eröffnen. Ich glaube, ich kann einen Expert Advisor schreiben. Ich werde nicht aufgeben und aufgeben. Das ist alles für den Moment. Ich warte auf Ihre Antwort. 03:28 GMT+3. Verfasst um 03:56 GMT+3.

Um die Array-Grenzen loszuwerden, sollten Sie sich mit Array-Richtungen beschäftigen.

Um die Indizes oder die Zeit der Balken zu erhalten, sollten wir die Zeit der Balken mit CopyTime() oder CopuRates() zusammen mit dem Kopieren des Indikatorpuffers kopieren, wo auch der OHLC der Balken existiert.

Da wir den Zyklus nicht vermeiden können, würde ich die zweite Form der Funktion verwenden

int  CopyBuffer(
   int       indicator_handle,     // handle индикатора
   int       buffer_num,           // номер буфера индикатора
   datetime  start_time,           // с какой даты
   int       count,                // сколько копируем
   double    buffer[]              // массив, куда будут скопированы данные
   );

Die nächste Bedingung: Wenn ein Wert größer als Null kopiert wird, handelt es sich um einen ZigZag-Punkt, und wir erhalten das obere oder untere Extremum, indem wir diesen Wert mit High und Low dieses Balkens vergleichen.

 

Leute, bitte helft mir zu verstehen, was zum Teufel in MQL5 mit der Auftragsbuchhaltung los ist.

Ich habe mit Programmierern zu tun, und es scheint, dass wir nicht in der Lage sind, Aufträge eindeutig auf der Grundlage der in MQL4 verwendeten Prinzipien zu haben - wir können keine magische Zahl für einen Auftrag festlegen, dann ist es unmöglich, die erforderlichen Positionen auf der Grundlage einer magischen Zahl auszuwählen, indem wir einfach OrdersTotal() verwenden und erkennen, welcher Auftrag von einem EA geöffnet wurde und welcher manuell geöffnet wurde, usw., wir können einen bestimmten Auftrag nicht auf der Grundlage eines Tickets schließen, und es ist unmöglich, eine Leiter von Aufträgen in eine Richtung zu erstellen und dann den ältesten Auftrag zu schließen, usw.

Können Metaquotes wirklich so einen Mist machen? Wie können wir ohne sie arbeiten?

 
Artyom Kuraev:

Leute, bitte helft mir zu verstehen, was zum Teufel in MQL5 mit der Auftragsbuchhaltung los ist.

Ich habe mit Programmierern zu tun, und mein Eindruck ist, dass wir nicht in der Lage sind, Aufträge nach dem in MQL4 verwendeten Prinzip korrekt zu zählen - man kann keine magische Zahl für einen Auftrag festlegen, man kann nicht einfach OrdersTotal() verwenden, um die erforderlichen Positionen auf der Grundlage einer magischen Zahl auszuwählen und dann zu bestimmen, welcher Auftrag von einem EA und welcher manuell geöffnet wurde, usw., man kann einen bestimmten Auftrag nicht nach einem Ticket schließen, man kann keine Leiter von Aufträgen in eine Richtung erstellen und dann den frühesten von ihnen schließen, usw.

Könnten die Meta-Zitate diesen Mist verursacht haben? Wie können Sie ohne sie arbeiten?

Wo findet man solche Programmierer?

All dies ist absoluter Unsinn. Ich hoffe, Sie verstehen, wohin Sie einen solchen Programmierer schicken sollen.

Nun, nur für den Fall, dass ich es nicht verpasse, hier ist ein Hinweis