Hatalar, hatalar, sorular - sayfa 2552

 

Merhaba!

Bugün MT5, 2124'e ve MT4'ü 1198'e güncellendi.

Fare tekerleği ile yukarı ve aşağı kaydırma, her iki düzenleyicide de çalışmayı durdurdu. Diğer programlarda her şey yolunda gidiyor. Lütfen tekerlek kimin için çalışıp çalışmadığını yazınız?

 
Alexey Volchanskiy :

Merhaba!

Bugün MT5, 2124'e ve MT4'ü 1198'e güncellendi.

Fare tekerleği ile yukarı ve aşağı kaydırma, her iki düzenleyicide de çalışmayı durdurdu. Diğer programlarda her şey yolunda gidiyor. Lütfen tekerlek kimin için çalışıp çalışmadığını yazınız?

Çalışırlar. Her iki editörde de her iki tekerlek.

 
MT5'te - çalışır
 
Andy :
MT5'te - çalışır

Tamam, ikinize de teşekkürler. Bu benim 10 güncellemem, bu yüzden yine MS, MTX ile anlaşamıyor.

 
merhaba. fxssi'den gösterge olmayın. Kiminle iletişime geçebileceğinizi söyleyin (geliştiriciler)?
Dosyalar:
expert.jpg  625 kb
 
A123272 :
merhaba. göstergeler kapalı olmayın. Kiminle iletişime geçebileceğinizi söyleyin (geliştiriciler)?
Kime başvuracağı mantıklı.
 
A123272 :
merhaba. fxssi'den gösterge olmayın. Kiminle iletişime geçebileceğinizi söyleyin (geliştiriciler)?

Altta istisnalarınız var ve program kesintiye uğradı. Daha önce çalıştılar mı?

 
A123272 :
merhaba. fxssi'den gösterge olmayın. Kiminle iletişime geçebileceğinizi söyleyin (geliştiriciler)?

göstergelerimi koy. dll olmadan düşmezler.

 

Merhaba!

LineThick tuvalinde çizim ile ilgili sorun, boyutu 3 piksel ve üzeri olarak ayarlarken 3 tarafta bir anahat görünüyor

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

Merhaba!

LineThick tuvalinde çizim ile ilgili sorun, boyutu 3 piksel ve üzeri olarak ayarlarken 3 tarafta bir anahat görünüyor

Aslında, CCanvas çok kabadır. Özellikle kenar yumuşatma ile ilgili olarak çok fazla söve var. Algoritmalar sadece gözlerinizi oyuyor.
CCanvas işlevindeki varsayılan PixelTransform'u şununla değiştirin:

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

ve bu sorun ortadan kalkacak, ancak yumuşatma algoritmalarının kendisi sorunu çözmeyecektir.


Peki, bu doğru yumuşatma mı?
Ve işte doğru bir kenar yumuşatma örneği (doğru kenar yumuşatma ile üst satır, kenar yumuşatma ile standart LineThick satırının altında, neredeyse kenar yumuşatma olarak adlandırılamaz)


Neden: