Sélectionnez un symbole dans les paramètres - page 6

 
Aleksey Mavrin:

...expliquer COMMENT les metaquotes peuvent faire en sorte que le MQL ait un enum standard avec une liste de symboles du courtier et du compte auxquels ils sont actuellement connectés... ?

Facile. Je l'ai déjà donné plusieurs fois ici... Le terminal dispose toujours de ces données. Ils sont disponibles sous une forme prête à l'emploi dans la fenêtre "aperçu du marché" du terminal.

Vous pouvez les reprendre dans ce formulaire prêt à l'emploi en appuyant sur le bouton droit>save.....

Et les substituer dans l'enum - question de connerie pour les méta-citations ! En principe, c'est comme un copier-coller pour moi.

L'heure de votre système n'est pas une constante immuable, cousue dans le langage de manière implicite ! Ça change. !

Eh bien, la liste des symboles, qu'elle change aussi, si elle est variable d'un courtier à l'autre...

Lorsque vous le connectez à un compte. Le plus souvent...


Il se trouve que j'en ai presque fini avec la programmation. Les solutions que vous proposez me semblent être, vous savez, un jeu d'enfant... Oh, je peux écrire ceci et cela... Oh, c'est génial)))

Je peux le faire aussi, mais ma façon de créer un seul enum est meilleure précisément parce qu'il n'y a pas besoin de compliquer le code, vous n'avez rien à écrire. Quelques lignes et quelques clics de souris et vous disposez toujours d'un ensemble de caractères. EtAVANT de lancer le programme - dans la fenêtre des paramètres!

Mais même cela me pose trop de problèmes, j'aimerais donc disposer d'un enum prêt à l'emploi ;)) C'est tout.

Il y a déjà assez à faire. Il n'est pas nécessaire de l'augmenter sur place.

 
Andrey Khatimlianskii:

Enregistrement et sortie sur INIT_FAILED

Il n'y a pas beaucoup de monnaies, mais beaucoup de combinaisons de celles-ci.

J'aime bien ta solution aussi) Mais elle est plus compliquée que la mienne)

Toutes les solutions comportant des éléments supplémentaires - inutilisés - dans la liste des paires, priveront le testeur de courses "utiles". Ce qui n'est pas non plus sans importance.

 
Михаил:

Quelques lignes et quelques clics de souris et vous disposez toujours d'un jeu de caractères. Et AVANT même de démarrer le programme, il est dans la fenêtre des paramètres!

Ouais, et ensuite exécuter ce code sur un autre courtier. Ou même sur le même, après un certain temps, lorsqu'il a modifié la liste des instruments disponibles.

Enam doit être connu au moment de la compilation. C'est pour cette raison qu'il peut apparaître dans les paramètres.


Bien sûr, il serait pratique de connecter quelques émaux dynamiques, qui seraient générés par le terminal au moment du démarrage et donnés au conseiller expert, mais nous ne pouvons que rêver à cela.

 

En fait, commeSymbolsTotal + SymbolName fonctionnent dans le testeur, je ne vois pas du tout l'intérêt des émaux. Vous pouvez parcourir les instruments par numéro ou par tout autre critère.

Mais il serait intéressant de résoudre le problème de la préparation d'une liste d'instruments sans y faire référence au début de chaque test. Mais ce n'est pas encore pertinent.

 
Михаил:

Facile. Je l'ai déjà donné plusieurs fois ici... Le terminal dispose toujours de ces données. Ils sont disponibles sous une forme toute prête dans la fenêtre "aperçu du marché" du terminal.

Vous pouvez les reprendre dans ce formulaire prêt à l'emploi en appuyant sur le bouton droit>save.....

Et les substituer dans l'enum - question de connerie pour les méta-citations ! En principe, c'est comme un copier-coller pour moi.

L'heure de votre système n'est pas une constante immuable, cousue dans le langage de manière implicite ! Ça change. !

Eh bien, la liste des symboles, qu'elle change aussi, si elle est variable d'un courtier à l'autre...

Lorsque vous le connectez à un compte. Le plus souvent...


Il se trouve que j'en ai presque fini avec la programmation. Les solutions que vous proposez me semblent être, vous savez, un jeu d'enfant... Oh, je peux écrire ceci et cela... Oh, c'est génial)))

Je peux le faire aussi, mais ma façon de créer un seul enum est meilleure précisément parce qu'il n'y a pas besoin de compliquer le code, vous n'avez rien à écrire. Quelques lignes et quelques clics de souris et vous disposez toujours d'un ensemble de caractères. Et AVANT de lancer le programme, dans la fenêtre des paramètres!

Mais même cela me pose trop de problèmes, j'aimerais donc disposer d'un enum prêt à l'emploi ;)) C'est tout.

Il y a déjà assez à faire. Il n'y a pas besoin d'en rajouter à l'improviste.

Exactement - vous n'obtenez pas le temps système dans l'enum, vous l'obtenez par la fonction d'exécution. L'enum est une constante du langage et ne change pas pendant toute la durée de vie du programme à partir du moment de sa création (compilation).

Et tous les symboles sont également disponibles via la fonction d'exécution. Il n'y a pas de problème, il est seulement dans votre esprit.

