Fonction de décomposition de la couleur en nuances. - page 6

 

Revenons à l'algorithme de décomposition des couleurs. Je m'excuse pour le hors-sujet.

Si quelqu'un a des questions sur comment et où appliquer l'algorithme, il peut trouver des explications sur les pages précédentes.

 
Vladislav Andruschenko:

Je me permets d'ajouter mes "10 kopeks" concernant l'interface graphique et tout ce qui est discuté ici.

Tout le monde a un rêve, un hobby, une passion.

Certains vont à la pêche, d'autres aiment la photographie, d'autres aiment voyager, d'autres encore aiment modéliser des avions.....


Et c'est le cas ici :

Les développeurs de MetaTrader ont fait un bon pas dans la popularisation de MQL5!

Tous les messages concernant le manque de modèles ou de structures sont nécessaires pour ceux qui l'utilisent.


La création de bibliothèques d'interface graphique, par exemple par Anatoly, est son hobby. Il l'a fait et l'a montré à tout le monde.

J'ai regardé et je me suis demandé... et au début de ce qu'il a commencé à "faire" avec sa bibliothèque - j'ai eu le projet de "faire une interface graphique" depuis longtemps , Mais je me suis dégonflé.

Et puis je n'ai pas "rattrapé" quelqu'un qui l'a fait très fort.

Il a créé cette bibliothèque et je suis sûr que beaucoup de gens l'utilisent.

Pour lui, c'était un hobby, une activité favorite. Il n'était engagé que dans ce projet (probablement) et en avait assez. Et il en a marre maintenant.


Peter a aussi son hobby. Peter crée sa propre interface graphique.

Et chacun insistera sur le sien.

Certains en ont besoin, d'autres non.


Pourquoi prouver quoi que ce soit ? Vous avez changé d'avis ? Vous essayez d'être "utile" ? DEVENEZ-ILS, n'essayez pas de le faire.


Certaines personnes ont besoin d'une interface graphique dans les EA, d'autres non.

Quelqu'un dessine des jeux dans MQL, et quelqu'un n'a pas besoin de paramètres dans un EA.

Tout le monde est tellement différent qu'il est inutile de persuader qui que ce soit de quelque chose.

Que chacun ait son propre point de vue et s'occupe de ses affaires. Il n'y aura alors aucun conflit.


Nous avons tous commencé quelque part. Nous avons tous appris quelque chose les uns des autres. Pourquoi tout le monde était plus gentil avant ?

Vladislav. Je suis animé par le désir de comprendre ma différence avec les gens. Pourquoi moi et eux avons des points de vue si différents. C'est tout.

Certains y voient une publicité pour leur produit, d'autres une fixation, d'autres encore une idée fixe, etc.

Mais en fait - j'argumente et je prouve, parce que je veux comprendre les autres et moi-même.

 
Реter Konow:

Vladislav. Je suis animé par le désir de comprendre ma différence avec les gens. Pourquoi moi et eux avons des points de vue si différents. C'est tout.

Certains y voient une publicité pour leur produit, d'autres une fixation, d'autres encore une idée fixe, etc.

Mais en fait - j'argumente et je discute parce que je veux comprendre les autres et moi-même.

Je vous assure qu'il y a : la POO et la programmation procédurale.

Partout où la POO est nécessaire - la POO est utilisée.

Lorsque la POO est nécessaire, un type de programmation simple - la programmation procédurale - est utilisé.

Il y a autant de personnes que d'opinions.

Si vous allez dans une entreprise informatique et que vous leur dites que vous programmez en PP, ils vous enverront ailleurs.

Ici, tu fais ce que tu veux.


Dès que vous commencerez à écrire des tutoriels sur votre interface graphique, vous construirez "votre" armée de fans. Il y aura aussi une armée de trolls, mais ça aussi c'est indispensable :-)

Laissez-les débattre entre eux de ce qui est le mieux. GUI sur OOP ou GUI sur PP.


Fais-moi confiance.

Faites ce que vous voulez et il y aura ceux qui l'utiliseront.
Ne vous disputez pas, n'entrez pas en conflit. Beaucoup d'efforts sont gaspillés pour cela, il vaut mieux canaliser toute votre énergie dans votre projet !

 
Vladislav Andruschenko:

Je vous assure qu'il y a : la POO et la programmation procédurale.

Là où la POO est nécessaire, la POO est utilisée.

Lorsque la POO est nécessaire, un type de programmation simple - la programmation procédurale - est utilisé.

Il y a autant de personnes que d'opinions.

