La funzione di scomporre il colore in sfumature. - pagina 6

 

Torniamo a parlare dell'algoritmo di decomposizione del colore. Mi scuso per l'off-topic.

Se qualcuno ha domande su come e dove applicare l'algoritmo, può trovare spiegazioni nelle pagine precedenti.

 
Vladislav Andruschenko:

Posso inserire i miei "10 kopeks" sulla GUI e tutto il resto che viene discusso qui.

Tutti hanno un sogno, un hobby, una passione.

C'è chi va a pesca, chi ama la fotografia, chi viaggia, chi modella aerei....


E così è qui:

Gli sviluppatori di MetaTrader hanno fatto un buon passo avanti nella divulgazione di MQL5!

Tutti i post sulla mancanza di schemi o strutture sono necessari per chi lo usa.


La stessa creazione di librerie GUI, per esempio di Anatoly, è il suo hobby. L'ha fatto e l'ha mostrato a tutti.

Ho guardato e mi sono chiesto... e all'inizio di ciò che ha iniziato a "fare" con la sua libreria - ho avuto piani per "fare una GUI" per molto tempo , Ma mi sono tirato indietro.

E poi non ho "raggiunto" qualcuno che l'ha fatto molto duramente.

Ha fatto questa libreria e sono sicuro che molte persone la usano.

Per lui era un hobby, una cosa preferita da fare. Era impegnato solo in questo progetto (probabilmente) e non ne poteva più. E ora non ne può più.


Anche Peter ha il suo hobby. Peter crea la propria GUI.

E ognuno insisterà sul proprio.

Alcuni ne hanno bisogno, altri no.


Perché provare qualcosa? Cambiare idea? Cerca di essere "utile"? Diventare loro, non cercare di farlo.


Alcune persone hanno bisogno dell'interfaccia grafica negli EA, altre no.

Qualcuno disegna giochi in MQL, e qualcuno non ha bisogno di parametri in un EA.

Ognuno è così diverso che non ha senso persuadere qualcuno di qualcosa.

Lascia che ognuno abbia il proprio punto di vista e si faccia gli affari suoi. Allora non ci saranno conflitti.


Tutti abbiamo iniziato da qualche parte. Tutti abbiamo imparato qualcosa l'uno dall'altro. Perché prima erano tutti più amichevoli?

Vladislav. Sono guidato dal desiderio di capire la mia differenza con le persone. Perché io e loro abbiamo opinioni così diverse. Questo è tutto.

Alcuni lo percepiscono come pubblicità del loro prodotto, altri come una fissazione, altri ancora come un'idea fissa e così via.

Ma in realtà - discuto e dimostro, perché voglio capire gli altri e me stesso.

 
Реter Konow:

Vladislav. Sono spinto dal desiderio di capire la mia differenza con le persone. Perché io e loro abbiamo opinioni così diverse. Questo è tutto.

Alcuni lo vedono come una pubblicità per il loro prodotto, altri lo vedono come una fissazione, altri ancora come un'idea di correzione e così via.

Ma in realtà - discuto e litigo perché voglio capire gli altri e me stesso.

Vi assicuro che c'è: OOP e programmazione procedurale.

Ovunque ci sia bisogno di OOP - si usa OOP.

Dove c'è bisogno di OOP, si usa un tipo di programmazione semplice, la programmazione procedurale.

Ci sono tante persone quante sono le opinioni.

Se vai in un'azienda IT e gli dici che programmi in PP, ti manderanno via.

Qui si fa quello che si vuole fare.


Non appena inizierete a scrivere tutorial sulla vostra GUI, costruirete il "vostro" esercito di fan. Ci sarà anche un esercito di troll, ma anche questo è un must :-)

Lasciate che discutano tra di loro su cosa sia meglio. GUI su OOP o GUI su PP.


Fidati di me.

Fate quello che vi piace e ci sarà chi lo userà.
Non discutere, non entrare in conflitto. Molti sforzi vengono sprecati per questo, è meglio incanalare tutta la tua forza nel tuo progetto!

 
Vladislav Andruschenko:

Vi assicuro che c'è: OOP e programmazione procedurale.

Dove c'è bisogno di OOP, si usa OOP.

Dove c'è bisogno di OOP, si usa un tipo di programmazione semplice, la programmazione procedurale.

Ci sono tante persone quante sono le opinioni.

Se vai in un'azienda IT e gli dici che programmi in PP, ti manderanno via.

Qui si fa quello che si vuole fare.


Non appena inizierete a scrivere tutorial sulla vostra GUI, costruirete il "vostro" esercito di fan. Ci sarà anche un esercito di troll, ma anche questo è un must :-)

Lasciate che discutano tra di loro su cosa sia meglio. GUI su OOP o GUI su PP.


Fidatevi di me su questo.

Fate quello che vi piace e ci sarà chi lo userà.
Non discutere, non entrare in conflitto. Si spende molta energia per questo, è meglio incanalarla tutta nel tuo progetto!

Ok. Sono d'accordo con te.

E cosa pensa del mio algoritmo?

Quanto è conveniente e utile secondo voi?

 
Реter Konow:

Bene. Sono d'accordo con te.

Cosa ne pensate del mio algoritmo?

Quanto è conveniente e utile secondo voi?


