Hatalar, hatalar, sorular - sayfa 1623

 
Dmitri Custurov :
Çözüm sağladığınız için çok teşekkür ederim. Her şey çalışıyor.
İyi. Bu yüzden kütüphaneyi ve bir kullanım örneğini CodeBase'e yerleştiriyorum.
 
-Aleks- :
Tüm dizi dosyasını belleğe okumak ve daha sonra onunla çalışmak çok daha hızlıdır - hızlanma çok daha hızlı olacaktır.
Dosyanın optimize edicide on binlerce kez açılması, okunması, kapatılması gerekeceğini düşünmüyorum.
 
Aliaksandr Yemialyanau :

Dizili bir dosya bir danışmana nasıl bağlanır?

İlk olarak, komut dosyası diziyi yazar:

Danışmana şu dosyayı ekliyorum:

Derlerken, hatalar:

'?????????????????????????t????…' - tanımlayıcı çok uzun mas.dat 1 1

' ' - bilinmeyen sembol mas.dat 1 3015

Peki dizi dosyası nedir? Hangi formda? Bu hatalara bakılırsa, bu sadece bir bayt akışı, değil mi?
 

Statik değişkenlerle ciddi hatalar. Bu kodu göz önünde bulundurun:

 class A  { public :
             int m;
            A() { Alert ( "A" );  m= 1 ; }
         };

class B  { public :
            B() { Alert ( "B" );   static A a;   Alert ( "a.m==" ,a.m);   Alert ( "&a==" ,&a);}
         };
B b;

void OnStart ()
{
};

Yürütüldüğünde, aşağıdaki uyarı sırasını alırız:

B
am==0
&a==0
A

Onlar. statik bir değişken, erişildiği zaman henüz başlatılmamış. İşaretçi bile boş. Tipi üzerinden atladı ve güvenle ilerledi.

Böyle bir karmaşa olmamalı. Ya değişkeni başlatır ve devam ederiz ya da derlemeyi bir hata ile iptal ederiz.

Burada, elbette, başlatılmalıdır. Ancak, karşılıklı referans veren sınıflardan bir özyinelemenin oluştuğu durumlarda, derleme durdurulmalıdır.

 
Aliaksandr Yemialyanau :

Dizili bir dosya bir danışmana nasıl bağlanır?

İlk olarak, komut dosyası diziyi yazar:

Danışmana şu dosyayı ekliyorum:

Derlerken, hatalar:

'?????????????????????????t????…' - tanımlayıcı çok uzun mas.dat 1 1

' ' - bilinmeyen sembol mas.dat 1 3015

Komut dosyanız, verilerinizin baytlarını içeren bir dizi uchar türü içeren mas.mqh dosyasını oluşturmalıdır. Örneğin dosyanın boyutu üç bayt ise mas.mqh dosyasının içeriği aşağıdaki gibi olmalıdır:

 uchar mass[ 3 ] = { 25 , 127 , 89 };

Oluşturulan kütle dizisi, programınızda kullanmanız gereken şeydir.

 
Aliaksandr Yemialyanau :
Optimize edicide dosyanın on binlerce kez açılması-okunması-kapatılması gerekeceğini düşünmüyorum.
Oh, yani bir diziyle derlemek mi istiyorsun?
 
Bir dosyayı diskten on binlerce kez okumak zorunda kalmanız pek olası değildir. Disk önbelleği bunun için var. Tabii ki, bu özel durumda kullanılıp kullanılmadığını bilmiyorum, ancak koltuk değneklerini icat etmeden önce kontrol etmeniz, ölçüm yapmanız gerekir.
 
MT5'te tek bir çalışmayı durdurursam, yalnızca denge değişikliği grafiği görünür. Ancak işlemler ve siparişler mevcut değildir.
Olası frenleme ekstraları nedeniyle Görselleştirme modunun kullanılması her zaman uygun değildir. MQLInfoInteger(MQL_VISUAL_MODE) ile hesaplamalar.
MT4'te olduğu gibi, geriye dönük test sırasında (görselleştirme olmadan) tüm bilgilerin kullanılabilirliğini eklemek mümkün müdür?
 
Geçmiş verilerde hata ayıklama modunda , MQLInfoInteger(MQL_VISUAL_MODE) her zaman true değerini döndürür.
 
fxsaber :
Geçmiş verilerde hata ayıklama modunda , MQLInfoInteger(MQL_VISUAL_MODE) her zaman true değerini döndürür.
Ne iade edilmelidir?