Probleme mit Time() - Seite 8

 

Ja, das ist ein nettes Skript dabbler ... jeder neue zu codieren sollte darauf achten, dass. Es sollte also bedeuten, dass es möglich ist, den OP-Code so umzugestalten, dass er ohne Klammern funktioniert. es könnte so sogar effizienter sein.

 
SDC:

Ja, das ist ein nettes Skript dabbler ... jeder neu zu codieren sollte darauf achten, dass. Es sollte also bedeuten, dass es möglich ist, den OP-Code so umzuarrangieren, dass er ohne Klammern funktioniert, was vielleicht sogar effizienter ist.

Nein, dem stimme ich nicht zu. "Programmieranfänger" und andere sollten viele Zeilen verwenden, anstatt zu versuchen, alle möglichen Tests in eine Zeile zu packen. Der Auftraggeber verwendet ein "Tool", das (anscheinend) die gesamte Logik an einer Stelle benötigt. In einem normalen MT4 sollten die Tests jedoch auf separate Zeilen oder in Funktionen aufgeteilt werden, so dass Sie Print-Anweisungen dazwischen setzen können, um zu sehen, wo die Logik durcheinander geraten ist (was oft der Fall ist :-)

Das Hinzufügen von Klammern erhöht den Rechenaufwand in keiner Weise. Und in MQL4 ist das Einfügen von Logik in mehrere Zeilen sogar weniger rechenintensiv. Es gibt also nur Vorteile, wenn man mehrere Zeilen verwendet, und keinen Nachteil :-)

 
Es ist wirklich egal, ob etwas rechnerisch effizient oder ineffizient ist, wenn es nicht wie beabsichtigt funktioniert ... sorgen Sie zuerst dafür, dass es funktioniert ... und verbringen Sie dann den Rest Ihres Lebens damit, es zu optimieren, wenn Sie das wollen oder müssen ;-)
 
SDC:

Ja, das ist ein nettes Skript dabbler ... jeder neu zu codieren sollte darauf achten, dass. Es sollte also bedeuten, dass es möglich ist, den OP-Code so umzugestalten, dass er auch ohne Klammern funktioniert, und dass es auf diese Weise vielleicht sogar effizienter ist.


Wirklich. Also ist es logischerweise doch in Ordnung und könnte sogar effizienter sein - nach einer gewissen "Umgestaltung".

Manchmal denke ich, dass diese Website wirklich ihre eigene Logik für ihre Existenz besiegt. All dieser Unsinn, nur um zu sagen, dass es auf diese Weise vielleicht sogar effizienter ist.

Unreal.

 
dabbler:

Interessant, ebenso wie dies

https://www.mql5.com/en/forum/126224

Es ist hilfreich, den Hintergrund dessen zu kennen, worüber wir sprechen!


Ich habe diesen Thread gemieden, weil es auf allen Seiten so viel Aufregung gibt. Es scheint einfach so unnötig.


Vielleicht sollte der Auftraggeber einen neuen Thread eröffnen, damit die Befragten nicht 200 Beiträge mit 100-prozentiger Genauigkeit lesen müssen, um herauszufinden, worum es geht.

Und vielleicht könnte jeder aufhören, andere zu beschimpfen.


In Anbetracht der absolut falschen Herangehensweise an meinen Thread durch die sich selbst übertreffende Brigade ist der einzige neue Thread, den ich in diesem Forum eröffnen würde, derjenige, der allen Nicht-MQL-Skriptschreibern sagt, dass sie sich von dieser Schlangengrube von einem Forum fernhalten sollen - zu ihrem eigenen Vorteil.

 
dabbler:
Nun, interessanterweise habe ich das geprüft und es schien in Ordnung zu sein. MQL4 und C (und jede andere Computersprache) haben eine Reihe von Vorrangregeln, die eine genaue Interpretation eines logischen Ausdrucks ermöglichen.


Kein Scherz - ich wusste das, und ich bin nicht einmal ein Entwickler! Was glauben Sie, warum ich es so geschrieben habe? Als Nicht-Programmierer habe ich den logischsten Ansatz gewählt und jeden Ausdruck in die logischste Reihenfolge gebracht, ohne zu wissen, dass MQL die Segmentierung einzelner Argumente, die logische Operatoren verwenden, mit Hilfe von Klammern erfordert. Wer weiß schon etwas über solche Anforderungen, es sei denn, er programmiert jeden Tag MQL, den ganzen Tag lang.

Aus der Sicht eines Nicht-MQL-Skriptschreibers und angesichts der Tatsache, dass ich gerade erst begonnen habe, MQL als Mittel zur Ausführung von Trades außerhalb meines Prototyp-Handelssystems zu verwenden, das MQL nicht nutzt, würde ich sagen, dass dieser erste Durchlauf aus rein logischer Sicht ziemlich genau richtig war. Der Fehler (falls es einen gab) war nicht logisch, sondern SYNTACTICAL:


Day() == 1 || Day() == 2 || Day() == 3 || Day() == 4 && TimeHour(TimeCurrent()) >=23 &&
 TimeMinute(TimeCurrent()) >=57 || Day() == 5 && TimeHour(TimeCurrent()) >=21 && TimeMinute(TimeCurrent()) >=57


