Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Ok, essayons la version anglaise de MQL.
Merci pour votre code. Cela m'a fait gagner du temps. J'ai essayé d'utiliser les tableaux de MQL et ils étaient confus. J'étais alors très déprimé de devoir à nouveau écrire des structures de base qui étaient censées exister MAIS j'ai trouvé votre code qui m'a fait gagner du temps dans mes recherches sur les tableaux et sur la façon de les faire croître dynamiquement. AWESOME merci.
J'espère pouvoir vous rendre la pareille ! Le code ci-dessous fonctionne pour tous les types de données. Il fonctionnera également avec les objets, mais la méthode Contains (recherche) risque de ne pas fonctionner. Je ne l'ai testé que pour les types (double, int, bool). Les chaînes de caractères peuvent également poser problème et le code doit être étendu.
Vous pouvez alors le déclarer pour tous les types dont vous avez besoin, comme suit :
J'espère que cela aidera quelqu'un
Ne tenez pas compte de ma suggestion d'utiliser le tableau dynamique pour n'importe quel type de données. Il existe déjà un CArrayList générique déclaré, veuillez l'utiliser. J'ai rencontré un problème d'utilisation d'objets qui a été résolu dans ce fil de discussion : https://www.mql5.com/en/forum/358432
Il semble qu'il y ait une erreur dans la fonction arrayResize(), dans l'exemple le contenu du tableau est 1, 1, 3 en indexation normale et non 1, 2, 3. Voir cet exemple :
En ajoutant la fonction arraySetAsSeries() il semble être affecté par la fonction arrayresieze, voir cet exemple :Etapes :
1. ar = {}
2. ar = {9, 8}
3. ar = {9, 8, 0, 8, 0, 0}
4. Définir comme série true :
ar = {0, 0, 8, 0, 8, 9}
5. Redimensionner à 4
ar = {0, 0, 8, 0}
6. Définir comme série false :
ar = {0, 8, 0, 0}
7. Définir comme série true :
ar = {0, 0, 8, 0}
8. Modifier le premier élément a[0]
ar = {8, 0, 8, 0}
Je ne sais pas quel tableau redimensionner (3 -5) prend les valeurs et les copie dans les nouvelles positions, 6 en avant prend des valeurs aléatoires, je pense. Je préfère resize() d'abord et ensuite setasseries() comme ceci :