Hatalar, hatalar, sorular - sayfa 2266

 
fxsaber :
Yani "kareler" sorunu çözüldü mü?

Tabii ki, ölçeklenemeyen bir tuval kullanırsanız, bunlar basitçe mevcut değildir.

KB'de, varsayılan olarak bildirildiğinde tam ekran bir tuval oluşturan ve ardından pencere yeniden boyutlandırılırsa otomatik olarak değiştiren CCanvas sınıfını devralan basit bir iCanvas sınıfı yayınlamak istiyorum.

Pekala, tuval figürlerini xy koordinatlarına göre değil, fiyata, çubuk numarasına veya zamana göre oluşturma şeklinde farklı güzellikler var. Onlar. X( datatime T), X(çift çubuk), Y(çift fiyat) fonksiyonları eklenecektir.
Böylece tuval birçokları için çok stresli görünmüyor.

 
Nikolai Semko :

Tabii ki, ölçeklenemeyen bir tuval kullanırsanız, bunlar basitçe mevcut değildir.

Her zaman bir tuvalim vardı ve kırmızı kare hala kayıptı. Nedenlerini anlamak için uzun süre uğraştım ama üstesinden gelemedim.

 
fxsaber :

Her zaman bir tuvalim vardı ve kırmızı kare hala kayıptı. Nedenlerini anlamak için uzun süre uğraştım ama üstesinden gelemedim.

Tuvalin boyutunu değiştirme gerçeğine sahipse, yani. yeniden açma veya Yeniden Boyutlandırma işlevi, bu kırmızı karelerin olmaması için tüm pencere için bir tuval kullanmanız gerekir.

 #include <Canvas\Canvas2.mqh>

int OnStart ( void )
  {
     int Width=( int ) ChartGetInteger ( 0 , CHART_WIDTH_IN_PIXELS );
     int Height=( int ) ChartGetInteger ( 0 , CHART_HEIGHT_IN_PIXELS );
    CCanvas canvas;
     if (!canvas.CreateBitmapLabel( "SampleCanvas" , 0 , 0 ,Width,Height, COLOR_FORMAT_ARGB_NORMALIZE )) Print ( "Error creating canvas: " , GetLastError ());
  ....
  }

Ve Sil işlevinin çok hızlı olduğunu unutmayın - FullHD ekranı tamamlamak ~ 0,5 milisaniye sürer

ve Güncelleme, tam bir FullHD ekran için ~ 5-7 milisaniye daha yavaştır.
Evet - bu seçenek daha pahalı çünkü. 500x200'lük bir tuvali güncellemek ~ 0,5 milisaniye sürecektir.

Bu nedenle, uygunluk da dikkate alınmalıdır.

Şahsen, şimdi neredeyse her zaman tüm pencere için tuval kullanıyorum, çünkü Güncelleme = ~ 5 milisaniye ile saniyede 200 kare rezervim olduğunu hatırlıyorum.

 

Bir sonraki yapı için bunu bir şekilde düzeltmek mümkün mü?

Başka bir hesaba geçtiğimde, özel sembol tablosu çubuklarını kaybediyor - "Güncelleme bekleniyor". Barlar talep etmiyor. Aynı zamanda, tikler sorun değil.

Terminali yeniden başlattıktan sonra elbette tablodaki çubuklar mevcuttur.

Başka bir hesaba geçtikten sonra, özel sembollerin çubuklarının yeniden yüklenmeden kullanılabilir kalmasını istiyorum.

 
Bir "sentetik enstrüman" oluşturursanız ve bilgisayar çökerse, sentetik enstrüman kaydedilmez. Bir önemsememek, ama uygunsuz. Lütfen düzelt.
 
Geriye dönük testin, test aralığının sondan bir önceki (ve sanıldığı gibi sonuncusu değil) işaretinde sona erdiği ortaya çıktı.
 

Yürütme sırasında hata:

 #define MACRO( int ) int
void f( uint ) { Print ( 1 ); }
void f(   int ) { Print ( 2 ); }
void OnStart ()
{
        MACRO( uint ) x = 0;
        f( x );
}

Sonuç: 2 Beklenen: 1

 

En son MT5 yapısının numarasını herhangi bir zamanda bilmek muhtemelen psikolojik bir sapmadır.

Güncel döviz kurlarını bilmiyorum ama her zaman numarasını biliyorum. Bana bugün sor, bir ay önce, bir yıl önce...

 
Derleme sırasında hata:
 class A {
template < typename T>
        A * StringFormat ( string , T ) { return & this ; }
        A *f() { return StringFormat ( "" , 1 ); } //Error: 'StringFormat' - object pointer expected
};
 
Özel sembollerin onay geçmişi , Test Cihazını üzerlerinde kullandıktan sonra bu şekilde kaybolur. Düzeltirdim.