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

 
Nikolay Ivanov #:

Eine kleine Korrektur... Es wird kein kritischer Fehler auftreten, nur der boolesche Wert OrderSelect wird false zurückgeben... und das ist alles... Aber natürlich ist es besser, das zu vermeiden... Denn wenn man die Funktionen des Codes nicht richtig nutzt, ist es schwer, die möglichen Fallstricke vorherzusehen...

Ja, natürlich. Aber nur bei der Verwendung von regulären, terminalen Arrays, die für niemanden sichtbar sind und auf die mit regulären Funktionen zugegriffen wird, die einen Überlaufschutz haben und Fehlerflags zurückgeben. Ich habe mich ja auf die Arbeit mit meinen Arrays bezogen:

Sobald man aber feststellt, dass man Daten aus regulären Arrays zwischenspeichern sollte und mit eigenen Arrays zu arbeiten beginnt, muss man sich an den sorgfältigen Umgang mit Arrays gewöhnen.

Und alles, was die Leute in letzter Zeit gemacht haben, indem sie ihre eigenen Daten-Caches (historische und Markt-Caches) verwendet haben, ist viel einfacher und schneller - dort kann man sortieren, wie man will, und auswählen, was man will, und neue Arrays mit nur den benötigten Daten bekommen, und sie sortieren, wie man will, und auswählen, was man will.

Aber dies ist die nächste Stufe der Nutzungsmöglichkeiten des Terminals und seiner API - MQL.

 
Nerd Trader #:

Die erste Ordnung wird standardmäßig mit magic = 1 angegeben. Dann wird eine Schleife gestartet:

Beginn der Iteration magic = 1 unique = 0, am Ende (wenn es schon einen Auftrag mit magic = 1 gibt) ist magic immer noch 1 und unique = 0
Zweite Iteration magic = 2 unique = 0, am Ende ist magic = 2 und unique = 1 (keine Übereinstimmung) und der Retorn wird dem 2. Auftrag magic = 2 zugewiesen.
Die dritte sollte genauso sein...

Ich wollte den gesamten Prozess ausdrucken, aber irgendetwas ging schief:

https://www.mql5.com/ru/articles/5687
Lesen Sie weiter, wenn Sie möchten. Und es ist dumm, die Magik nur zu nummerieren. Es muss verschlüsselt werden. Sie können die Nummer, den Typ, das Ticket und sogar den Erstellungszeitpunkt des Auftrags darin eintragen.
 
Valeriy Yastremskiy #:
h ttps://www.mql5.com/ru/articles/5687
Lesen Sie es in aller Ruhe. Und es ist dumm, nur Magik zu zählen. Es muss verschlüsselt werden. Sie können die Nummer, den Typ, das Ticket und sogar den Zeitpunkt, zu dem der Auftrag erstellt wurde, eingeben.
Lesen wir es. Ich wüsste nicht, warum ein Zauberer verschlüsselt sein sollte, die Seriennummerierung reicht mir. Die Möglichkeit, die größte magische Zahl + 1 zuzuweisen, ist gut, aber ich muss herausfinden, warum mein Code nicht funktioniert.
 
Ivan Butko #:
Können Sie mir bitte einen Trick (ein Manöver) verraten, damit sich das Terminal mehrere Werte merkt?

Zum Beispiel eine Aufgabe:

Gegeben N Kerzen rückwärts. Suchen Sie Candlesticks mit einer Größe >= X Pips, merken Sie sich deren Anzahl und Größe. Wenn die aktuelle Kerze nach dem Schließen >= X Pips war, dann vergleichen Sie ihre Größe mit der Gesamtzahl der berechneten Kerzen und zeigen Sie das Ergebnis an - wie groß sie unter allen gefundenen Kerzen ist.
MakarFX #:

Das Terminal merkt sich sowieso alles... das Zitate-Archiv!

Und für einen Expert Advisor oder Indikator benötigen Sie Folgendes

Makar, ich danke Ihnen für Ihre Antwort. Leider habe ich diese Seite bis jetzt noch nicht gemeistert. Wie dieses Problem durch die Arrays zu lösen, verstehe ich nicht.

 
Ivan Butko #:

Makar, ich danke Ihnen für Ihre Antwort. Leider habe ich die obige Seite noch nicht gemeistert. Ich verstehe nicht, wie man dieses Problem mit Arrays lösen kann.

