Erros, bugs, perguntas - página 2552

 

Olá!

Hoje actualizou o MT5 para 2124 e o MT4 para 1198.

Em ambos os editores, a rolagem para cima e para baixo com a roda do rato deixou de funcionar. Em outros programas está a funcionar bem. Por favor, informe quem tem a roda de rolagem a funcionar ou não?

 
Alexey Volchanskiy:

Olá!

Hoje actualizou o MT5 para 2124 e o MT4 para 1198.

Em ambos os editores, a rolagem para cima e para baixo com a roda do rato deixou de funcionar. Em outros programas está a funcionar bem. Por favor, informe quem tem a roda de rolagem a funcionar ou não?

A trabalhar. Ambas as rodas em ambos os editores.

 
Em MT5 - funciona
 
Andy:
Em MT5 funciona.

Estou a ver, obrigado a ambos. Sou eu que tenho as 10 actualizações, por isso, mais uma vez, a EM não se dá bem com o MTx.

 
Olá. Os indicadores fxssi não estão a funcionar. pode dizer-me quem contactar (desenvolvedores)?
Arquivos anexados:
expert.jpg  625 kb
 
A123272:
Olá. os indicadores não estão a aparecer. pode dizer-me quem devo contactar (desenvolvedores)?
Parece lógico quem contactar.
 
A123272:
Olá. os indicadores da fxssi não estão a funcionar. pode dizer-me quem devo contactar (desenvolvedores)?

Existem excepções no fundo e o programa é interrompido. Já funcionava antes?

 
A123272:
Olá. Os indicadores fxssi não estão a funcionar. pode dizer-me quem contactar (desenvolvedores)?

Colocar os meus indicadores. são livres de dll e não caem.

 

Olá!

Problema com o desenho LineThick kanvas, quando o tamanho é definido para 3 pixels ou mais, aparece um contorno em 3 lados

#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:

Olá!

O problema de renderização em LineThick kanvas, definindo o tamanho a partir de 3 pixels, aparece um esboço em 3 lados

Na verdade, o CCanvas é muito cru. Existem aí muitos insectos, especialmente no que diz respeito ao anti-aliasing. Os algoritmos estão simplesmente fora de moda.
Substituir a função regular da PixelTransform no CCanvas por:

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

e este problema desaparecerá, mas os próprios algoritmos de alisamento não irão resolvê-lo.


Será este o anti-aliasing correcto?
E aqui está um exemplo de antialiasing adequado (linha superior com antialiasing adequado, linha inferior éLineThick com antialiasing, que dificilmente pode ser chamado de antialiasing)


Razão: