Hatalar, hatalar, sorular - sayfa 2462

 
astronom55 :
Merhaba. MT5'in mobil versiyonu Alpari brokerine bağlanmıyor. Sorun ne? Bu ne zaman düzeltilecek?

burada .

 
Sergey Dzyublik :

Ve aynısı StringToShortArray içinde yazılmıştır:

Ancak bu, bir dizedeki NULL karakterleri yeterince işlemesini engellemez.

ShortArrayToString(array, start, count) düzgün çalışmıyor : terminal 0 herhangi bir 0 değil, yalnızca sondakidir. Bu durumda, son veya değil ArraySize( dizi ) temel alınarak belirlenebilir. En azından, sayı açıkça verilmişse, elde edilen dize en az min(count, ArraySize( array )) olmalıdır.

Ve StringToShortArray ( text, array, start, count ) düzgün çalışıyor: terminal 0, sonunda olandır. Ve son, StringLen( text ) temel alınarak belirlenir.

 
Artyom Trishkin :

burada .

  • Sorununuzu değerlendirmek için belirli bir materyal sağlamadınız. - Bu sorun tüm Android kullanıcılarını etkiliyor
  • Sorunuz o kadar geniş ki, açıklama yapmadan net bir şekilde cevap vermek imkansız - Anlamadığınızı sorun.
  • Sen sadece belgeleri okumayan tembel bir insansın. Sorunlarınızın çoğu, MQL dilinin temel kavramlarını bilmemekten kaynaklanıyor - bunun belgelerde olmadığını düşünüyorum.
  • Google'a erişiminiz yasaklandı veya aramayı nasıl kullanacağınızı bilmiyorsunuz - arama sonuç döndürmedi.

1


Bu, MT5'in mobil versiyonuyla ilgili incelemelerin yalnızca bir kısmı.

2

Burası Alpari forumu.

Ve bunun hakkında hiçbir şey bilmiyor musun?

Справочник MQL4
Справочник MQL4
  • docs.mql4.com
MetaQuotes Language 4 (MQL4) - встроенный язык программирования торговых стратегий, разработанный компанией MetaQuotes Software Corp. на основе своего многолетнего опыта в создании торгово-информационных платформ. Этот язык позволяет писать собственные программы-эксперты (Expert Advisors), автоматизирующие управление торговыми процессами и...
 

betiği çalıştırırken


 #include <Files\FileTxt.mqh>
void OnStart (){

  CFileTxt file;
   int handle = file.Open( "test.bat" , FILE_WRITE | FILE_ANSI | FILE_REWRITE ); //
   if ( handle == INVALID_HANDLE ){
     int error = GetLastError ();
     Print ( "Ошибка создания файла, код ошибки " ,  error );
     return ;
  }
}


hata





Nedeni ne olabilir?


dosya adını değiştirirseniz


 int handle = file.Open( "test" , FILE_WRITE | FILE_ANSI | FILE_REWRITE ); //

hata yok

 
Aleksey Sergan :

betiği çalıştırırken

hata

Nedeni ne olabilir?

dosya adını değiştirirseniz

hata yok

Sorun dosya adında.
"Yürütülebilir" dosyalarla (exe, msi, bat, ...) çalışmak yasaktır.

 
Sergey Dzyublik :

Sorun dosya adında.
"Yürütülebilir" dosyalar (exe, msi, bat, ...) oluşturmak yasaktır.

Evet kesinlikle. Yardımda bununla ilgili hiçbir şey bulamadım.

 

Belki bu önemli değildir, ancak derleme sırasında hata mesajında kesinlikle konuşulur.

void A::operator=(const A&) burada (okun olduğu yerde) gereksizdir (özellikle de varsayılan olarak oluşturulduğundan)

 
Günde 4. kez ME'nin (derleme 2037) %100 CPU donmasıyla ilgili bir sorunla karşılaşıyorum.

Başlangıçta %100 çekirdek yükü görünür, ancak ME iyi çalışır - MT'de kod hata ayıklamaya bile başlayabilirsiniz.
Ancak, kaynak koduyla başka bir sekmeye geçmeye çalışırsanız - ME tamamen donar (işlemi kapatmanız gerekir) ve yeni sekme penceresi açılmaz (yarı açık durumda asılı kalır).
Yeni bir sekmeye gitmez, sadece ME'yi kapatırsanız, süreç kapanmaz, ancak MT'nin bir alt süreci olur ve çekirdeği %100 yüklemeye devam eder.

Sorun birdenbire ortaya çıkıyor, tam kodu geliştirirken (küçük proje , toplamda 8 dosya <3K satır), ME code intellisense muhtemelen çöküyor.
 
Yaşasın, ME analiz cihazını çökerten kodu yakalamayı başardık.
ME başlangıçta çöküyor. İlk önce kodu başka bir düzenleyicide düzenlemeden ME başlatılamaz.

Gerekirse, kaynak kodu geliştiricilere 5-7 gün içinde sağlanacaktır.
Sorun şu satırda:
 if (
Görünüşe göre kapatılmamış parantezlerin sayısında bir sorun var.
 
Yine, proje kodunda bir saatlik hata araması , MT5'in (yapı 2049) "özelliklerini" ortaya çıkardı.

Terminalde, Expert Advisor'ın bazı günlükleri görüntülenemeyebilir, ancak kullanıcı bu konuda hiçbir şekilde bilgilendirilmez.
Bu günlükler günlük dosyasındadır - orada her şey yolundadır.

 #define PRINT(x) Print ( #x, ":" , string (x))

void OnStart (){  
   string test_name;
   string test_result;  
   
   test_name = "394_TEST_____" ;
   for ( int i = 0 ; i < 394 ; i++){
      PRINT(test_name + string (i+ 1 ));
   } 
   test_result = "RESULT_SUCCESS" ;
   PRINT(test_result);
   Sleep ( 5000 );
   
   
   test_name = "395_TEST_____" ;
   for ( int i = 0 ; i < 395 ; i++){
      PRINT(test_name + string (i+ 1 ));
   } 
   test_result = "RESULT_SUCCESS" ;
   PRINT(test_result);
   Sleep ( 5000 );

   
   test_name = "396_TEST_____" ;
   for ( int i = 0 ; i < 396 ; i++){
      PRINT(test_name + string (i+ 1 ));
   } 
   test_result = "RESULT_SUCCESS" ;
   PRINT(test_result);
   Sleep ( 5000 );
}

Bir mucize eseri, günlük kuyruğu 395 numaralı kaydı atar, bu numaradan önceki ve sonraki tüm kayıtlar MT günlüğünde görüntülenir.
Bu nedenle #395 testi her zaman başarısız olur.