Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 656
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
Le problème ne concerne pas les débutants, pour être honnête. Il est nécessaire de sauvegarder tout ce qui se trouve sur le graphique dans un modèle, puis d'ajouter à ce modèle l'indicateur requis avec tous les paramètres et de charger un nouveau modèle sur le graphique. La sauvegarde et le chargement du modèle sont possibles au moyen de MQL, mais pour éditer le fichier du modèle, vous devez probablement écrire une DLL, je ne suis pas sûr que le script personnalisé ait accès à l'écriture des fichiers du modèle.
Opérations avec les graphes
Fonctions permettant de travailler avec des graphiques. Toutes les opérations graphiques sont applicables uniquement aux conseillers experts et aux scripts.
Les fonctions qui définissent les propriétés du graphique servent en fait à lui envoyer les commandes de modification. Si ces fonctions sont exécutées avec succès, la commande est placée dans la file d'attente des événements généraux du graphique. La modification de la carte est effectuée lors du traitement de la file d'attente des événements de la carte donnée.
Pour cette raison, il ne faut pas s'attendre à une mise à jour visuelle immédiate du graphique après l'appel des fonctions. En général, le graphique est mis à jour automatiquement par le terminal en fonction des événements de changement - arrivée d'une nouvelle cotation, modification de la taille de la fenêtre du graphique, etc. Pour la mise à jour forcée de l'apparence du graphique, utilisez la commande ChartRedraw().
Fonction
Action
ChartApplyTemplate
Applique au graphique spécifié un modèle provenant du fichier spécifié.
ChartSaveTemplate
Enregistre les paramètres actuels du graphique dans un modèle portant le nom spécifié.
ChartWindowFind
Renvoie le numéro de la sous-fenêtre dans laquelle se trouve l'indicateur.
ChartTimePriceToXY
Convertit les coordonnées du graphique de la représentation temps/prix en coordonnées X et Y.
ChartXYToTimePrice
Convertit les coordonnées X et Y du graphique en valeurs de temps et de prix.
ChartOpen
Ouvre un nouveau graphique avec le symbole et la période spécifiés.
ChartFirst
Retourne l'identifiant du graphique qui suit celui spécifié.
ChartNext
Retourne l'ID du premier graphique du terminal client
ChartClose
Ferme le graphique spécifié
ChartSymbol
Retourne le nom du symbole graphique spécifié
Période du graphique
Retourne la valeur de la période de l'objet spécifié
Opérations avec les graphes
Oui, oui exactement. Où se trouve l'édition du modèle (ou l'ajout d'un indicateur, comme dans MT5) ? Non. Donc la DLL est nécessaire, n'est-ce pas ? Ou existe-t-il d'autres méthodes pour ajouter un indicateur à un graphique MT4 que l'édition de modèles ?
La question portait sur l'ajout d'un indicateur à l'aide d'un conseiller expert, ici
Pour être honnête, cette tâche n'est pas destinée aux débutants. Il est nécessaire de sauvegarder tout ce qui se trouve sur le graphique dans un modèle, puis d'ajouter l'indicateur requis avec tous les paramètres à ce modèle et de charger un nouveau modèle sur le graphique. La sauvegarde et le chargement du modèle sont possibles au moyen de MQL, mais pour éditer le fichier modèle, vous devez probablement écrire une DLL, je ne suis pas sûr que le script personnalisé ait accès à l'écriture des fichiers modèles.
Que se passe-t-il si j'ouvre les indicateurs requis dans une fenêtre séparée, que j'enregistre le tout dans un modèle, puis que je lance le programme dans un graphique "vide" et que j'ouvre ce modèle ?
Et si j'ouvre les indicateurs dont j'ai besoin dans une fenêtre séparée, que j'enregistre le tout dans un modèle, que je lance ensuite le programme sur un graphique "vide" et que j'ouvre ce modèle, est-ce que tous les indicateurs s'ouvriront également ? ou dois-je prescrire l'ouverture des indicateurs dans le modèle lui-même ?
Après avoir appliqué le modèle, tous les indicateurs seront automatiquement attachés à la fenêtre graphique donnée.
Après avoir appliqué le modèle, tous les indicateurs seront automatiquement attachés à cette fenêtre graphique.
oceans) got it) thanks, others
Que se passe-t-il si j'ouvre les indicateurs dont j'ai besoin dans une fenêtre séparée, que j'enregistre le tout dans un modèle. Ensuite, je lance le programme sur un graphique "vide" et j'ouvre ce modèle. tous les indicateurs s'ouvriront également ? ou dois-je prescrire l'ouverture des indicateurs dans le modèle lui-même ?
Question 1 - Dans les nouvelles versions des paramètres externes de l'EA (ME5 Build 934 ; MT4 Build 646), les commentaires sont affichés à la place des noms de variables. Comment s'en débarrasser ? Ne me suggérez pas de ne pas écrire de commentaires - j'en ai besoin (voir question 2).
Question 2 - D'après ce que j'ai compris, les commentaires sont destinés au programmeur lui-même pour qu'il puisse écrire ses pensées, ses notes et autres pendant l'écriture du code. Si c'est le cas (et c'est ce qu'on enseigne dans les livres et les cours), alors c'est une tâche unique. Et on nous apprend : une fonction - une tâche. Par conséquent, lorsque cette tâche a une autre tâche - c'est exactement le jeu de mots pour ce qui est fait dans les nouvelles constructions - nous obtenons une vinaigrette. - Est-ce que c'est la bonne chose à faire ? Sinon, comment puis-je écrire mes commentaires, dont j'ai besoin, et je ne veux pas du tout que quelqu'un d'autre les voie. Parce que si mes commentaires sont reflétés dans le public, alors quel genre de commentaires sont-ils ? C'est une tâche complètement différente.
Nous avons donc deux tâches différentes : "commenter pour moi-même tout en écrivant du code" et "décrire les variables externes".
Il semble que pour la nouvelle tâche "description des variables externes", une autre option indépendante du compilateur devrait être allouée. Ou au moins faire en sorte que cette option soit le choix de l'utilisateur (bien que cela soit déjà en contradiction avec les principes de base de la programmation).
Si je me trompe, corrigez-moi.
Question 1 - Dans les paramètres externes de l'EA dans les nouveaux builds (ME5 Build 934 ; MT4 Build 646), les commentaires sont affichés à la place des noms de variables. Comment s'en débarrasser ? Ne me suggérez pas de ne pas écrire de commentaires - j'en ai besoin (voir question 2).
Question 2 - D'après ce que j'ai compris, les commentaires sont destinés au programmeur lui-même pour qu'il puisse écrire ses pensées, ses notes et autres pendant l'écriture du code. Si c'est le cas (et c'est ce qu'on enseigne dans les livres et les cours), alors c'est une tâche unique. Et on nous apprend : une fonction - une tâche. Par conséquent, lorsque cette tâche a une autre tâche - c'est exactement le jeu de mots pour ce qui est fait dans les nouvelles constructions - nous obtenons une vinaigrette. - Est-ce que c'est la bonne chose à faire ? Sinon, comment puis-je écrire mes commentaires, dont j'ai besoin, et je ne veux pas du tout que quelqu'un d'autre les voie. Parce que si mes commentaires sont reflétés dans la publicité, alors quel genre de commentaires sont-ils ? C'est une tâche complètement différente.
Nous avons donc deux tâches différentes : "commenter pour moi-même tout en écrivant du code" et "décrire les variables externes".
Il semble que pour la nouvelle tâche "description des variables externes", une autre option indépendante du compilateur devrait être allouée. Ou, du moins, que cette option soit laissée au choix de l'utilisateur (bien que cela soit déjà en contradiction avec les principes de base de la programmation).
Si je me trompe, corrigez-moi.
Il est donc pratique que les variables externes puissent être rendues plus lisibles pour soi-même et/ou pour les utilisateurs.
Et pour que les commentaires sur les variables externes ne soient pas visibles (visibles uniquement dans le code), vous pouvez simplement les écrire sur une deuxième ligne.
Ainsi, par exemple, au lieu de :
le transformer en deux lignes :
Dans le premier cas, au lieu de Abcd, les variables externes afficheraient :"Je veux faire des profits à : 1.2345",
dans le second :"AbcD 1.2345"
Il est pratique de pouvoir rendre les variables externes plus lisibles pour vous et/ou vos utilisateurs.
Et pour que les commentaires sur les variables externes ne soient pas affichés (uniquement visibles dans le code), vous pouvez simplement les écrire sur une deuxième ligne.
Ainsi, par exemple, au lieu de :
le transformer en deux lignes :
Dans le premier cas, au lieu de Abcd, les variables externes afficheraient :"Je veux faire des profits à : 1.2345",
dans le second cas :"AbcD 1.2345".
Oui, ça ne me dérange pas du tout, ce qui est pratique. D'ailleurs, je comprends ce qu'ils voulaient réaliser. Mais vous ne pouvez pas mettre en œuvre une tâche tout en tuant une autre.
Il est moins pratique d'écrire en 2 lignes, car s'il y a 5-10 variables, on peut le supporter (mais, encore une fois, pourquoi le supporter ?). Mais que se passe-t-il s'il y a environ 200 de ces variables ? Dans ce cas, la taille du code sera beaucoup plus importante.
En revanche, si c'est une autre option, vous devrez encore augmenter la taille du code au détriment de la description de la variable. Ainsi, la solution que vous proposez est peut-être plus optimale et plus concise que l'introduction de la deuxième option. Je suis prêt à accepter.
Si je devine bien, la traduction du chariot est une contrainte pour la description des variables ?
Et j'ai une question supplémentaire :
Serait-il possible de rendre les descriptions disponibles de manière facultative dans plusieurs langues au choix ? Ce serait encore plus pratique. : )) Dans ce cas, il est préférable de faire une option de toute façon, plutôt que d'utiliser les commentaires habituels pour la description.
Au fait. Ces descriptions de variables sont de toute façon peu affichées dans la boîte de dialogue des options, car la taille des colonnes ne conserve pas d'étirement et laplupart de la description est "mangée" par l'étroitesse de la colonne de description. Mais il y a un espace déraisonnable pour les valeurs variables. Donc, nous avons voulu l'améliorer... Mais c'est aussi un pas en avant. : ))