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
Ändern Sie den Variablentyp an einer Stelle, zeigt der Compiler an den anderen drei Stellen Fehler an - ändern Sie den Feldnamen. Man könnte meinen, es gäbe Dutzende von Strukturen, die sortiert werden müssen. Ja, eine Struktur muss höchstwahrscheinlich sortiert werden.
Nein, stellen Sie die Aufgabe nicht auf diese Weise ein
stellen Sie folgende Aufgabe: Verwenden Sie Ihr Beispiel, um die Struktur mit Dutzenden von Feldern nach jedem Feld zu sortieren
eine Struktur sein, die alle Eigenschaften der Order "vier" enthält (OrderStoploss(), OrderTakeProfit(), OrderOpenTime()....) - es gibt ein Dutzend von ihnen
Und können Sie die Sortierung eines Arrays solcher Strukturen nach jedem Feld mit Ihren Beispielen nachvollziehen? - Imho wird Ihr Code ziemlich viel wiegen, und ich habe oben geschrieben, dass es nicht möglich sein wird, diesen Code wiederzuverwenden
Nein, so sollten Sie die Aufgabe nicht stellen.
Stellen Sie folgende Aufgabe: Sortieren Sie die Struktur, die Dutzende von Feldern hat, anhand Ihres Beispiels nach jedem Feld
eine Struktur sein, die alle Eigenschaften der Order "vier" enthält (OrderStoploss(), OrderTakeProfit(), OrderOpenTime()....) - es gibt ein Dutzend von ihnen
Und können Sie die Sortierung eines Arrays solcher Strukturen nach jedem Feld mit Ihren Beispielen nachvollziehen? - Ich habe oben geschrieben, dass es nicht möglich sein wird, diesen Code wiederholt zu verwenden.
Ein Problem aus dem Reich der Science-Fiction, das in der Praxis nie auftritt.
Sie können ein separates Feld für die Sortierung nach erstellen und vor der Sortierung eine Kopie des Feldes, nach dem Sie sortieren möchten, in dieses Feld einfügen.
In MT 5 funktioniert es ohne Probleme in MT 4 istArraySwap schuld, weil Mql 4 es nicht unterstützt...
Eine Herausforderung aus dem Reich der Fiktion.
Nein, es ist möglich, MQL zu verwenden, so wie Sie es mit SB vorgeschlagen haben.
Das Problem wird jedoch sein, dass dieser Code für eine bestimmte Aufgabe geschrieben werden wird
Wenn wir ein Beispiel geben - das Terminal-Panel mit Aufträgen wurde als Fenster in MQL reproduziert, die Sortierung wurde durchgeführt, alles dreht sich, alles funktioniert
Und wenn Sie einen Teil des Codes verwenden wollen, um das "Optimierungs"-Panel des Testers anzuzeigen, erhalten Sie eine Menge Änderungen. Es ist einfacher, den Code von Grund auf neu zu schreiben, einschließlich der Sortierungen, und Sie werden für Menschen lesbare Feldnamen haben wollen? - sonst muss man der Autor eines bekannten "Kerns" sein, um alle Namen von Identifikatoren in der Form von Abyrwalgh (A Dog's Heart) im Kopf zu behalten
)))
Nein, es ist möglich, MQL zu verwenden, so wie Sie es mit SB vorgeschlagen haben.
aber das Problem wird sein, dass dieser Code für eine bestimmte Aufgabe geschrieben wird
Wenn wir ein Beispiel geben, wurde das Terminal-Panel mit Aufträgen als ein Fenster in MQL reproduziert, die Sortierung wurde durchgeführt, alles dreht sich, alles funktioniert
Und wenn Sie einen Teil des Codes verwenden wollen, um das "Optimierungs"-Panel des Testers anzuzeigen, erhalten Sie eine Menge Änderungen. Es ist einfacher, den Code von Grund auf neu zu schreiben, einschließlich der Sortierungen, und Sie werden für Menschen lesbare Feldnamen haben wollen? - sonst muss man der Autor eines bekannten "Kerns" sein, um alle Namen von Identifikatoren in der Form von Abyrwalgh (A Dog's Heart) im Kopf zu behalten
)))
Alles, was missverstanden werden kann, wird auch missverstanden werden. Ich meinte nicht die Möglichkeit/Unmöglichkeit, sondern die praktische Notwendigkeit, d. h. das Auftreten dieser Aufgabe.
Es ist nicht meine Idee, dass ich für jede Struktur mein eigenes Compare() schreiben muss.
Warum das Array/den Vektor der dicken Strukturen in verschiedene Felder sortieren?
lassen Sie es so liegen, wie es ist, es hat das Recht, sogar const zu sein :-) und für verschiedene Zwecke können Sie Indizes bauen
Es ist nicht meine Idee, für jede Struktur ein anderes Compare() zu schreiben.
Genau so ist es, oder besser gesagt, ich kenne keinen anderen Weg, und diese Methode wird an eine bestimmte Aufgabe gebunden sein
und der Autor will eine Universallösung für 10 Pfund, na ja, warten wir mal ab, ob sich etwas klärt
Warum das Array/den Vektor der dicken Strukturen in verschiedene Felder sortieren?
Lassen Sie es liegen, wie es ist, es hat das Recht, sogar const zu sein :-) und für verschiedene Zwecke können Sie Indizes bauen
Jemand wird jetzt schreiben ... dass es für mich so unbequem ist ... dass wir keine Hausfrauen sind, sondern Superentwickler, und dass wir alle Möglichkeiten der modernen Programmiertechnologien nutzen müssen, während ein zusätzliches Array so etwas wie Mittelalter ist ...
Obwohl mir persönlich diese Option besser gefällt.
Auf keinen Fall:
1) Es ist genug, ArrayCopy in die bedingte Kompilierung einzufügen, nicht ArraySwap.
2) ArrayCopy muss in einer benutzerdefinierten Version geschrieben werden, da die Standardversion keine NonPod Strukturen unterstützt.
3) Wir brauchen eine weitere bedingte Kompilierung für ArrayResize multi-domain array (Funktion gibt unterschiedliche Ergebnisse für verschiedene MT Versionen)
Das wird es nicht:
Die Antwort war nicht für alle Fälle. Die meisten Menschen schließen.