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
Eh bien, les noms anglais ont été inventés pour une raison.
Je peux vous donner un autre exemple où les noms russes vont tuer votre code :
Vous transmettez le code à un client qui n'a pas le cyrillique. C'est tout. .... tout est parti..... :-)
Et le client a-t-il besoin du code, ou de la solution ?
Le client veut-il le code ou la solution ?
c'est pourquoi vous devez décider de la cible et des utilisateurs finaux.
Mettez-vous à la place de l'utilisateur et oubliez tout ce que vous avez fait : comment l'utilisateur se sentira-t-il ?
Est-ce que tout aura un sens pour lui ou elle ?
c'est pourquoi vous devez décider de la cible et des utilisateurs finaux.
Mettez-vous à la place de l'utilisateur et oubliez tout ce que vous avez fait : comment l'utilisateur se sentira-t-il ?
Est-ce qu'il ou elle comprendra tout ?
Je suis d'accord. J'écris en deux langues. Je peux le faire uniquement en anglais.
Vous, en tant qu'anglophone, vous êtes libre d'ignorer ma décision. Il y a peu de mots anglais.
Au fait, puisque vous êtes si doué avec le code anglais, veuillez m'aider avec le code proposé par Nikolay Semko :
Honnêtement, je ne comprends pas comment ça marche. Il a beaucoup de syllabes anglaises courtes. Juste ce que vous aimez.
C'est la chose que je connais sur 30% de l'anglais, et seulement technique, pas conversationnel.
En programmation, il n'y a que quelques dizaines de mots, et vous pouvez les mémoriser après avoir écrit littéralement un ou deux programmes.
P.S. Le code que vous avez posté, il n'y a que 5 variables, comment ne peuvent-ils pas comprendre ?
C'est le problème, je connais environ 30% de l'anglais, et seulement la technique, pas la conversation.
En programmation, il n'y a que quelques dizaines de mots, et on peut les mémoriser en écrivant littéralement 1 ou 2 programmes.
P.S. Le code que vous avez posté ne comporte que 5 variables, comment pouvez-vous ne pas les comprendre ?
J'ai compté 30 variables dans mon code (dans la fonction principale). Et jusqu'à combien comptez-vous ? (je plaisante).
30% d'anglais technique est très fort. Savez-vous à quel point l'anglais technique est riche ?
Quelques dizaines de mots en programmation ? Maintenant je vois pourquoi nous ne nous comprenons pas)).
zy. Si vous parlez du code de Nikolaï, expliquez comment il fonctionne.
D'ailleurs, à en juger par l'image, la décomposition des couleurs n'est pas complète ici. Seulement la moitié. La gamme doit s'étendre du blanc complet au noir complet, en passant par toutes les nuances d'une couleur particulière.
Oui, vous avez raison.
J'ai essayé de l'implémenter et d'analyser et de visualiser votre code.
Voici ce qui en est ressorti :
Votre variante
ma variante :
Laissez-moi vous expliquer :
La ligne blanche est la ligne de tonalité (somme des couleurs R+B+G) - idéalement, il devrait s'agir d'une ligne diagonale droite. Je l'ai mis en place, pas vous.
Les lignes rouge, bleue et verte sont des lignes de rapport de couleur. Appelons-les des harmoniques du spectre. Idéalement, elles devraient être verticales. Mais il est impossible de le réaliser après que la couleur maximale initiale soit devenue 255. Mais il est possible d'atteindre une situation où il n'y aura pas de points d'inflexion (marqués par des flèches rouges) et de faire un arc lisse. Le gradient sera alors sans "grumeaux". Ce problème existe aussi bien dans vos algorithmes que dans les miens. Il peut être corrigé, mais je n'en vois pas encore l'intérêt, c'est donc une perte de temps. En pratique, j'ai besoin d'un dégradé d'une couleur à une autre. Ceci est facilement mis en œuvre avec les harmoniques strictement verticales du spectre (le flou de l'harmonique du haut est normal, car il s'agit d'une conséquence de l'arrondi). Dans ce problème, cependant, le gradient va du noir au blanc en passant par une troisième couleur, d'où l'existence de ces coudes.
C'est étrange, j'étais sûr que vous écriviez en MQL5. Mais en plus du programme 4's lui-même, vous avez aussi le style de programmation 4's. J'ai essayé de transférer votre algorithme sur 5 mais cela n'a pas fonctionné, car il n'affiche que quelques bandes de couleur. Cela se produit très probablement à cause d'une confusion avec la portée des variables, mais il est extrêmement difficile de résoudre ce problème parce que le code ne se prête pas au débogage, alors j'ai abandonné. Je comprends que vous êtes habitué à votre style de programmation et que vous ne comprenez pas mon style. C'est mutuel parce que j'ai l'habitude de voir la structure d'un programme au lieu de le lire comme un livre. Et dans votre code, il est impossible de déboguer et de comprendre à quel moment de la définition des variables, les longs noms de variables occupent 90% du texte du programme, ce qui fait que la structure du programme se perd, se dissolvant dans ces longs noms de variables aux couleurs de Barbie. Dans l'ensemble, votre code ressemble personnellement à une sorte de S&M.
En outre,votre algorithme s'est avéré être des dizaines de fois plus lent, et la raison n'est même pas MQL4. Je n'arrivais pas à comprendre. Quelles tangentes, quels triangles quand il n'y a que duRVB?
Et essayez de maîtriser le syndicat - une chose très utile.
Pour mieux comprendre ce que je veux dire, vous devriez essayer d'exécuter les deux scripts que j'ai joints avec votre algorithme (MQL4) et le mien (MQL5).
Vous avez aussi de telles mésaventures :
Seulement je ne comprends pas encore, est-ce un problème de lenteur de MT4 ou un bug dans votre algorithme.
1. Nikolaï, même en comparant les deux premières photos que vous avez citées, on voit immédiatement qu'une brume grise plane sur votre version. Regardez bien. Et dans ma version, la couleur est beaucoup plus vive. Pensez-vous que votre version transmet mieux la couleur ?
2. J'ai pris la palette de couleurs de Windows comme référence. J'ai une correspondance de couleur de 99%. Vérifiez vos couleurs pour voir si elles correspondent à celles de Windows. Imprimez un éventail de teintes comme je l'ai fait. Ensuite, ouvrez les propriétés du graphique et la palette. Entrez dans les fenêtres des valeurs des composants de la couleur initiale, puis déplacez le curseur vers le haut et vers le bas. Les chiffres vont changer. Vous recherchez ces chiffres sur votre impression et voyez s'ils correspondent bien.
3. je comprends que la mise en œuvre spécifique peut varier. Je n'ai pas vérifié mon algorithme spécifiquement pour la vitesse, et je ne l'ai pas optimisé pour la vitesse. Votre solution peut sembler vous donner une vitesse plus élevée. Je ne vais pas le nier.
4. Il existe une notion de prisme en optique. Il existe une notion de réfraction de la lumière. Je partais de ce même paradigme. J'ai tracé 256*256 (de 0 à 255). Puis j'ai tracé des lignes. J'ai trouvé l'axe de réfraction de la couleur. Il se trouve au centre du graphique. Chaque composante est une courbe composée de deux segments. Au total, la couleur présente trois lignes courbes, dont chacune est réfractée au centre du graphique, se divisant en deux segments. Chaque segment a son propre angle. La couleur d'origine a une coordonnée sur le graphique. On peut le trouver parmi ses nuances. Ma tâche consistait à trouver la couleur initiale, à déterminer les angles des six segments et à obtenir les valeurs de chaque composant le long de sa ligne.
5. Les tangentes sont des rapports entre des cathéters adjacents et des cathéters opposés. Elle est nécessaire pour le calcul des angles des segments et le calcul de la hauteur des cathéters opposés (qui est la valeur d'un composant dans un ton concret de couleur).
6. Quant aux styles de programmation, je suggère de ne pas en discuter. L'essence du sujet n'est pas pertinente.
7. A propos des mésaventures - peut-être le sont-elles. Mais je ne les ai pas encore rencontrés. Par conséquent, je ne sais pas.
Au fait, dites-moi comment fonctionne la décomposition des couleurs dans votre version. Je ne le comprends pas complètement.
Je ne comprends pas encore, est-ce un problème de lenteur de MT4 ou un bug dans votre algorithme.
A propos de la différence de vitesse des algorithmes :
1. votre algorithme remplit un tableau d'uint, tandis que le mien remplit un tableau de string. (J'ai exactement besoin d'une chaîne, pour extraire facilement les composants nécessaires de l'ombre et ensuite travailler avec eux). Vous pouvez voir la différence dans la vitesse de remplissage des deux types de tableaux dans le script ci-dessous.
2. Votre algorithme fonctionne sur МТ5, et le mien sur МТ4. La différence de vitesse de remplissage des tableaux sur ces plateformes a été discutée par moi ici -https://www.mql5.com/ru/forum/222333. Le script ci-dessous vous permet de constater vous-même la différence. Mettez-le sur les deux plateformes et comparez.
J'ai mesuré la vitesse de 30 000 cellules de tableaux d'int et de string sur MT4 et MT5 (ms) :
Comme vous pouvez le constater, mon algorithme est plus lent pour deux raisons :
A propos de la différence dans la vitesse des algorithmes :
1. votre algorithme remplit un tableau d'uint, alors que le mien remplit un tableau de string. (J'ai besoin d'une chaîne pour extraire facilement les composants nécessaires de l'ombre et ensuite travailler avec eux). Vous pouvez voir la différence dans la vitesse de remplissage des deux types de tableaux dans le script ci-dessous.
2. Votre algorithme fonctionne sur МТ5, et le mien sur МТ4. La différence de vitesse de remplissage des tableaux sur ces plateformes a été discutée par moi ici -https://www.mql5.com/ru/forum/222333. Le script ci-dessous vous permet de constater vous-même la différence. Mettez-le sur les deux plateformes et comparez.
J'ai mesuré la vitesse de 30 000 cellules de tableaux d'int et de string sur MT4 et MT5 (ms) :
Comme vous pouvez le constater, mon algorithme est plus lent pour deux raisons :