Ich kenne mich mit Arrays noch nicht so gut aus...

Vielleicht kann Ihnen einer der Experten helfen.

 
Maxim Kuznetsov die Syntax der Sprache und die Grundlagen der Algorithmen.

Andernfalls wird das Thema unsinnig, und anstelle von Konsultationen über die Plattform und die Algorithmen werden Dialoge auf Grundschulniveau geführt - wohin soll man setzen, was ist eine Schleife und warum sind Indizes 0.

Es gibt zum Beispiel eine Website intuit.ru - dort werden Kurse über C und Algorithmen angeboten, die höchstens ein paar Wochen dauern. Vielleicht erhalten Sie gleichzeitig eine Kursarbeit :-)

Die beste Motivation, etwas zu lernen, ist, wenn ein Bedarf besteht. Früher habe ich versucht, C und C++ aus Lehrbüchern zu lernen, aber ich weiß nicht, woher die Motivation kommen soll, die Aufgaben zu lösen, z. B.: Umrechnung von Grad Celsius in Fahrenheit usw. Aber wenn es ein echtes Bedürfnis gibt, wie bei mir, einen EA zu schreiben, ist das eine andere Sache. Ich habe in einer Woche je nach Bedarf mehr gelernt: Klassen, Strukturen usw. Gleichzeitig musste ich auch Git lernen und anwenden. Jetzt versuche ich, einen koscheren Editor wie vim oder emacs zu beherrschen.

P.S.
Ich habe einen Videokurs über mql4, aber ich habe nicht einmal die Energie, ihn mir anzusehen, weil er nicht die richtigen Eulen für mich schreibt. Ja, der ideale Kurs ist der, in dem sie Ihren EA schreiben.
 
Nerd Trader #:

Ich habe einen Videokurs über mql4, aber ich habe nicht einmal die Kraft, ihn mir anzusehen, weil er nicht von den Eulen geschrieben ist, die ich brauche. Ja, der ideale Kurs ist der, in dem sie Ihren EA schreiben.

Wie unheimlich... Was sind "diese" Eulen? Nicht Tschernobyl? Soviel ich weiß, können Eulen nicht schreiben. Und nicht nur das, sie haben überhaupt keine Ahnung davon.

 
Artyom Trishkin #:

Wie unheimlich... Was sind "diese" Eulen? Nicht Tschernobyl? Soviel ich weiß, können Eulen nicht schreiben. Und nicht nur das, sie haben überhaupt keine Ahnung davon.

Aha, aha. Die Eule schreibt.
 
Nerd Trader #:
Lesen wir es. Ich weiß nicht, warum der Zauberer verschlüsselt werden muss, die Seriennummerierung reicht mir. Die Option, den größten Magier + 1 zuzuweisen, ist gut, aber ich muss herausfinden, warum mein Code nicht funktioniert.
Das ist dumm, denn die Aufträge sind ohnehin nummeriert. Sie haben Ordnungszahlen und Karten. Und Sie schreiben die Ordnungszahlen plus 1 in Magik. Und das sogar ohne ein spezielles Präfix zur Unterscheidung der benötigten Aufträge.

 

Guten Abend, helfen Sie mir, einen Codeabschnitt in MQL4 für MQL5-Compiler umzuschreiben, wenn es nicht schwierig ist, danke!

   FLU=iCustom(NULL,0,"FractalsLine",0,0);
   FLL=iCustom(NULL,0,"FractalsLine",1,0);
   MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_EMA,PRICE_TYPICAL,0);
   MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_EMA,PRICE_TYPICAL,0);
   MA_3_t=iMA(NULL,0,Period_MA_3,0,MODE_EMA,PRICE_TYPICAL,0);
   MA_4_t=iMA(NULL,0,Period_MA_4,0,MODE_EMA,PRICE_TYPICAL,0);
   Sig_c=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   Sig_p=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
   Macd_c=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
   Macd_p=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
   RCI_t = iRSI(NULL,0,14,0,0) - 50;
   Atr=iATR(0,0,14,0);
   WPR=iWPR(NULL,PERIOD_H1,14,0);
   Vol=iVolume(NULL,0,0);
   Stoh_m=iStochastic(NULL,0,21,9,9,MODE_SMA,0,MODE_MAIN,0);
   Stoh_s=iStochastic(NULL,0,21,9,9,MODE_SMA,0,MODE_SIGNAL,0);
Grund der Beschwerde: