Das kann man mit einer Hashmap machen. CHashMap<ulong,int>
https://www.mql5.com/en/docs/standardlibrary/generic/chashmap
Documentation on MQL5: Standard Library / Generic Data Collections / CHashMap
- www.mql5.com
The CHashMap class is an implementation of the dynamic hash table, the data of which are stored in the form of unordered key/value pairs taking into account the key uniqueness...
Einfacher wäre wahrscheinlich 2-dim ulong Array (ungetestet):
ulong TrailSteps[][2]; ... int OnInit() { ... ArrayResize(TrailSteps,MaxNoPos); ArrayInitialize(TrailSteps,0); // not needed yet: ArraySort(MagArr); ... }
Damit können die Funktionen von MQL verwendet werden ArraySort() und ArrayBsearch():
// Order send => newTicket = ... int i = ArrayBsearch(TrailSteps,0); //empty item // error if i<0 ... TrailSteps[i][0] = newTicket; TrailSteps[i][1] = 0; // not moved yet ArraySort(TrailSteps);
Jetzt braucht es nur ab und zu einen Robosauger:
int clean( const ulong search=0){ int i = ArrayRange(TrailSteps,0); // arr.size of 1st dim while(i-->0) { if ( TrailSteps[i][τTicket] == 0 ) continue; // ok if ( !PositionSelectByTicket(TrailSteps[i][τTicket])) { // does not exist any more? TrailSteps[i][0] = TrailSteps[i][1] = 0; // reset } } ArraySort(TrailSteps); i = ArrayBsearch(TcktSteps,search); if ( TcktSteps[i][0] != search ) return(-1); // error do something ..! return(i); }
UNGETESTS!!
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
Hallo zusammen,
ich will dass meine Orders genau einmal durch eine bestimmte modifizierende Funktion laufen, genannt Trail()
dazu würde ich gerne das ticket in ein array speichern und dazu eine zweite dimension, die eine Zahl erhält, wie Oft der Take Profit modifiziert wurde (soll insgesamt nur einmal modifiziert werden).
In meiner Funktion checke ich bereits das Ticket auf folgende Weise:
Wie kann ich nun das ein array hinzufügen, das in der ersten Dimension das Positionsticket und in der zweiten dimension einen Counter für die anzahl der Modifizierungen enthällt?
Und wie kann ich diese daten in dieses array speichern? Mit der deklaration & definition von multidimensionalen arrays kriege ich leider nur Fehler im kompiler...
Natürlich nur wenn sich Multi-dim. arrays auch dazu eignen
thank you