Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1427

 
Aleksei Stepanenko:

Ich habe also nichts anderes geschrieben, sondern nur Ihren Code wiederholt.

Sie haben die Zahlen visuell falsch angeordnet und dachten, das sei das, was Sie brauchen.

Wahrscheinlich müssen Sie der Schleife 0.5555 anstelle von ArrayFill zuweisen. Probieren Sie es aus.

Ich danke Ihnen. Ich hoffe, dass ich schnell neue Informationen lernen kann.

 
Gern geschehen, Hauptsache, es funktioniert :)
 
Aleksei Stepanenko:
Gern geschehen, Hauptsache, es funktioniert :)
Ich wollte nur den Moment klären.... Vielleicht wird eine Schleife anstelle von ArrayFill() das Programm verlangsamen, besonders wenn das Array viele Daten enthält, der Aufzählungsbereich groß ist und die Schleife mit mehr als einem Array arbeitet. Einige Beiträge weiter oben in diesem Thread sagte mirMaxim Kuznetsov, dass es einen optimalen Algorithmus gibt, der LoY[2][31] in LoY[31][2] umwandelt. Vielleicht verlangsamt dieser Algorithmus das Programm als Schleife nicht oder nur in geringerem Maße. Wenn Sie mit diesem Algorithmus vertraut sind, wäre ich Ihnen dankbar, wenn Sie mir Ihre Meinung dazu sagen und ihn vielleicht sogar in meinem Code demonstrieren könnten.
Nochmals herzlichen Dank für Ihre informative Unterstützung.
 
ANDREY:
vielleicht verlangsamt eine Schleife anstelle von ArrayFill() das Programm

Jeder Code verbraucht Ressourcen. ArrayFill oder Loop-Fill kosten ungefähr das Gleiche.

Aber das Sortieren oder das komplette Neuschreiben des Arrays kostet Zeit. Daher ist es besser, andere Lösungen zu finden, z. B. über die Speicherung und Aufbereitung von Daten nachzudenken, Vorberechnungen durchzuführen und andere Möglichkeiten zu nutzen.

 
Aleksei Stepanenko:

Jeder Code verbraucht Ressourcen. ArrayFill oder Loop-Fill kosten ungefähr das Gleiche.

Aber das Sortieren oder das komplette Neuschreiben des Arrays kostet Zeit. Deshalb ist es besser, andere Lösungen zu finden, z. B. Datenaufbereitung, vorläufige Berechnungen und andere Optionen.

Ich hab's. Ich danke Ihnen.

 
In Ihrem Fall ist es interessant, die Hauptfrage zu beantworten: Warum ist es notwendig, die Sortierung jede Minute durchzuführen? Wie kann Ihre Idee wirtschaftlicher umgesetzt werden?
 
ANDREY:

Ich hab's. Ich danke Ihnen.

Entschuldigen Sie die Unterbrechung, aber vielleicht ist eine Sortierung nicht nötig? Vielleicht sollte nur der maximale (minimale) Wert bestimmt werden?

 

Die Dokumentation für eine der Sprachen ist sehr gut und ausführlich, natürlich zeitaufwändig, aber sie hilft den Programmierern

---

Weniger kostspielig wäre es, die Felder zu Beginn richtig auszufüllen und möglichst nicht in fünf Knien mit einem Array zu hantieren: ausfüllen, sortieren, hinzufügen, sortieren und wieder hinzufügen.

Vermeiden Sie nach Möglichkeit unnötige Aktionen.

---

In mql gibt es eine Funktion: StringConcatenate, es ist super teuer, aber es ist wegen seiner Präsenz in der Sprache verwendet, obwohl es leicht vermieden werden kann und schreiben "light" Codes.

 
Luchezar Shalomaev:

Entschuldigen Sie die Unterbrechung, vielleicht ist eine Sortierung nicht notwendig? Vielleicht nur den maximalen (minimalen) Wert ermitteln?

Vielen Dank für Ihren Beitrag. Das Sortieren ist notwendig.... Zumindest in dem Stadium, in dem ich meinen Entwurf verstehe. Vielleicht werde ich später noch einmal darüber nachdenken und nach Alternativen für die Sortierung suchen. Was die Mindest- und Höchstwerte betrifft, so weiß ich bereits, dass es Funktionen gibt, die diese Werte bestimmen, und dass dies kostengünstiger ist.

 
Vitaly Muzichenko:

Die Dokumentation für eine der Sprachen ist sehr gut und ausführlich, natürlich zeitaufwändig, aber sie hilft den Programmierern

---

Weniger kostspielig wäre es, die Felder zu Beginn richtig auszufüllen und möglichst nicht in fünf Knien mit einem Array zu hantieren: ausfüllen, sortieren, hinzufügen, sortieren und wieder hinzufügen.

Vermeiden Sie nach Möglichkeit unnötige Aktionen.

---

Es gibt eine Funktion in mql: StringConcatenate, es ist super teuer, aber es ist wegen seiner Präsenz in der Sprache verwendet, obwohl es leicht vermieden werden kann und schreiben "light" Codes.

Der Grundgedanke wird verstanden... so scheint es mir. Danke für den Hinweis. Wenn Sie nichts dagegen haben, mir zu sagen, was Dollar-Zeichen vor Array-Name $ array[] und vor Wert $var bedeutet, scheint es mir, dass es nicht von mql überhaupt ist.

Grund der Beschwerde: