Tâche de traçage (construction d'un graphique de fonction) - page 3

 
MetaDriver:

La bande-annonce est un "travail conceptuel en cours", ou plutôt un exemple de mise en œuvre.

Mauvaise nouvelle : je n'ai pas sauvegardé le rêve du topicstarter d'une fonction de traçage unique. Désolé Sergeyev. :)


Vladimir, merci pour votre travail acharné... mais... il n'y a qu'une seule chose à faire ici. Sinon, le topicstarter ne me laissera pas m'endormir, et je suis déjà très impatient :)
 
alsu:
Et d'où vient une tâche aussi étrange ? Cela vaut-il la peine de consacrer des efforts à des recherches douteuses, alors qu'il suffit de créer deux fonctions - entrée et sortie - et de ne pas s'en soucier ?
De plus, le problème est insoluble avec une seule fonction. Vous avez besoin de parenthèses particulières - entrée et sortie. Sinon, vous obtenez un mamelon. :))
 
alsu:
Et d'où vient cette tâche si étrange ? Est-il utile de consacrer des efforts à des recherches douteuses, si l'on peut réaliser deux fonctions élémentaires - entrée et sortie - sans s'en soucier ?

Une tâche comme une tâche. Il y a des tâches encore plus étranges sur ce forum.

Tu ne peux pas l'utiliser sur la sortie... Tu dois travailler avec chaque retour + ajouter des crochets { } partout.

 
MetaDriver:
De plus, le problème est insoluble avec une seule fonction. Vous avez besoin d'une sorte de support - entrée et sortie. Sinon, vous obtenez un mamelon... :))

Eh bien, pourquoi ne pas stocker des variables intermédiaires qui se rappelleront d'où elles viennent ?
 
MetaDriver:

3. Deux définitions sont écrites au début du programme

Cool !

je ne m'attendais même pas à une telle utilisation de #define - en fait une directive du précompilateur, mais par le livre, comme enseigné : #define abc 100 est utilisé, et puis je n'avais aucune idée de l'étendue de l'utilisation de #define

des remerciements particuliers ! !!

 
IgorM:

Génial !

je ne m'attendais même pas à cette utilisation de #define - en fait une directive du précompilateur, mais par le livre, comme enseigné : #define abc 100 est utilisé, et de plus je n'avais aucune idée de l'étendue de l'utilisation de #define

des remerciements particuliers ! !!

Eh bien, cela ne fonctionne pas en 4))
 
alsu:
cela ne fonctionne pas en quatre, par exemple))

m'interdire de coder sur MT5 jusqu'à ce que les gens après la prochaine version de MT5 n'arrêtent pas de se plaindre des nouveaux bugs et des anciens non corrigés - perte de temps !
 
alsu:
Eh bien, ceci, par exemple, ne fonctionne pas dans 4))

:)

de la documentation mql4(Référence MQL4 - Fondamentaux du langage - Préprocesseur - Déclarer une constante) :

En utilisant la construction #define, vous pouvez définir un nom symbolique ou une constante symbolique au début du programme, qui sera une chaîne de caractères spécifique. Par la suite, le compilateur remplacera toutes les occurrences non citées de ce nom par la chaîne correspondante. En fait, ce nom peut être remplacé par un texte tout à fait arbitraire, pas nécessairement des chiffres

Mais le fait que la macro __FUNCTION__ est indéfinie (et qu'il n'y a pas d'analogue) en 4 est vrai. En fait, cela rend la tâche de préanalyse du code plus fastidieuse et moins polyvalente.

 
sergeev:

Eh bien, qu'en est-il du stockage de variables intermédiaires qui se rappelleront d'où elles viennent ?
Et si l'on rencontre une récursion dans le programme ?
 
MetaDriver:
Et si la récursion est rencontrée dans le programme ?

La récursion ne peut pas provoquer l'allongement d'une branche (apparition de nouveaux nœuds).
Au moins - cela peut être prévu dès maintenant. Mais en général, les récursions ne sont pas utilisées si souvent qu'on ne les connaît pas.