Es gibt einen Unterschied zwischen jemandem, der die Syntax falsch versteht, und jemandem, der einfach kein logisches Verständnis von dem hat, was er tut. Aber natürlich haben die Ich-bin-ein-MQL-Gurus in diesem Forum das nicht erkannt. In Anbetracht der Zeit, in der ich mich mit MQL beschäftigt habe, und angesichts der Komplexität der Gesamtheit meiner EAs bezweifle ich, dass die meisten MQL-Neulinge überhaupt so weit gekommen wären mit dem, was ich zu erreichen versuche.

Die Tatsache, dass ich lediglich einen syntaktischen Fehler gemacht habe, sagt alles, was ich über die Antwort des Boards auf meinen OP wissen muss.

Wie ich schon sagte, Traders, Trade. Ich habe im Laufe der Jahre nicht die Zeit gehabt, mich mit dem Programmieren zu beschäftigen. Gleichermaßen gilt: Coder, programmieren. Und ich habe im Laufe der Jahre nur wenige von ihnen getroffen, die in der Lage waren, eine einzige Zeile wiederholbarer Handelslogik zu schreiben, die eine historisch signifikante Mustererkennung enthält, die ausreicht, um echtes Kapital und damit echten Reichtum aufzubauen.

Ich habe ein voll integriertes Handelssystem, das nahezu fehlerfrei läuft. Mein einziges Interesse an MQL besteht darin, die POC-Erkundung von niedrigeren Zeitrahmen zu starten, die mein Prototyp derzeit nicht nutzt.

Dies wäre eine großartige Website, wenn es nicht die überwältigende Einstellung eines Programmiergurus gäbe, die den Zweck der Seite zunichte macht. Vielleicht finden Sie diesen Hinweis eines Tages heraus.

 
RaptorUK:
Es spielt wirklich keine Rolle, ob etwas rechnerisch effizient oder ineffizient ist, wenn es nicht wie beabsichtigt funktioniert ... sorgen Sie zuerst dafür, dass es funktioniert ... und verbringen Sie dann den Rest Ihres Lebens damit, es zu optimieren, wenn Sie das wollen oder müssen. ;-)


Jetzt funktioniert es sehr gut. Kein Dank an irgendjemanden in diesem Forum, denn ich habe selbst einen Weg gefunden, um die zeitbasierte Iteration zu erreichen, die ich brauche, und zwar über die Zeitspanne, die notwendig ist, um die Handelslogik zum Leben zu erwecken. Im Wesentlichen scannt der Code eine Reihe von iCustom-Modi in mehreren Zeitrahmen, für bestimmte Konfigurationen über einen bestimmten Bereich der Zeit einzigartig für jeden Modus.

Sie haben nur den auf Time() basierenden Teil gesehen, hier auf diesem Forum. Der EA besteht eigentlich aus fünf (5) verschiedenen EAs, von denen jeder die Handelsleistung der anderen überwacht, um keine untergeordneten Signale auszulösen und es den übergeordneten Signalen zu ermöglichen, bestehen zu bleiben (da die Position offen bleibt). Das Gesamtsystem ist so konzipiert, dass es im Markt bleibt, wenn dieser von der Vertikalen in die Horizontale und wieder zurück in die Vertikale wechselt. Das ist vom Standpunkt der Handelslogik aus gesehen nicht einfach zu gestalten.

Sicherlich handelt es sich nicht um die typische (allzu bekannte) Crossover-Strategie, und es werden keine "Standard"-Indikatoren verwendet.


Das EINZIGE, worauf es beim Handel ankommt, ist die endgültige Handelslogik, die Sie auf dem Markt einsetzen. Alles andere, einschließlich der großartigen Programmierfähigkeiten, die man zu haben glaubt, ist völlig egal, wenn man keine grundsolide Handelslogik schreiben kann.

Genug gesagt, zu diesem Thema und Thema mich.

 

Für diejenigen, die mehr darüber erfahren möchten, wie man eine funktionierende Handelslogik entwickelt, habe ich eine Art temporäres Labor eingerichtet, während ich meine Untersuchungen darüber durchführe, ob meine benutzerdefinierten Indikatorentwürfe für niedrigere Zeitrahmen Gültigkeit haben oder nicht. Die Website ist: CollaborativeFx.forumer.com. Ich habe die Seite heruntergefahren, bis ich genug Bot-Designs durch habe und in der Lage bin, die Ergebnisse zu präsentieren.

[Sie können meine Rückkehr zum Projekt CollaborativeFx.forumer.com online auf Twitter @CollaborativeFx verfolgen. Das CollaborativeFx ist eine reine Forschungs- und Entwicklungsseite. Es sind keine kommerziellen Produkte auf der Seite erlaubt, und es gibt nichts auf der Seite zu verkaufen. Es wird eine Seite sein, die positiv eingestellten Menschen gewidmet ist, die daran interessiert sind zu entdecken, was eine gute Handelslogik möglich macht.

Es ist KEINE Seite, die sich mit MQL beschäftigt. Auf der Seite wird MQL nichts weiter sein als ein Werkzeug für den Aufbau mehrerer Proof of Concepts, die mit einer Handvoll von Kernindikatoren zusammenhängen, die ich im Laufe der Jahre von Grund auf entwickelt habe. Natürlich, Sie werden immer andere Seiten MQL-Programmierer haben. Die CollaborativeFx, ist alles über Trade Logic Entwicklung.