Je suis tellement stupide :) À quoi se lie le contrôle du formulaire CAppDialog? À l'élément subordonné Client Area ou à l'élément subordonné Underlay ?
Après avoir attaché un script à partir de la fenêtre "Navigator", ce script reste actif. Un tel comportement n'est pas sûr car ce script peut être supprimé par inadvertance. Par exemple :
Un script est attaché à un graphique, le script dessine quelques lignes et ces lignes restent actives (en surbrillance). Maintenant, si je veux supprimer ces lignes d'un seul coup (via la touche "delete"), j'obtiens un avertissement sur la suppression possible du script au lieu de supprimer les lignes :
L'avertissement est bon, mais le bouton "Oui" est actif par défaut dans la boîte de dialogue! Et c'est ainsi que vous pouvez cliquer sur le bouton et supprimer le script ! Après tout, au départ, je veux supprimer les lignes et je clique sur "supprimer" en espérant supprimer les lignes, mais je peux finir par supprimer le script !
N'essayez pas de modifier les principes de programmation par des cas particuliers. C'est le résultat de bonnes intentions.
La fonction de capture de données a fourni ces données et vous devez maintenant les interpréter. Tous les zéros ne sont pas des erreurs. Il est particulièrement dangereux de déduire une erreur des caractéristiques des instruments financiers, car souvent la moitié de leurs champs sont vides ou n'ont pas de sens dans un mode particulier.
En d'autres termes, une fois que la fonction d'extraction des données a été traitée, je dois vérifier quelles données j'ai extraites. OK, je vais corriger le code :
Mais lors de la première exécution, si cela se produit le week-end, c'est-à-dire qu'il n'y a pas de ticks, l'indicateur n'affiche pas l'information. Il attend le prochain tic-tac. D'après les entrées du journal, nous voyons que tickValue = 0, donc nous quittons sur erreur et attendons .......
Merde !
Vous n'obtenez zéro que la première fois que vous exécutez le terminal. Qu'est-ce qui l'empêche de vérifier la présence d'un zéro et d'activer le drapeau pour désactiver le fonctionnement ? Et la prochaine fois que l'on entre dans OnCalculate(), toutes les fonctions renvoient déjà un résultat différent de zéro (il est facile de vérifier la sortie - il suffit de faire un clic droit sur le graphique et de sélectionner "Rafraîchir").
En d'autres termes, une fois que la fonction d'extraction des données a été traitée, je dois vérifier quelles données j'ai extraites. OK, je vais corriger le code :
Mais lors de la première exécution, si cela se produit le week-end, c'est-à-dire qu'il n'y a pas de ticks, l'indicateur n'affiche pas l'information. Il attend le prochain tic-tac. D'après les entrées du journal, nous voyons que tickValue = 0, donc nous quittons sur erreur et attendons .......
Merde !
Alors, qu'est-ce qui est si difficile à vérifier pour la division par zéro? S'il y a une telle fonction de retour, il est plus facile d'ajouter une ligne de plus dans le code ou de demander sur le forum de refaire le terminal et de ne pas tenir compte du fait que dans le futur, cela ne se répétera pas ?
Karputov Vladimir et Vladimir Zubov lisez vous au moins ce que vous commentez ? Ou l'essentiel pour vous est d'exprimer votre respect. Si vous n'avez pas compris le problème en question, restez à l'écart, peut-être apprendrez-vous quelque chose d'utile pour vous-même.
Ma conversation avec Renat sur le TRAVAIL INCORRECT DES FONCTIONS ! !!
Pourquoi la fonction DROIT (return(true)) renvoie-t-elle ZERO ?
Comment la valeur d'une coche peut-elle être égale à zéro ? Où est-ce que SymbolInfoDouble() prend les données sur la valeur du tick, s'il retourne une valeur nulle du tick ?
Vous devriez au moins comprendre ce que vous commentez.
Vous n'avez probablement pas tout à fait raison sur la façon dont les fonctions fonctionnent. La fonction :
Renvoie le résultat de son exécution correcte. En prenant l'exemple d'une épicerie. La tâche de la fonction est d'aller chercher ce qui se trouve dans la boîte 5. Si la fonction s'est rendue à l'entrepôt, a trouvé la boîte n° 5 et a secoué ce qui s'y trouve dans son sac, alors la fonction renverra "Tâche terminée avec succès".
La fonction ne se soucie pas vraiment de ce qu'elle a dans son sac. C'est votre problème maintenant. Analysez exactement ce que la fonction a apporté dans le sac.
Votre travail en tant que programmeur consiste donc à vérifier deux résultats : si la fonction s'est achevée avec succès et ce qu'elle a renvoyé. Et vous n'avez pas besoin d'exiger du terminal ce que vous voulez voir. Il suffit de faire ce qu'il faut.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Chers développeurs !
Je suis tellement stupide :) À quoi se lie le contrôle du formulaire CAppDialog? À l'élément subordonné Client Area ou à l'élément subordonné Underlay ?
Chers développeurs !
Posté une demande à servicedesk -Démarré : 2015.07.10 15:48,#1257674
Ne le laissez pas passer s'il vous plaît....
Terminal MetaTrader 5 x64 build 1159 (MetaQuotes Software Corp.)
Après avoir attaché un script à partir de la fenêtre "Navigator", ce script reste actif. Un tel comportement n'est pas sûr car ce script peut être supprimé par inadvertance. Par exemple :
Un script est attaché à un graphique, le script dessine quelques lignes et ces lignes restent actives (en surbrillance). Maintenant, si je veux supprimer ces lignes d'un seul coup (via la touche "delete"), j'obtiens un avertissement sur la suppression possible du script au lieu de supprimer les lignes :
L'avertissement est bon, mais le bouton "Oui" est actif par défaut dans la boîte de dialogue! Et c'est ainsi que vous pouvez cliquer sur le bouton et supprimer le script ! Après tout, au départ, je veux supprimer les lignes et je clique sur "supprimer" en espérant supprimer les lignes, mais je peux finir par supprimer le script !
Ce bug est déjà ennuyeux :
Lors du chargement du terminal, il donne zéro donnée et une erreur critique de division par zéro.
Aucune vérification de la récupération des données, aide !!!
Bon après-midi,
J'ai laissé un ticket sur le problème des copyticks :
https://www.mql5.com/ru/forum/38520/page3
dès le 03 juillet, personne ne répond.
En d'autres termes, une fois que la fonction d'extraction des données a été traitée, je dois vérifier quelles données j'ai extraites. OK, je vais corriger le code :
Mais lors de la première exécution, si cela se produit le week-end, c'est-à-dire qu'il n'y a pas de ticks, l'indicateur n'affiche pas l'information. Il attend le prochain tic-tac. D'après les entrées du journal, nous voyons que tickValue = 0, donc nous quittons sur erreur et attendons .......
Merde !
En d'autres termes, une fois que la fonction d'extraction des données a été traitée, je dois vérifier quelles données j'ai extraites. OK, je vais corriger le code :
Mais lors de la première exécution, si cela se produit le week-end, c'est-à-dire qu'il n'y a pas de ticks, l'indicateur n'affiche pas l'information. Il attend le prochain tic-tac. D'après les entrées du journal, nous voyons que tickValue = 0, donc nous quittons sur erreur et attendons .......
Merde !
Karputov Vladimir et Vladimir Zubov lisez vous au moins ce que vous commentez ? Ou l'essentiel pour vous est d'exprimer votre respect. Si vous n'avez pas compris le problème en question, restez à l'écart, peut-être apprendrez-vous quelque chose d'utile pour vous-même.
Ma conversation avec Renat sur le TRAVAIL INCORRECT DES FONCTIONS ! !!
Pourquoi la fonction DROIT (return(true)) renvoie-t-elle ZERO ?
Comment la valeur d'une coche peut-elle être égale à zéro ? Où est-ce que SymbolInfoDouble() prend les données sur la valeur du tick, s'il retourne une valeur nulle du tick ?
Vous devriez au moins comprendre ce que vous commentez.
Vous n'avez probablement pas tout à fait raison sur la façon dont les fonctions fonctionnent. La fonction :
Votre travail en tant que programmeur consiste donc à vérifier deux résultats : si la fonction s'est achevée avec succès et ce qu'elle a renvoyé. Et vous n'avez pas besoin d'exiger du terminal ce que vous voulez voir. Il suffit de faire ce qu'il faut.