Diskussion zum Artikel "Einführung in MQL5: Schreiben eines einfachen Expert Advisor und benutzerdefinierten Indikators" - Seite 4
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Dieser ExpertAdvisor funktioniert nicht auf MT5 build 712, zumindest nicht für mich.
Es gibt eine Fehlermeldung "Cant't copy indicator buffer".
Auch der Indikator kompiliert nicht ohne Warnungen,
"Möglicher Datenverlust aufgrund von Typkonvertierung" in Zeile 53,
"mögliche Verwendung einer nicht initialisierten Variablen 'day_n'" in Zeile 54
"mögliche Verwendung bei nicht initialisierter Variable 'h_day'" in Zeile 62
"mögliche Verwendung bei nicht initialisierter Variable 'l_day'" in Zeile 63
Können Sie diese Probleme bitte korrigieren?
Dies ist ansonsten ein gutes Beispiel für uns, die mit anderer Software als MT5 vertraut sind.
Dies ist ein ausgezeichneter Artikel, für Anfänger und Menschen, die von mql4 kommt, mit in erster Linie eine gute Handelsstrategie Beispiel.
Es gibt einige kleinere Mängel im Code (Fehlerprüfung nicht immer implementiert), aber die EA funktioniert sehr gut, wenn auf Minute Zeitrahmen verwendet, wie vom Autor empfohlen. Die Warnungen beim Kompilieren des Indikators sind nur Warnungen und hindern Sie nicht daran, ihn und den EA zu verwenden.
Vielen Dank.
Dies ist kein einfacher Weg, den Leuten mql5 zu erklären. (als ob Anfänger jemals eine Chance hätten, es zu verstehen!) Es ist wie mit Programmierbüchern, 90% der Leute haben keine Ahnung, wie sie anfangen sollen. Sie schlagen dieses Buch auf, z.B. über C-Programmierung, und das erste "Einfache Beispiel" ist 1 ganze Seite lang und in winziger Schrift geschrieben. In meinem ganzen Leben habe ich nur ein einziges gutes Programmierbuch gelesen, das jedem das Programmieren beibringen könnte. Der Grund dafür ist, dass sie von wahrscheinlich exzellenten Programmierern, aber leider sehr schlechten Lehrern geschrieben wurden. Programmieren kann wirklich einfach sein und ich werde es Ihnen beweisen, indem ich ein einfaches Tutorial für die Programmiersprache MQL4 mache, wenn ich etwas mehr Zeit habe als jetzt. Für alle - auch für absolute Anfänger. Der größte Fehler ist es, den Leuten Details der Sprache beizubringen, die meiste Arbeit sollte ctrl+C und ctrl+v sein und Google für die Befehle zu benutzen und am wichtigsten - alles SEHR EINFACH zu halten. Ich kenne mehr als 10 Programmiersprachen (ich programmiere seit ich 7 Jahre alt bin) und ich bin immer noch erschrocken über die Art und Weise, wie dieses "einfache Beispiel" auf 11kb (!!!) erklärt wird. Ich würde gerne wissen, ob es einen echten Programmieranfänger gibt, der MQL5 anhand dieses Beispiels gelernt hat ;D. Ich bezweifle es und wenn, dann kann man diese Leute an den Fingern einer Hand abzählen.
Dies ist kein einfacher Weg, den Leuten mql5 zu erklären. (als ob Anfänger jemals eine Chance hätten, es zu verstehen!) Es ist wie mit Programmierbüchern, 90% der Leute haben keine Ahnung, wie sie anfangen sollen. Sie schlagen dieses Buch auf, z.B. über C-Programmierung, und das erste "Einfache Beispiel" ist 1 ganze Seite lang und in winziger Schrift geschrieben. In meinem ganzen Leben habe ich nur ein einziges gutes Programmierbuch gelesen, das jedem das Programmieren beibringen könnte. Der Grund dafür ist, dass sie von wahrscheinlich exzellenten Programmierern, aber leider sehr schlechten Lehrern geschrieben wurden. Programmieren kann wirklich einfach sein und ich werde es Ihnen beweisen, indem ich ein einfaches Tutorial für die Programmiersprache MQL4 mache, wenn ich etwas mehr Zeit habe als jetzt. Für alle - auch für absolute Anfänger. Der größte Fehler ist es, den Leuten Details der Sprache beizubringen, die meiste Arbeit sollte ctrl+C und ctrl+v sein und Google für die Befehle zu benutzen und am wichtigsten - alles SEHR EINFACH zu halten. Ich kenne mehr als 10 Programmiersprachen (ich programmiere seit ich 7 Jahre alt bin) und ich bin immer noch erschrocken über die Art und Weise, wie dieses "einfache Beispiel" auf 11kb (!!!) erklärt wird. Ich würde gerne wissen, ob es einen echten Programmieranfänger gibt, der MQL5 anhand dieses Beispiels gelernt hat ;D. Ich bezweifle es, und wenn es einen gibt, kann man diese Leute an den Fingern einer Hand abzählen.
Sie haben recht, dass Programmierer im Allgemeinen keine guten Lehrer sind.
Aber ich stimme Ihnen nicht zu, wenn Sie sagen, dass MQL5 so schwer zu erlernen ist, vor allem für einen Programmierer, der mit 10+ Sprachen experimentiert hat.
In der Praxis ist es, soweit ich mich erinnere, möglich, eines der Niveaus (SL oder TP) einer Position zu ändern und die anderen Niveaus unverändert zu lassen, auch wenn das Niveau, dessen Wert unverändert bleibt, näher am aktuellen Preis liegt als im Parameter SYMBOL_TRADE_STOPS_LEVEL angegeben. Bei der Erstellung von Programmen empfehle ich nicht, Positionsparameter (Levels) so zu ändern, dass die neuen Positionsparameter (Levels) nicht den Anforderungen an die Überprüfung der Korrektheit der Positionsdaten entsprechen, da diese Situation nicht dokumentiert ist und in Zukunft ein anderes Ergebnis erzielt werden kann.
Hallo zusammen!
Alles funktioniert bei mir nur, wenn
request.type_filling=ORDER_FILLING_IOC;
request.type_time = ORDER_TIME_DAY;
Ähnliche Situation mit https://www.mql5.com/ru/forum/1156/page9#comment_2359257
Ist das eine Eigenheit meines Brokers FxPro?
Im neu bei mql5 Programmierung.
War versucht, durch dieses Beispiel zu lernen, aber im ein bisschen verloren mit der Schleife am Ende des Indikators bauen. Wo genau hat er der Variable day_n einen Wert zugewiesen?
Denn die Schleife prüft auf day_n<day_t. Wie kann das Programm den Wert von day_n kennen?
Und wie wird er überhaupt berechnet? Nehmen wir an, rate_total = 10 und es gibt noch keinen berechneten Balken. Also prev_calculated = 0
day_t=time[0] (HEUTE! da rückwärts gezählt wird)/PeriodSeconds... da die Zählung ab 1970 beginnt, nehmen wir an, dass die Zählung vor 10 Tagen beginnt, also sollte es 10 ergeben, richtig?
Also day_t=10. Jetzt wird geprüft, ob dayt > dayn ist. Ich kenne dayn nicht, aber ich weiß dayt=10. Ich nehme an, dass dayn gleich Null ist, da es keinen Wert gibt.
Dann wird dayn auch 10. Ok.
Zweiter Durchlauf der Schleife. prev_calculated + 1= 1.
DayT=time[1] (gestern)/period... denk dran, es wird von vor 10 Tagen an gezählt... aber jetzt nur bis gestern. es sollte einen Wert von 9 ergeben, richtig?
aber jetzt ist dayN < dayT falsch. Dann beginnt es, die else-Ausdrücke auszuführen. Okay. Ich habe verstanden.
Dann werden alle bu[] und bd[] berechnet. Ok. Die Schleife wird beendet, wenn prev < total rate falsch ist.
Aber wenn ein neuer Balken eintrifft und er wieder wahr wird, beginne ich dann wieder bei Null? Oder beginnt sie bei 10 und geht direkt zum else-Teil über?
Danke!!!!