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
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.
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.
Nun, wir können nicht gegen Unfälle abgesichert sein. Der menschliche Faktor ist unaufhaltsam).
Das war's. Daher bin ich der Meinung, dass der Code so geschrieben werden sollte, dass mögliche menschliche Fehler so weit wie möglich eingeschränkt werden. Eben weil der menschliche Faktor nicht reduzierbar ist. Erst gestern habe ich einen Fehler in meinem Code gefunden, aufgrund dessen die Statistiken über Expert Advisor vom Beginn der Geschichte und nicht vom angegebenen Datum (Datum der EA-Erstellung) gesammelt wurden. Ich habe einfach vergessen, die Variable zu initialisieren, und sie blieb auf Null.
Daher habe ich den Analyzer jetzt so umgestaltet, dass man das Datum angeben muss, ab dem die Analyse durchgeführt wird, und die Teilefabrik des Expert Advisors nur das Erstellungsdatum und keine anderen Daten zurückgibt.
Jetzt ist es nicht mehr möglich, den Handelsverlauf vor dem Datum der Erstellung des Expert Advisors zu analysieren. Selbst wenn in der früheren Version Geschäfte getätigt wurden, werden sie jetzt nicht mehr in die Statistik aufgenommen.
Shit, endlich aufgewacht....
Warum "in diesem Moment"?
Sie, meine Freunde, haben einfach unterschiedliche Herangehensweisen an den Handel. Wenn wir mit dem M1-Zeitrahmen arbeiten, sollten wir die Information erhalten, dass ein neuer Balken eingetroffen ist - nicht "im gleichen Moment", sondern bei Ankunft einer neuen Minute. Wenn wir mit dem S1-Zeitrahmen arbeiten (hallo, Volchansky) - sollten wir diese Information bei Ankunft einer neuen Sekunde erhalten. Wenn wir an jeder Zecke arbeiten, sollten die Informationen mit der Ankunft einer neuen Zecke kommen.
Und es gibt die Option "Arbeit nach Ereignis" - aber dann sollten wir nicht die IsNewBar() Funktion haben, sondern die OnNewBar() Funktion, die eigentlich eine "Untermenge" der OnTick() Funktion ist
Shit, endlich aufgewacht....
Scheiße, bin endlich aufgewacht....
Es kann also sein, dass der Balken nicht bei der Anforderung von iBars eintrifft, sondern erst einen Moment nach der Anforderung. Dann wird es dem System fehlen. Genau das ist der Punkt.
Was dann, wenn man ständig darauf zugreift? - Das ist eindeutig nicht die beste Lösung.
Verstehe, die Bar kommt also vielleicht nicht zum Zeitpunkt der Wahl, aber einen Moment nach der Wahl. Dann wird es dem System fehlen. Genau das ist der Punkt.
Peter, ich schlage ein anderes Thema zur Diskussion vor, zum zweiten Mal. Sie brauchen nichts zu schreiben, nur Theorie.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Mt4 Ende Unterstützung.
Alexey Viktorov, 2017.09.11 13:08
Ich glaube, ich habe ein primitives Beispiel für die Brauchbarkeit von OOP gefunden. Hier ist eine Funktion, die ein Array mit einem bestimmten Wert füllt. Je nach Art des Arrays gibt es acht Varianten.
Stellen Sie sich vor, Sie müssen eine Funktion schreiben, die eine Reihe von Parametern übergeben muss, dann eine andere, dann eine dritte... Mit dem algorithmischen Ansatz erhalten Sie N verschiedene Funktionsnamen. Es scheint, dass es nichts falsch ist, können Sie 8 solche Funktionen wie ArrayInitializeInt()ArrayInitializeDouble() und so weiter zu schreiben.Aber es ist so schön, nicht über den Typ eines Arrays nachdenken zu müssen, sondern einfach nur eine Funktion zu verwenden, und es ist sicher, das Array zu verwechseln, das man dort einfügt...
Peter, ich schlage ein anderes Thema zur Diskussion vor, zum zweiten Mal. Sie brauchen nichts zu schreiben, nur Theorie.
Einen Moment bitte. Wir werden dieses Thema voll und ganz verstehen, und ich werde mir das zweite genauer ansehen.
Wie Sie sich erinnern, wurde das Thema der neuen Leiste aufgeworfen, um die Vorteile von OOP herauszufinden, aber in keiner Weise Programmiermöglichkeiten, geschweige denn Ihre Fähigkeiten. Aber die Bemerkungen zu Ihrem Code und Algorithmus im Allgemeinen haben die Diskussion in die falsche Richtung gelenkt. Ich denke also, dass es keinen Grund gibt, sie fortzusetzen.
Wie Sie sich erinnern, wurde das Thema der neuen Leiste aufgeworfen, um die Vorteile von OOP herauszufinden, aber nicht die Programmiermöglichkeiten, geschweige denn Ihre Fähigkeiten. Aber die Bemerkungen zu Ihrem Code und Algorithmus im Allgemeinen haben die Diskussion in die falsche Richtung gelenkt. Ich denke also, dass es keinen Grund gibt, sie fortzusetzen.