Si vous allez dans une entreprise informatique et que vous leur dites que vous programmez en PP, ils vous enverront ailleurs.

Ici, vous faites ce que vous voulez.


Dès que vous commencerez à écrire des tutoriels sur votre interface graphique, vous construirez "votre" armée de fans. Il y aura aussi une armée de trolls, mais ça aussi c'est indispensable :-)

Laissez-les débattre entre eux de ce qui est le mieux. GUI sur OOP ou GUI sur PP.


Fais-moi confiance sur ce point.

Faites ce que vous voulez et il y aura ceux qui l'utiliseront.
Ne vous disputez pas, n'entrez pas en conflit. Beaucoup d'énergie est dépensée à ce sujet, il est préférable de la canaliser entièrement dans votre projet !

Ok. Je suis d'accord avec vous.

Et que pensez-vous de mon algorithme ?

Dans quelle mesure est-il pratique et utile selon vous ?

 
Реter Konow:

Bien. Je suis d'accord avec vous.

Que pensez-vous de mon algorithme ?

Dans quelle mesure est-il pratique et utile selon vous ?


En tant que partisan du "facile et simple", je préfère votre version.

Mais j'adhère, comme beaucoup d'autres, à l'idée que la POO est obligatoire.

Grâce à mon travail, je sais que "client", par exemple, a besoin d'un code clair, même avec des noms de variables en russe. Les clients russes en général en sont fous.

Et comme ils "commandent" un programme, cela signifie qu'ils ne comprennent rien et qu'ils ont besoin d'un code plus léger. Avec des noms de variables russes.......


Mais j'ai compris depuis longtemps que la programmation personnalisée vous tire vers le bas ! Il n'y a pas d'auto-développement. Il est maintenant plus intéressant de faire ses propres projets sans montrer le code. Où vous pouvez déjà utiliser la POO.

Et en général l'utilisateur a besoin d'un constructeur simple, où il y a des éléments et ils peuvent être gérés directement sur les graphiques.


Encore une fois. Chaque solution a sa propre armée de fans.

Faites ce que vous voulez...


tout ceci est tiré de mon expérience, je ne prétends pas être correct, mais ce que j'ai dit....

J'ai lu tous les fils de discussion générale (parce que je suis trop paresseux pour naviguer sous cette section :-) ) et je suis stupéfait.

Parfois, j'ai envie d'insérer "mes 12 cents", mais prouver quelque chose à quelqu'un me prive d'énergie.

Dans la même veine - la discussion sur "ce dont vous avez besoin sur le marché" - chacun a des besoins différents.

Quelqu'un a besoin d'un automatique complet avec un paramètre RISK, et quelqu'un a besoin de 100500 paramètres !

Il est préférable d'avoir un projet et de le développer jusqu'à épuisement, et seulement ensuite de passer au suivant.

Ensuite, en changeant le nom du programme et l'image du testeur, on multiplie des centaines et des milliers de projets dont personne n'a besoin.....


IMHO

Respect à tous ! !!

 

Merci pour vos commentaires. Content que ça vous ait plu. Je serais heureux si vous pouviez utiliser cet algorithme dans vos développements.

Je me suis un peu éloigné du sujet ici. C'est ma faute. C'était l'algorithme dont nous parlions. Le reste des sujets peut être ignoré.
 
Vladislav Andruschenko:


En tant que partisan du "facile et simple", je préfère votre version.

Mais je m'en tiens, comme beaucoup d'autres, à l'idée que la POO est obligatoire.

En raison de mon travail, je sais que "client", par exemple, a besoin d'un code clair, même avec des noms de variables en russe. Les clients russes en général en sont fous.

Et comme ils "commandent" un programme, cela signifie qu'ils ne comprennent rien et qu'ils ont besoin d'un code plus léger. Avec des noms de variables russes.......

...

Dans ma pratique, personne n'a jamais été bloqué, à l'exception de 3 personnes sur ce forum.

Moi, par exemple, je vomis un tel code, je ne le lis pas plus de 3 lignes, et je le supprime.

 
Vitaly Muzichenko:

Dans ma pratique, personne n'a jamais été traîné, à l'exception de 3 personnes sur ce forum.

Moi, par exemple, j'en ai marre de ce genre de code, je ne lis pas plus de 3 lignes et je le supprime.

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é pour le code anglais, aidez-moi à analyser le code proposé par Nikolay Semko :

#include <Canvas\iCanvas.mqh> //https://www.mql5.com/ru/code/22164

union rgb {uint clr; uchar c[4];};

