La tela è forte! - pagina 62

 
Nikolai Semko:

Qualcosa del genere?



Nikolai, il codice di esempio sarà disponibile? :)

 
Алексей Барбашин:

Nikolai, il codice di esempio sarà disponibile? :)

Il codice è ancora grezzo. L'ho fatto un anno e mezzo fa per un esperimento, come potrebbe essere.
Quando lo implementerò correttamente, allora aggiungerò questa funzione a iCanvas, se sarò ancora sul forum per allora. Non ho tempo per farlo adesso.

Puoi provare ad implementarlo da solo.
Per aiutare, ecco un paio di funzioni della mia implementazione, che sono responsabili del disegno della finestra di selezione dei colori:

void    iCanvas::DrawSetColor(int X,int Y,uint curColor=0xFFFFFFFF)
  {
   if(!SetClr) return;
   uchar R=GETRGBR(curColor);
   uchar G=GETRGBG(curColor);
   uchar B=GETRGBB(curColor);
   FillRectangle(X-3,Y-3,X+330,Y+273,ColorToARGB(0xFFC0C0C0));
   FontSet("Century Gothic",20);
   TextOut(X+23,Y-4,"R "+string(R)+"(#"+ByteToHex(R)+")",0xFF000000);
   TextOut(X+135,Y-4,"G "+string(G)+"(#"+ByteToHex(G)+")",0xFF000000);
   TextOut(X+251,Y-4,"B "+string(B)+"(#"+ByteToHex(B)+")",0xFF000000);
   FillCircle(X+10,Y+6,6,ARGB(255,255,255-R,255-R));
   FillCircle(X+122,Y+6,6,ARGB(255,255-G,255,255-G));
   FillCircle(X+238,Y+6,6,ARGB(255,255-B,255-B,255));
   for(int x=0; x<256; x++)
      for(int y=0; y<256; y++)
        {
         PixelSet(x+X,y+Y+15,ARGB(255,R,x,y));
        }
   uchar rq=(R>127)?0:255;
   Rectangle(G+X-4,B+Y+11,G+X+4,B+Y+19,ARGB(255,0,0,0));
   Rectangle(G+X-3,B+Y+12,G+X+3,B+Y+18,ARGB(255,255,255,255));
   Rectangle(G+X-5,B+Y+10,G+X+5,B+Y+20,ARGB(255,255,255,255));
   for(int y=0; y<256; y++)
     {
      for(int x=0; x<16; x++)
        {
         PixelSet(x+X+263,y+Y+15,ARGB(255,y,x*16,0));
         PixelSet(x+X+263+16,y+Y+15,ARGB(255,y,255,x*16));
         PixelSet(x+X+263+32,y+Y+15,ARGB(255,y,255-x*16,255));
         PixelSet(x+X+263+48,y+Y+15,ARGB(255,y,0,255-x*16));
        }
     }
   Rectangle(X+260,Y+R+12,X+263+67,Y+R+18,0xFFFFFFFF);
   Rectangle(X+261,Y+R+13,X+263+66,Y+R+17,0xFFFFFFFF);
   Update();
  }
string ByteToHex(int n)
  {
   string s="",c;
   if(n==0) return "00";
   int N=n;
   while(n!=0)
     {
      if(n%16<10)
         c=CharToString(uchar(n%16+48));
      else
         c=CharToString(uchar(n%16+55));
      s = c + s;
      n = n / 16;
     }
   if(N<16) s="0"+s;
   return(s);
  }
 

Sembra che le uniche persone rimaste sul forum siano i piagnoni e i nerd. E dove sono quelli che erano pronti per gli exploit di mql...?

Nikolay è bravo! Dimostra piacevolmente le capacità di mql. Aggiungerei un titolo di ramo - Canvas è facile!

E infatti :) Nikolay, hai provato a sostituire ByteToHex() con la funzione incorporata StringFormat("%.2X",R)?


p.s. Il linguaggio e l'ambiente di esecuzione hanno raggiunto la loro perfezione, e a volte vorrei dire: - Stop! :)

Документация по MQL5: Преобразование данных / StringFormat
Документация по MQL5: Преобразование данных / StringFormat
  • www.mql5.com
"SYMBOL_SWAP_MODE_INTEREST_CURRENT (в годовых процентах от цены инструмента на момент расчета свопа)" "SYMBOL_SWAP_MODE_REOPEN_CURRENT (переоткрытием позиции по цене закрытия +/- указанное количество пунктов)" "SYMBOL_SWAP_MODE_REOPEN_BID (переоткрытием позиции по текущей цене Bid +/- указанное количество пунктов)"
 
Yury Kulikov:

Nikolai, hai provato a sostituire ByteToHex() con la funzione integrata StringFormat("%.2X",R)?


Oh, grazie, Yuri. Non lo sapevo. Inventa una bicicletta come sempre )).

 
Nikolai Semko:

Il codice è ancora grezzo. L'ho fatto un anno e mezzo fa per un esperimento, come potrebbe essere.
Quando sarà implementato correttamente, allora aggiungerò questa funzione a iCanvas, se sarò ancora sul forum per allora. Non ho tempo per farlo adesso.

Puoi provare ad implementarlo da solo.
Per aiutare, ecco un paio di funzioni della mia implementazione, che sono responsabili del disegno della finestra di selezione dei colori:

Grazie! Sto cercando di implementarlo in questo momento.

 
TheXpert:
Ditemi come mai non ci sono programmatori professionisti tra i moderatori di una risorsa che porta il nome di un linguaggio di programmazione?

Ops

Ho programmato in C++ per 25 anni senza una pausa.

MQL II - dall'inizio alla fine

MQL4 - fino a costruire 600 - dall'inizio alla fine

MQL5 - dall'inizio

Vengo pagato per la mia programmazione in C++, quindi posso essere considerato un programmatore professionista.

 
Slava:
sei un membro dello staff di metaquotes e hai poco o nessun coinvolgimento nella moderazione del forum. E onestamente, pensavo che tu avessi una targhetta da amministratore.
 
TheXpert:
sei un membro dello staff di metaquotes e praticamente non stai moderando il forum. E onestamente, pensavo che tu avessi una targhetta da amministratore.

Immaginate di aver scritto un programma

Chi meglio di te può rispondere alle domande

 

3D Moving Avarage
Domani butterò il codice nel QB


 
Nikolai Semko:

3D Moving Avarage
Domani butterò il codice nel QB

Bellissimo!!!

Nikolai, per favore butta qui l'elenco del codice della formazione della tavolozza dei colori dell'arcobaleno

Se è sotto forma di funzione, sarà ancora più pratico