Io, come sostenitore del "facile e semplice", preferisco la tua versione.

Ma io, come molti altri, aderisco all'idea che la OOP è obbligatoria.

A causa del mio lavoro specifico, so che "cliente", per esempio, ha bisogno di un codice chiaro, anche con i nomi russi delle variabili. I clienti russi in generale ne vanno matti.

E poiché "ordinano" un programma significa che non capiscono niente e hanno bisogno di un codice più leggero. Con i nomi delle variabili russe.......


Ma ho capito molto tempo fa che la programmazione personalizzata ti trascina verso il basso! Non c'è sviluppo personale. Ora è più interessante fare i propri progetti senza mostrare il codice. Dove si può già usare OOP.

E in generale l'utente ha bisogno di un semplice costruttore, dove ci sono elementi e possono essere gestiti direttamente sulla grafica.


Di nuovo. Ogni soluzione ha il suo esercito di fan.

Fai solo quello che ti piace...


Questo è tutto per esperienza, quindi non pretendo di essere corretto, quello che ho detto....

Ho letto tutti i thread nella discussione generale, (tutto perché sono troppo pigro per navigare sotto quella sezione :-) ) e sono stupito.

A volte vorrei inserire "i miei 12 centesimi", ma dimostrare qualcosa a qualcuno toglie energia.

Dallo stesso filone - la discussione su "cosa serve nel mercato" - ognuno ha bisogno di qualcosa di diverso.

Qualcuno ha bisogno di un automatico completo con un parametro RISK, e qualcuno ha bisogno di 100500 parametri!

È meglio avere un progetto e svilupparlo fino all'esaurimento, e solo allora procedere al prossimo.

Poi, cambiando il nome del programma e l'immagine dal tester, si moltiplicano centinaia e migliaia di progetti di cui nessuno ha bisogno....


IMHO

Rispetto a tutti!!!

 

Grazie per il vostro feedback. Sono contento che ti sia piaciuto. Sarei felice se poteste usare questo algoritmo nei vostri sviluppi.

Sono andato un po' fuori tema qui. È colpa mia. Era l'algoritmo di cui parlavamo. Il resto degli argomenti può essere ignorato.
 
Vladislav Andruschenko:


Io, come sostenitore del "facile e semplice", preferisco la tua versione.

Ma io, come molti altri, resto dell'idea che la OOP è obbligatoria.

A causa del mio lavoro, so che "cliente", per esempio, ha bisogno di un codice chiaro, anche con i nomi russi delle variabili. I clienti russi in generale ne vanno matti.

E poiché "ordinano" un programma significa che non capiscono niente e hanno bisogno di un codice più leggero. Con i nomi variabili russi.......

...

Nella mia pratica, nessuno si è mai bloccato, tranne 3 persone su questo forum.

Io, per esempio, vomito da tale codice, lo leggo non più di 3 righe, e lo cancello.

 
Vitaly Muzichenko:

Nel mio studio, nessuno è mai stato trascinato via, tranne 3 persone su questo forum.

Io, per esempio, mi stufo di tale codice, non leggo più di 3 righe e lo cancello.

Lei, in quanto anglofilo, si senta libero di ignorare la mia decisione. Ci sono poche parole inglesi.

A proposito, visto che sei così bravo con il codice inglese, per favore aiutami ad analizzare il codice suggerito da 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);
     }
  }

Onestamente, non capisco come funziona. Ha molte sillabe inglesi corte. Proprio quello che ti piace.

 
Vitaly Muzichenko:

Nel mio studio, nessuno è mai stato trascinato, tranne 3 persone su questo forum.

Io, per esempio, mi stufo di tale codice, non leggo più di 3 righe, e poi lo cancello.

Sono completamente d'accordo con te.

Le variabili devono essere in una lingua internazionale.


Ma io sto parlando di "clienti".

Ho incontrato alcuni che volevano che le variabili fossero in russo.

Come posso discutere con questo? Il cliente "ha bisogno".

Ecco perché ho rinunciato agli ordini un anno fa, per non dover dimostrare nulla.


Per esempio, se fai un ordine con nomi inglesi, nessuno ti dice niente.

E tu prova a creare delle variabili in russo - gli piacerebbe molto. E si trascinerà via perché non conosce l'inglese.

 
Реter Konow:

Lei, in quanto anglofilo, si senta libero di ignorare la mia decisione. Ci sono poche parole inglesi.

A proposito, visto che sei così bravo con il codice inglese, per favore aiutami con il codice suggerito da Nikolay Semko:

Onestamente, non capisco come funziona. Ha molte sillabe inglesi corte. Proprio quello che ti piace.


Beh, i nomi in inglese non sono inventati per niente.

Posso darvi un altro esempio in cui i nomi russi uccideranno il vostro codice:

Si passa il codice a un cliente che non ha il cirillico. Questo è tutto. .... tutto andato..... :-)


Un altro punto.

Per esempio il traduttore di GOOGLE ha come lingua madre l'inglese. Se scrivi il titolo in inglese, potranno tradurlo con il traduttore.

Altrimenti ci saranno problemi.

Beh, è solo un modo di dire per il futuro.


Per i russi, la lingua è il russo.

Per il resto di noi, l'inglese è più familiare.

Lo spagnolo è anche la lingua più popolare.