Fehler, Irrtümer, Fragen - Seite 494

 
marketeer:

Zusammenfassend möchte ich den Gedanken wiederholen, den ich schon einmal geäußert habe: Die Aufgabe der Plattform, die MT ist, besteht darin, den Benutzer (den Programmierer) so weit wie möglich vor möglichem "Rake" zu schützen.

Ich lehne dies entschieden und kategorisch ab. Die Plattform hat keine solche Aufgabe. Ich reagiere immer sehr stirnrunzelnd auf Versuche der Linken, mich vor "zusätzlichen" Balken, vor der Tick-History, vor dem Schreiben von Dateien, wo immer ich will, vor dem Testen gegen meine eigenen Zitate und anderen solchen Bedenken zu schützen.

Ich dulde es nur, weil ich hoffe, dass es geschäftliche Gründe hat, und es ist nicht meine Aufgabe, MQ zu sagen, wie es seine Geschäfte führen soll.

Obwohl ich nichts dagegen habe:

D.h. es hätte eine weitere #Property eingeführt werden können, um anzugeben, ob Puffer automatisch initialisiert werden sollen.
Ich habe nichts dagegen, denn eine solche Lösung erweitert die Möglichkeiten und schränkt sie nicht ein.
 
MetaDriver:

Ich bin entschieden und kategorisch dagegen. Die Plattform hat keine solche Aufgabe. Ich reagiere immer sehr stirnrunzelnd auf Versuche der Linken, mich vor "zusätzlichen" Balken, vor der Tick-History, vor dem Schreiben von Dateien, wo immer ich will, vor dem Testen gegen meine eigenen Zitate und anderen solchen Bedenken zu schützen.

Ich habe nicht vorgeschlagen, irgendetwas einzuschränken, sondern nur die Fehlerquellen zu reduzieren und die Verhaltenskompatibilität mit MT4 zu erhalten, zumindest optional.

Die Plattform hat eine solche Aufgabe, sonst lästern wir z.B. über den Müllsammler in Java und andere Routineaufgaben, die einfacher (und RICHTIG) zu erledigen sind, wenn sie einmal in der Plattform sind, als jeden Programmierer zu zwingen, sie auf seine eigene Art und Weise zu erledigen, mit Bugs.

 
marketeer:

Ich habe nicht vorgeschlagen, irgendetwas einzuschränken, sondern nur die Fehlerquellen zu reduzieren und die Kompatibilität im Verhalten mit MT4 zu erhalten, zumindest optional.

Andernfalls lästern wir zum Beispiel über den Java-Müllsammler und andere Routinefunktionen, die einfacher (und RICHTIG) zu erledigen sind, wenn sie einmal in der Plattform enthalten sind, als dass jeder Programmierer sie auf seine eigene Art und Weise und mit Fehlern erledigen muss.

Ich möchte mich nicht auf religiöse Argumente über "richtig" und "falsch" einlassen, sondern nur sagen, dass wir in unserem Streben nach Kompatibilität bis zur Leistung von MT4 gehen können. Das würde ich nicht gerne tun.
 
MetaDriver:
Ich möchte nicht in eine religiöse Debatte über "richtig" und "falsch" einsteigen, aber ich möchte darauf hinweisen, dass es im Streben nach Kompatibilität möglich ist, bis zur MT4-Leistung vorzudringen. Das würde ich nicht gerne tun.
Nun, das ist wie immer - es kommt auf die Ausführung an. Um nicht von einem konkreten Beispiel abzuweichen, scheint es offensichtlich, dass die "manuelle" Initialisierung des Puffers (die jetzt von vielen Entwicklern durchgeführt wird, und was mehr ist - die Nichtinitialisierung wird von MC-Vertretern als benutzerdefinierter Indikatorfehler bezeichnet), die in den Kernel verschoben (und optional aktiviert) wird, keine negativen Auswirkungen auf die Leistung hätte.
 
marketeer:

D.h. es könnte eine weitere #Property eingegeben werden, um anzugeben, ob Puffer automatisch initialisiert werden sollen.

Ich stimme zu, dass das manchmal nützlich sein kann. Aber nur manchmal.
 

Renat:

Rekursion ist in der Regel leicht zu erkennen - sie hängt direkt von der Menge der lokalen Variablen ab, und es gibt außergewöhnlich wenige solcher Stellen in einem Programm.

Ich weiß es nicht, habe rein intuitiv festgestellt (angenommen), dass es die Verarbeitung des Ticks war, die eine Schleife bildete. Und der "Unfug" kam nach etwa 10 Minuten gründlichen Suchens im Code und dem Vergleich alter Kopien des Expert Advisors mit einer Kopie, in die die Änderungen eingefügt wurden.

Wenn die Vorverarbeitung den Compiler erheblich erschwert (die Argumente von MetaDriver schienen sehr überzeugend), würde ich gerne genauere Informationen über die Stelle erhalten, an der das Problem aufgetreten ist.

 
Interesting:

Ich weiß es nicht, habe rein intuitiv festgestellt (angenommen), dass es die Tick-Verarbeitung war, die in einer Schleife war. Und dieser "Unfug" kam nach etwa 10 Minuten gründlichen Suchens im Code und dem Vergleich alter Kopien von Expert Advisor mit der Kopie, in der die Änderungen vorgenommen wurden.

Wenn man etwas tiefer gräbt, wird der Geist erleuchtet. "Was würden wir tun, wenn Papa nicht trinken würde? Aber auf diese Weise verschenken wir die Flaschen und verwenden das Geld, um Brot zu kaufen".
 
stringo:
Eine gründliche Untersuchung ist sehr aufschlussreich für den Verstand. "Was würden wir tun, wenn Papa nicht trinken würde? Aber auf diese Weise geben wir die Flaschen ab und können mit dem Geld Brot kaufen.
Ich verstehe die Logik... :)
 

Genossinnen und Genossen, gibt es Pläne zur Verbesserung der Funktion Bars()? Meines Erachtens ist dies nicht ganz angemessen. Es kann 0 ausgeben, in diesem Fall ist nicht klar, ob es wirklich keine Balken oder einen Fehler gibt, GetLastError() bemerkt es auch nicht, es macht uns unnötige und verlangsamende Tricks erfinden

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 

Und eine andere Frage, zum Beispiel die folgende Situation:

Ich benötige 100 Balken aus der Zeitreihe High im Stundenchart. Was ist effizienter - 100 Balken aus dem Expert Advisor zu kopieren oder sie aus dem Array zu holen, das dem Indikator übergeben wird? Die Frage ist also: Wenn ich den Indikator an das Diagramm anhänge, kopiert er dann die Balken, die ich nicht verwenden will? (Ist es möglich, die für dieAusführung eines Programms aufgewendete Zeit mit MQL-Tools zu ermitteln?