void OnStart()
  {
   rgb c,cc;
   double d=5;
   while(!IsStopped())
     {
      c.c[2]=uchar(127.5*(1+sin(d*1.2))+0.4999); c.c[1]=uchar(127.5*(1+sin(d*1.9))+0.4999); c.c[0]=uchar(127.5*(1+sin(d*2.8))+0.4999);  // генерируем новый цвет
      cc.clr=c.clr;
      double k0,k1,k2;
      if(c.c[2]>=c.c[1] && c.c[2]>=c.c[0]) {k2=1; if(c.c[2]==0) {k1=1; k0=1;} else {k1=(double)c.c[1]/c.c[2]; k0=(double)c.c[0]/c.c[2];}}// если Red - максимальный цвет
      else if(c.c[1]>=c.c[2] && c.c[1]>=c.c[0]) {k1=1; k2=(double)c.c[2]/c.c[1]; k0=(double)c.c[0]/c.c[1];} // если Green - максимальный цвет
      else {k0=1; k2=(double)c.c[2]/c.c[0]; k1=(double)c.c[1]/c.c[0];} // если Blue - максимальный цвет
      for(int y=0; y<W.Height; y++)
        {
         double k=255.0*(double)y/(W.Height-1);
         c.c[2]=uchar(k2*k+0.4999);
         c.c[1]=uchar(k1*k+0.4999);
         c.c[0]=uchar(k0*k+0.4999);
         Canvas.LineHorizontal(0,W.Width-1,y,ColorToARGB(c.clr,240));
        }
      Canvas.FillRectangle(W.Width/2-80,W.Height/2-50,W.Width/2+80,W.Height/2+50,ColorToARGB(cc.clr,240));
      Canvas.CurentFont("Tahoma",20,22,ColorToARGB(~cc.clr)); // 20 -  размер шрифта, 22 - межстрочный интервал
      Canvas.TextPosition(W.Width/2-70,W.Height/2-40);
      Canvas.Comm("Текущий цвет:");
      Canvas.Comm("R = "+string(cc.c[2]));
      Canvas.Comm("G = "+string(cc.c[1]));
      Canvas.Comm("B = "+string(cc.c[0]));
      ChartChanged(); // на всякий случай контролируем изменение размеров окна, т.к. это скрипт (в индикаторах и экспертах это происходит автоматически)
      Canvas.Update();
      d+=0.01;
      Sleep(30);
     }
  }

Honnêtement, je ne comprends pas comment ça marche. Il a beaucoup de syllabes anglaises courtes. Juste ce que vous aimez.

 
Vitaly Muzichenko:

Dans ma pratique, personne n'a jamais été traîné, à l'exception de 3 personnes sur ce forum.

Moi, par exemple, j'en ai marre de ce genre de code, je ne lis pas plus de 3 lignes, puis je le supprime.

Je suis tout à fait d'accord avec vous.

Les variables doivent être dans une langue internationale.


Mais je parle de "clients".

J'en ai rencontré qui voulaient que les variables soient en russe.

Comment puis-je discuter de ça ? Le client a des "besoins".

C'est pourquoi j'ai abandonné les commandes il y a un an, pour ne pas avoir à prouver quoi que ce soit.


Par exemple, vous passez une commande avec des noms anglais, personne ne vous dit rien.

Et vous essayez de créer des variables en russe - il adorerait ça. Et il va se traîner parce qu'il ne connaît pas l'anglais.

 
Реter Konow:

Vous, en tant qu'anglophone, vous êtes libre d'ignorer ma décision. Il y a peu de mots anglais.

A propos, puisque vous êtes si doué avec le code anglais, veuillez m'aider avec le code suggéré par Nikolay Semko :

Honnêtement, je ne comprends pas comment ça marche. Il a beaucoup de syllabes anglaises courtes. Juste ce que vous aimez.


Eh bien, les noms en anglais ne sont pas inventés pour rien.

Je peux vous donner un autre exemple où les noms russes tuent votre code :

Vous donnez votre code à un client qui n'a pas le cyrillique. C'est tout. .... tout est parti..... :-)


Encore un point.

Par exemple, le traducteur de GOOGLE a pour langue maternelle l'anglais. Si vous écrivez le titre en anglais, ils pourront le traduire avec le traducteur.

Sinon, il y aura des problèmes.

C'est juste pour le futur.


Pour les Russes, la langue est le russe.

Pour le reste d'entre nous, l'anglais est plus familier.

L'espagnol est également la langue la plus populaire.

Raison: