![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Was ist daran so seltsam? Es ist eine dumme Idee, dies einer Person zu erklären, die weitere 10-20 Seiten damit verbringen wird, das Gegenteil zu beweisen. Ihr Programmierstil ist perfekt und kann nicht kritisiert werden.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Mt4 Ende der Unterstützung.
Nikolai Semko, 2017.09.12 02:02
Ich habe ein Problem mit diesem Algorithmus, weil er nicht funktioniert, wenn ein neuer Balken im aktuellen Zeitrahmen eintrifft, und wenn Sie ihn an einem Tag ausführen, können Sie den ganzen Tag warten, bis er funktioniert.Ich werde versuchen, es deutlicher zu machen:
1) Wenn der Code nicht funktioniert, ist es das Problem des Autors und nur das Problem des Autors, niemand ist schuld, außer dem Autor. Nach den Meldungen zu urteilen, sind Sie selbst nicht sicher, dass es funktioniert, d. h. Sie überprüfen nicht richtig.
2) Russische Namen - zumindest ist es unbequem (okay, Sie können Ihre Augen schließen) und es kann nicht überall funktionieren, wie in diesem Fall der Debugger, und noch schlimmer, wenn das System nicht in der russischen Sprache ist. Sagen Sie nicht, dass Sie den Debugger nicht brauchen, bis Sie ihn ausprobiert haben und wissen, was er ist.
3) Nichts im Code sollte wiederholt werden - das ist ein sehr schlechter Programmierstil. Werden Sie jedes Zeichen manuell korrigieren? Was ist, wenn das Terminal nicht "EURUSD" anzeigt, sondern "EURUSDf" oder sogar FORTS, oder irgendwelche Aktien? Wenn etwas mehr als zweimal geschrieben wird, muss es eine Funktion geben, die dies tut.
4) Sie haben soeben einen großen Teil aller TFs und Symbole aus dem Bericht entfernt... Warum sollte Speicher für Symbole reserviert werden, die möglicherweise nie angefordert werden? Und wenn der Benutzer ein Symbol benötigt, das nicht in der Marktübersicht enthalten ist?
5) Übrigens, das mit den EuroBucks habe ich nicht verstanden - werden Sie alle Symbole auf diese Weise manuell eingeben? Die schlechte Nachricht: Es gibt viele Symbole, und Sie wollen hoffentlich ein Programmierer sein, kein "Typisierer".
-----
Sie können sich immer noch durch den Code wühlen, die Liste kann lang sein, aber Sie sollten sie zumindest verstehen - schon wird der Code viel besser sein.
Sie sind hier der große Experte. Bewerten Sie meine Lösung im Hinblick auf ihre Korrektheit und die Einsparung von Ressourcen. Sie haben es herausgefunden. Warum sagst du nichts?
Ihr Ansatz ist grundlegend fehlerhaft. Und warum fragst du, es ist dir egal.
Die Wurzeln kommen von hier, von diesem Glauben:
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Mt4 Ende der Unterstützung.
Retag Konow, 2017.09.09 23:20
Die Analogie ist fehlerhaft. Dies ist die Welt des Handels, und die Menschen, die hierher kommen, sind im Großen und Ganzen Abenteurer, keine zukünftigen Wissenschaftler und Ingenieure. Ihr Ziel ist es, ihr Glück zu versuchen und schnell eine Menge Geld zu verdienen. Natürlich ist es für so ernsthafte Menschen, wie wir alle hier mit Ihnen zusammen sind, nicht ernsthaft, - aber für sie ist es nur der Sinn ihrer Bemühungen.
Ihre anfängliche Intelligenz ist gering, und die Mühen der OOP halten sie eindeutig davon ab, sich aktiv an unserem Ökosystem zu beteiligen. Sie möchten ihre Ideen schnell und einfach testen und bekommen eine solche Last auf den Kopf geladen, dass sie sich erschrecken und denken: "Wozu brauche ich das?".
Natürlich ist dies eine sehr bildliche und karikierte Darstellung der Situation, aber das Wesentliche ist immer noch dasselbe.
Er will also auf niemanden oder nichts hören, weil... und die Erklärung steht im selben Abschnitt.
Ich werde versuchen, es deutlicher zu machen:
1) Wenn der Code nicht funktioniert, ist das das Problem des Autors und nur das Problem des Autors; niemand ist schuld außer dem Autor. Nach den Meldungen zu urteilen, sind Sie selbst nicht sicher, dass es funktioniert, d. h. Sie überprüfen nicht richtig.
2) Russische Namen - zumindest ist es unbequem (okay, Sie können Ihre Augen schließen) und es kann nicht überall funktionieren, wie in diesem Fall der Debugger, und noch schlimmer, wenn das System nicht in der russischen Sprache ist. Sagen Sie nicht, dass Sie den Debugger nicht brauchen, bis Sie ihn ausprobiert haben und wissen, was er ist.
3) Nichts im Code sollte wiederholt werden - das ist ein sehr schlechter Programmierstil. Werden Sie jedes Zeichen manuell korrigieren? Was ist, wenn das Terminal nicht "EURUSD" anzeigt, sondern "EURUSDf" oder sogar FORTS, oder irgendwelche Aktien? Wenn etwas mehr als zweimal geschrieben wird, muss es eine Funktion geben, die dies tut.
4) Sie haben soeben einen großen Teil aller TFs und Symbole aus dem Bericht entfernt... Warum sollte Speicher für Symbole reserviert werden, die möglicherweise nie angefordert werden? Und wenn der Benutzer ein Symbol benötigt, das nicht in der Marktübersicht enthalten ist?
5) Übrigens, das mit den EuroBucks habe ich nicht verstanden - werden Sie alle Symbole auf diese Weise manuell eingeben? Die schlechte Nachricht: Es gibt viele Symbole, und Sie wollen hoffentlich ein Programmierer sein, kein "Typisierer".
-----
Abschließend noch einige kritische Anmerkungen zu diesem Punkt.
1. Natürlich bestreitet das niemand. Meine Inspektion war oberflächlich. Aber ich erfülle jetzt nicht irgendeinen Auftrag, sondern widerlege nur den Standpunkt, dass eine solche Aufgabe ohne OOP nicht effektiv gelöst werden kann. Erinnern Sie sich? - Damit hat alles angefangen.
2. Ob es praktisch ist oder nicht, ob man einen Debugger braucht oder nicht, ist eine völlig subjektive und persönliche Angelegenheit. Auch dies ist für das Thema irrelevant. Es geht darum, zu beweisen und zu zeigen, wie man ohne OOP auskommt und ebenso effiziente Lösungen erstellen kann. 5.
3. Hier biete ich eine der Varianten zur Lösung der Aufgabe, das Ereignis eines neuen Balkens für Dutzende von Symbolen und Zeitrahmen mit minimaler Belastung des Systems zu fixieren. Genau, mit minimaler Belastung. Aus diesem Grund zwinge ich alle zukünftigen Handelsfunktionen dazu, sich dieser Lösung anzupassen. Wenn Ressourcenschonung keine Priorität ist, können Sie eine andere Lösung verwenden.
4. Siehe Punkt 3.
(5) Dies ist nur ein Beispiel, Sie können Ihre eigenen Handelsfunktionen schreiben. Dies ist die Aufgabe des Händlers.
Endlich trifft die Kritik ins Schwarze.
1. Natürlich bestreitet das niemand. Meine Inspektion war oberflächlich. Aber ich erfülle jetzt nicht irgendeinen Auftrag, sondern widerlege nur den Standpunkt, dass eine solche Aufgabe ohne OOP nicht effektiv gelöst werden kann. Erinnern Sie sich? - Damit hat alles angefangen.
2. Die Frage ist völlig subjektiv und persönlich - ob es praktisch ist oder nicht, ob man einen Debugger braucht oder nicht. Auch dies ist für das Thema irrelevant. Es geht darum, zu beweisen und zu zeigen, wie man ohne OOP auskommt und ebenso effiziente Lösungen erstellen kann.
3. Hier biete ich eine der Varianten zur Lösung der Aufgabe, das Ereignis eines neuen Balkens für Dutzende von Symbolen und Zeitrahmen mit minimaler Belastung des Systems zu fixieren. Und zwar mit minimaler Belastung. Aus diesem Grund zwinge ich alle zukünftigen Handelsfunktionen dazu, sich dieser Lösung anzupassen. Wenn Ressourcenschonung keine Priorität ist, können Sie eine andere Lösung verwenden.
4. Siehe Punkt 3.
(5) Dies ist nur ein Beispiel, Sie können Ihre eigenen Handelsfunktionen schreiben. Dies ist die Aufgabe des Händlers.
1) Der Code funktioniert nicht - was meinen Sie? Welches OOP?
2) Nun, sagen Sie mir, wie Sie "Straßenbahn" im Vergleich zu "Mercedes" finden. Es ist mir eigentlich egal, was Sie mögen, das ist reine Geschmackssache.
3) Sie haben eine maximale Belastung für Ihren Speicher und Ihr System, mehr müssen Sie noch denken, wie zu schreiben. Denn das haben Sie geschrieben, aber es scheint, dass Sie es nicht brauchen.
4) Siehe Punkt 3.
5) Ja, der Gewerbetreibende soll den Code korrigieren. Es gab irgendwo ein Thema über die Kenntnisse des Programms für einen Händler - lass ihn den Bastard unterrichten.
----
Ich glaube, das ist es, was ich beweisen musste - es ist sinnlos, etwas zu sagen. Ich werde meine laienhafte Meinung kundtun - ich werde mich an einen Freiberufler wenden, um meinen Auftrag besser zu erledigen.
Meine ursprüngliche Aufgabe: Aufzeigen effektiver Lösungen ohne OOP.
Die Essenz meiner Lösung: - Generierung eines globalen Arrays von Event Flags neuer Bars aller Symbole und Timeframes einmal pro Minute.
Vorteile:
1. automatische Befüllung des Feldes und automatische Löschung.
2. keine Systembelastung.
3. Direkter Zugriff auf das Array von jeder Funktion aus und Speichern des Ereignisflags, bevor das Array gelöscht wird.
Meine ursprüngliche Aufgabe: Aufzeigen effektiver Lösungen ohne OOP.
Die Essenz meiner Lösung: - Generierung eines globalen Arrays von Event Flags neuer Bars aller Symbole und Timeframes einmal pro Minute.
Vorteile:
1. automatische Befüllung des Feldes und automatische Löschung.
2. keine Systembelastung.
3. Direkter Zugriff auf das Array von jeder Funktion aus und Speichern des Ereignisflags, bevor das Array gelöscht wird.
Vorteile:
3. Direkter Zugriff auf das Array von jeder Funktion aus und Speichern des Ereignisflags vor dem Löschen des Arrays.
Es lässt sich darüber streiten, ob dies ein Vorteil ist.
Versehentlich ändert jemand die Flagge - und das hat Auswirkungen auf das Verhalten des TC.