Leinwand ist cool! - Seite 62

 
Nikolai Semko:

So etwas wie das hier?



Nikolai, wird der Beispielcode verfügbar sein? :)

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

Nikolai, wird der Beispielcode verfügbar sein? :)

Der Code ist noch unbearbeitet. Ich habe es vor anderthalb Jahren für ein Experiment gemacht, wie es aussehen könnte.
Wenn ich es richtig implementiert habe, werde ich diese Funktion zu iCanvas hinzufügen, falls ich bis dahin noch im Forum bin. Ich habe im Moment keine Zeit dafür.

Sie können versuchen, es selbst umzusetzen.
Als Hilfestellung hier ein paar Funktionen aus meiner Implementierung, die für das Zeichnen des Farbauswahlfensters zuständig sind:

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);
  }
 

Ich habe das Gefühl, dass die einzigen, die noch im Forum sind, Jammerlappen und Nerds sind. Und wo sind diejenigen, die bereit waren, mql auszunutzen...?

Nikolay ist gut! Er demonstriert sehr schön die Möglichkeiten von mql. Ich würde einen Branchentitel hinzufügen - Canvas ist einfach!

Und in der Tat :) Nikolay, haben Sie versucht, ByteToHex() durch eingebettete StringFormat("%.2X",R) Funktion ersetzen?


p.s. Die Sprache und die Ausführungsumgebung haben ihre Perfektion erreicht, und manchmal möchte ich sagen: - Stopp! :)

Документация по 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, haben Sie versucht, ByteToHex() durch die integrierte Funktion StringFormat("%.2X",R) zu ersetzen?


Oh, danke, Juri. Das habe ich nicht gewusst. Erfand ein Fahrrad wie immer )).

 
Nikolai Semko:

Der Code ist noch unbearbeitet. Ich habe es vor anderthalb Jahren für ein Experiment gemacht, wie es aussehen könnte.
Wenn es richtig implementiert ist, werde ich diese Funktion zu iCanvas hinzufügen, falls ich bis dahin noch im Forum bin. Ich habe im Moment keine Zeit dafür.

Sie können versuchen, es selbst umzusetzen.
Als Hilfestellung hier ein paar Funktionen aus meiner Implementierung, die für das Zeichnen des Farbauswahlfensters zuständig sind:

Ich danke Ihnen! Ich versuche gerade, sie zu implementieren.

 
TheXpert:
Wie kommt es, dass es unter den Moderatoren einer Ressource, die nach einer Programmiersprache benannt ist, keine professionellen Programmierer gibt?

Hoppla

Ich programmiere seit 25 Jahren ohne Unterbrechung in C++.

MQL II - von Anfang bis Ende

MQL4 - bis zum Build 600 - von Anfang bis Ende

MQL5 - von Anfang an

Ich bekomme Geld für meine Programmierung in C++, so dass ich als professioneller Programmierer gelten kann.

 
Slava:
Sie sind ein Mitarbeiter von metaquotes und haben wenig oder gar keinen Anteil an der Moderation des Forums. Und ehrlich gesagt, dachte ich, Sie hätten ein Admin-Namensschild.
 
TheXpert:
Sie sind ein Mitarbeiter von metaquotes und moderieren das Forum praktisch nicht. Und ehrlich gesagt, dachte ich, Sie hätten ein Admin-Namensschild.

Stellen Sie sich vor, Sie haben ein Programm geschrieben

Wer kann Fragen besser beantworten als Sie?

 

3D Bewegtes Mittelmaß
Ich werde den Code morgen in den QB einspeisen.


 
Nikolai Semko:

3D Moving Avarage
Ich werde den Code morgen in den QB einfügen.

Wunderschön !!!

Nikolai, bitte werfen Sie das Code-Listing der Regenbogen-Farbpalettenbildung hier ein

Wenn sie in Form einer Funktion vorliegt, ist sie noch praktischer
Grund der Beschwerde: