Hatalar, hatalar, sorular - sayfa 2426

 
Alexandr Gavrilin :

Metaeditörün en son sürümlerinde double type ile neler oluyor? MT4 ve MT5'te -0.01 yerine ne bir tür saçmalık yazıyor. Bu sayılar nereden geldi, daha önce değişkenler benim için sıfırlandı.

Belleğin değiştirilmesi gerekiyor. Ve eski sürümlerde tamamen aynıydı.

 

derleyici aynı durumlarda farklı davranır.

Kod tabanından 2 dosya indirildi: https://www.mql5.com/en/code/15440

görünüşe göre iTime()'dan önce yapıldı. Biri derler, ikincisi yemin eder:

İşlevler aynıdır:

zorluklar da

Küfür etmesinin nedeni açık, anlaşılır ve otomatik düzeltme ile kolayca düzeltiliyor, ancak benzer durumlarda farklı davranışlar endişe verici.

not:

derlenmiş gösterge düzgün çalışıyor.

Volume Profile + Range v6.0
Volume Profile + Range v6.0
  • www.mql5.com
Volume Profile + Range v6.0 (former TPO). Distribution of deals by price levels at a given time interval. Displayed as a histogram. The width of the histogram at the level means the number of transactions carried out on it. If a broker provides data on a real volume, the indicator is able to display distribution on it as well. VP: display...
 
Alexey Viktorov :

Belleğin değiştirilmesi gerekiyor. Ve eski sürümlerde tamamen aynıydı.

Başka hangi hafıza? Peki ya hafıza?

 

Aşağıdaki kodu çalıştırın:

 Temp.ask= 0 ; Temp.bid= 0 ; Temp.time= 0 ;
 Print ( "Старт Ask=" ,Temp.ask, " Bid=" ,Temp.bid, " Time=" ,Temp.time);
 Print("Ответ SymbolInfoTick=", SymbolInfoTick("",Temp) );
 Print ( "Ask=" ,Temp.ask, " Bid=" ,Temp.bid, " Time=" ,Temp.time);

Ve garip bir sonuç aldım:

Старт Ask= 0.0 Bid= 0.0 Time= 1970.01 . 01 00 : 00 : 00
Ответ SymbolInfoTick = true
Ask= 69.75 Bid= 69.33 Time= 2019.04 . 08 21 : 21 : 12

Diğer bir deyişle, ilk parametresi "" değerine eşit olan SymbolInfoTick, nedense grafik sembolündeki son onay işaretini döndürür, false ve sıfır işareti değil. Belgelerdeki tanıma bakılırsa, öyle olmamalıdır.

 bool    SymbolInfoTick ( 
   string     symbol,     // символ 
   MqlTick &  tick         // ссылка на структуру 
   );
 
Igor Zakharov :

mülkiyet katı?

 
Alexandr Gavrilin :

Metaeditörün en son sürümlerinde double type ile neler oluyor? MT4'te ve MT5'te -0.01 yerine ne bir tür saçmalık yazıyor. Bu sayılar nereden geldi, daha önce değişkenler benim için sıfırlandı.

Burada 2007'de başlayan yapıda

Her zaman 0.01'di, ama şimdi ne olduğu belli değil:


 
Andrei Trukhanovich :

mülkiyet katı?

ikisi de aynı:

Sembolü kontrol etmedim (yukarıda belirttiğim gibi - kod benim değil), ancak ilk bakışta% 95 aynılar. Ve fark, hatanın çıktığı yerlerde değil. Ancak, bir nedenden dolayı biri derler, diğeri derler. Zaten kendim için düzelttim, ancak geliştiricilere gariplik hakkında bilgi veriyorum.

 

Bu hata, son MT5 yapılarında ortaya çıkmış gibi görünüyor.

CryptEncode() ve CryptDecode() işlevlerinde hata. CRYPT_AES256 dönüştürme yöntemiyle ilgili sorun

Bu komut dosyasıyla en son (2009) derlemede hatayı yeniden oluşturabilirsiniz:

 //+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
{
   string Txt = "The quick brown fox jumps over the lazy dog. A0 A1 A2 A3 A4 A5 A6 A7 A8 A9" ; 

//---Key
   uchar Key[ 32 ];
   ArrayInitialize (Key, 3 );

//---encode
   uchar SourceArr[], EncodedArr[];
   
   StringToCharArray (Txt, SourceArr); 
   
   int EncodeRes = CryptEncode ( CRYPT_AES256 , SourceArr, Key, EncodedArr);
   
//---decode
   uchar DecodedArr[];
   
   int DecodeRes = CryptDecode ( CRYPT_AES256 , EncodedArr, Key, DecodedArr);
   
   string DecodedTxt = CharArrayToString (DecodedArr);

//---res
   Print ( "Txt: " ,Txt);
   Print ( "EncodeRes: " ,EncodeRes);
   
   Print ( "DecodedTxt: " ,DecodedTxt);
   Print ( "DecodeRes: " ,DecodeRes);
   
//---
   return ;
}
 
Marat Sultanov :

Bu hata, son MT5 sürümlerinde ortaya çıkmış gibi görünüyor.

CryptEncode() ve CryptDecode() işlevlerinde hata. CRYPT_AES256 dönüştürme yöntemiyle ilgili sorun

Bu komut dosyasıyla en son (2009) derlemede hatayı yeniden oluşturabilirsiniz:

Düzeltme, büyük olasılıkla yalnızca yeni bir yapıya güncellenirken görünecektir.
 
Vitaly Muzichenko :

Burada 2007'de başlayan yapıda

Her zaman 0.01'di, ama şimdi ne olduğu belli değil:


Çıkış kodunu göster
Neden: