Fehler, Irrtümer, Fragen - Seite 2552

 

Hallo!

Heute aktualisiert MT5 auf 2124 und MT4 auf 1198.

In beiden Editoren funktioniert das Hoch- und Runterscrollen mit dem Mausrad nicht mehr. In anderen Programmen funktioniert es einwandfrei. Bitte teilen Sie uns mit, bei wem das Scrollrad funktioniert oder nicht?

 
Alexey Volchanskiy:

Hallo!

Heute aktualisiert MT5 auf 2124 und MT4 auf 1198.

In beiden Editoren funktioniert das Hoch- und Runterscrollen mit dem Mausrad nicht mehr. In anderen Programmen funktioniert es einwandfrei. Bitte teilen Sie uns mit, bei wem das Scrollrad funktioniert oder nicht?

Arbeiten. Beide Räder in beiden Editoren.

 
In MT5 - es funktioniert
 
Andy:
Im MT5 funktioniert es.

Ich verstehe, ich danke Ihnen beiden. Ich bin derjenige mit dem 10-Update, also kommt MS wieder nicht mit MTx zurecht.

 
Hallo. Die fxssi-Indikatoren funktionieren nicht. Können Sie mir sagen, an wen ich mich wenden kann (Entwickler)?
Dateien:
expert.jpg  625 kb
 
A123272:
Können Sie mir sagen, an wen ich mich wenden kann (Entwickler)?
Es erscheint logisch, an wen man sich wenden muss.
 
A123272:
Hallo. Die Indikatoren von fxssi funktionieren nicht. Können Sie mir sagen, an wen ich mich wenden kann (Entwickler)?

Sie haben unten Ausnahmen und das Programm wird unterbrochen. Hat es vorher funktioniert?

 
A123272:
Hallo. Die fxssi-Indikatoren funktionieren nicht. Können Sie mir sagen, an wen ich mich wenden kann (Entwickler)?

Setzen Sie meine Blinker auf. Sie sind dll-frei und fallen nicht herunter.

 

Hallo!

Problem mit LineThick-Kanvas-Zeichnung, wenn die Größe auf 3 Pixel oder mehr eingestellt ist, erscheint ein Umriss auf 3 Seiten

#include <Canvas\Canvas.mqh>
CCanvas can;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   can.CreateBitmapLabel(0,0,"Canvas",0,0,(int)ChartGetInteger(0,CHART_WIDTH_IN_PIXELS),(int)ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS),COLOR_FORMAT_ARGB_NORMALIZE);
   can.Erase();
   can.FillRectangle (500, 100, 1000, 150, ColorToARGB(clrDarkGray,50));
   can.FillRectangle (600, 30, 650, 500, ColorToARGB(clrDarkGray,50));
   can.LineThickVertical(500,50,300,ColorToARGB(clrDarkGray,50),6,1,LINE_END_ROUND);
   can.LineThickVertical(530,50,300,ColorToARGB(clrDarkGray,50),6,1,LINE_END_ROUND);
   can.LineThickVertical(560,50,300,ColorToARGB(clrDarkGray,50),6,1,LINE_END_ROUND);
   can.LineThickHorizontal(0,1000,150,ColorToARGB(clrDarkGray,50),6,1,LINE_END_ROUND);
   can.LineThickHorizontal(0,1000,170,ColorToARGB(clrDarkGray,50),6,1,LINE_END_ROUND);
   can.LineThickHorizontal(0,1000,190,ColorToARGB(clrDarkGray,50),6,1,LINE_END_ROUND);
   can.LineThick(0,100,1000,410,ColorToARGB(clrDarkGray),5,1,LINE_END_ROUND);
   can.Update();
   DebugBreak();
  }


 
Rafil Nurmukhametov:

Hallo!

Das Problem mit dem Rendering in LineThick kanvas, die Einstellung der Größe von 3 Pixel und oben, ein Umriss erscheint auf 3 Seiten

CCanvas ist in der Tat sehr roh. Es gibt eine Menge Bugs, vor allem beim Anti-Aliasing. Die Algorithmen sind einfach aus dem Ruder gelaufen.
Ersetzen Sie die reguläre Funktion PixelTransform in CCanvas durch:

void CCanvas::PixelTransform (const int x,const int y,const uint clr,const double alpha)
  {
   union argb { uint clr; uchar c[4]; };
   int addr=y*m_width+x;
   uint clrback=m_pixels[addr];
   if(clrback==0)
     {
      m_pixels[addr]=TRGB(uchar(alpha*255.0+0.49999),clr&0x00FFFFFF);
      return;
     }
   if(alpha<1.0/510)
      return;
   if(alpha>(1-1.0/510))
      m_pixels[addr]=clr|0xFF000000;
   argb C,Bg;

   C.clr=clr;
   C.c[3]=uchar(alpha*255.0+0.49999);

   Bg.clr=clrback;
   double alphab=Bg.c[3]/255.0;

   C.c[2]=uchar(Bg.c[2]+alpha*(C.c[2]-Bg.c[2]));
   C.c[1]=uchar(Bg.c[1]+alpha*(C.c[1]-Bg.c[1]));
   C.c[0]=uchar(Bg.c[0]+alpha*(C.c[0]-Bg.c[0]));

   C.c[3]=uchar((alphab+alpha-alphab*alpha)*255+0.49999);
   m_pixels[addr]=C.clr;
  }

und dieses Problem wird verschwinden, aber die Glättungsalgorithmen selbst werden es nicht beheben.


Ist dies das richtige Anti-Aliasing?
Und hier ist ein Beispiel für richtiges Antialiasing (obere Zeile mit richtigem Antialiasing, untere Zeile istLineThick mit Antialiasing, das man kaum als Antialiasing bezeichnen kann)