Et on ne voit pas bien quels pouvoirs magiques un enum peut vous donner, à part la recherche de tous les symboles (ce qui est facile même sans lui). C'est justeun type entier aussi, vous n'aimez pas les nombres, donc l'enum est juste des nombres. Le fait que le langage puisse afficher leurs noms sous forme de chaînes de caractères pendant la compilation est un ajout intéressant. Vous avez choisi un symbole dans les préférences Enum, et alors ? Vous avez une bonne chance d'obtenir un bon signal du courtier, mais vous ne l'obtenez pas.

Andrey Khatimlianskii:

En fait, grâce au fait que SymbolsTotal + SymbolName fonctionnent dans le testeur, je ne vois pas l'intérêt d'avoir un enum du tout. Vous pouvez parcourir les instruments par numéro ou par tout autre critère.

Mais il serait intéressant de résoudre le problème de la préparation d'une liste d'instruments sans y faire référence au début de chaque test. Mais ce n'est pas encore réel.

En général + ! C 'est une question d'architecture de la combinaison programme MQL - testeur MT. Avec l'architecture actuelle, il existe des obstacles objectifs.

 
Aleksey Mavrin:

L'accent est mis sur une question d'architecture du lien entre le programme MQL et le testeur MT. Avec l'architecture actuelle, il existe des obstacles objectifs.

Oui, le lancement en ligne pour la préparation + l'écriture dans un fichier puis la lecture pendant les tests n'est pas la plus belle option (et ne fonctionne pas dans tous les cas).

Mais jusqu'à présent, il n'y a pas de volonté d'inventer quelque chose.

 
Andrey Khatimlianskii:

Oui, fonctionner en ligne pour la préparation + écrire dans un fichier et ensuite lire pendant les tests n'est pas l'option la plus jolie (et ne fonctionne pas dans tous les cas).

Mais il n'y a pas encore d'envie d'inventer quelque chose.

Cette option ne donnera pas ce que TC désire, il veut avoir une liste sous forme d'enum avant de lancer le testeur.

Et il ne se rend même pas compte que ce qu'il veut vraiment, ce n'est pas une énumération, mais un tableau dynamique de chaînes de caractères stocké et maintenu dans le terminal et accessible à partir des programmes MQL au niveau du langage (et non au moment de l'exécution, comme c'est le cas actuellement).

Ici, les limites de l'architecture ne suffisent pas. Et pourquoi le feraient-ils ?

 
Aleksey Mavrin:

Cette option ne répondra pas aux attentes du CT.

Il ne s'agit plus de la tâche de TC, mais de sa propre application.

 
Aleksey Mavrin:

... Et il ne se rend même pas compte que ce dont il a réellement besoin n'est pas un enum mais un tableau dynamique de chaînes de caractères...

Vous êtes un télépathe)) Félicitations !

Je me fiche de savoir si vous l'appelez enum ou autre.

Encore une fois, le nom ne m'intéresse pas !

Je parle du point. Il n'y a aucun intérêt. Et il faut qu'il y en ait. Si vous ne comprenez pas pourquoi... Eh bien...

Mais vous pouvez débattre et découvrir que les humains sont tous des êtres irrationnels.

Et ta présence ici est probablement irrationnelle... Mais vous êtes juste intéressé et c'est suffisant. Je suis à l'aise avec cette option. Si quelqu'un d'autre est à l'aise, faites-le savoir aux développeurs.

Et n'insistez pas sur le fait qu'il est difficile de faire ce dont vous disposez. Ce n'est pas le cas. Si c'est le cas, les méta-citations présentent des problèmes de nature organisationnelle.


Aleksey Mavrin:

...Lescontraintes de l'architecture ne suffiront pas ici. Et pourquoi....

Oups, c'est intéressant. Connaissez-vous l'architecture de cet environnement... Avez-vous décompilé ou êtes-vous un représentant des méta-citations ?


En fait, nous parlons de rien depuis un moment maintenant ;))

 
Михаил:

Vous êtes un télépathe)) Félicitations !

Peu importe que vous l'appeliez enum ou autre.

Encore une fois, je me fiche de comment vous l'appelez !

Je parle du point. Il n'y a aucun intérêt. Et il faut qu'il y en ait. Si vous ne comprenez pas pourquoi... Eh bien...

Mais vous pouvez débattre et découvrir que les humains sont tous des êtres irrationnels.

Et ta présence ici est probablement irrationnelle... Mais vous êtes juste intéressé et c'est suffisant. Je suis à l'aise avec cette option. Si quelqu'un d'autre est à l'aise, faites-le savoir aux développeurs.

Et n'insistez pas sur le fait qu'il est difficile de faire ce dont vous disposez. Ce n'est pas le cas. Si c'est le cas, alors les métacitations ont des problèmes d'organisation.


Oups, c'est intéressant. Connaissez-vous l'architecture de cet environnement... Avez-vous décompilé ou êtes-vous un représentant des méta-citations ?


En fait, nous parlons de rien depuis un moment maintenant ;))

1. il est déjà disponible.

2. Je sais, tu n'as pas besoin d'être dans MK ou de décompiler pour ça.

Alors mettons fin à cette conversation) Bonne chance !