Hatalar, hatalar, sorular - sayfa 427

 
uncleVic :

EMPTY_VALUE alır çünkü dosya açık değilse iade ediyoruz. 0.0 almak daha uygunsa, 0.0 döndürün.

Ama bir şeyin iade edilmesi gerekiyor. Açılmamış bir dosyayı okumak iyi değildir.

Açılış hatası ile ilgili. Şu şekilde yazın:

Test cihazının bir ekran görüntüsü verilir. Terminalde de durum aynı mı?


Evet, terminalde aynı şey, ancak hata şu:

20 mb dosya, yaklaşık 2,5 milyon değer

testin en başında 20 kez açarken mümkün oldu

istenen değerleri alın, ardından hata sürekli 5004 - dosyayı açamadı,

2mb ile denedim yaklaşık 400 bin değer. - açılır, ancak daha büyük olmak istemez, verilere baktı

görev yöneticisi, 2,5 GB RAM yeterlidir. (bir 500 mb daha ücretsiz!)

 

Daha önce 20 mb'lık bir dosya açmadıysam bilgisayarımda CODE POLTERGEIST başladı.

sonra teknolojide. Şu anda 38 mb'lik bir dosyanın açılmasıyla test yapılıyor. 5.5 milyon değerden (2005 verileri),

ancak 2001'den beri - yaklaşık 10 milyon. değer ve boyutu 65 mb'nin altında. açmak istemiyor. Bu ilginç - ama neden belli değil?

Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
Файловые операции / FileOpen - Документация по MQL5
 
Renat :
Ne yazık ki, belirtilen kartla hiçbir şey yardımcı olmaz. Bu bir dizüstü bilgisayarsa, durum umutsuzdur. Aksi takdirde, 1000-1500 ruble için tüm performans sorunlarını ortadan kaldıracak oldukça güçlü bir ekran kartı satın alabilirsiniz.


Diyelim ki mt4\mt5 DirectX aracılığıyla 2D hızlandırma çalışıyor ya da nasıl...?


Yukarıdaki parametrelerden hangileri vektör grafiklerini hızlandırmak için önemlidir .. veya tümü ?

Başka bir sorum var... işlemcide yerleşik HD2000 sürücüleri resmi olarak Windows Server 2008 r2 SP1 64bit'i desteklemiyor, -

ama sadece manzara ve 7ka 64 bit ....


bu eksik uyumluluk bir şekilde etkileyebilir ... ?

( Odun yükselse de, HD oyunlarda bile çalışırlar lanse edilir... )


2. Windows Server 2008 r2 SP1 64bit sisteminde 2D video donanım uyumluluğuna sahip MT4\MT5 platformları ne olacak?


Hangi üreticiyi seçmek daha iyidir ... radyonlar ... nVidia ?


mt4 \ mt5 için adaptörlerin hız ve uyumluluğu için herhangi bir test yapıldı ...?


teşekkür etmek.

 
Im_hungry :

Evet, terminalde aynı şey, ancak hata şu:

20 mb dosya, yaklaşık 2,5 milyon değer

testin en başında 20 kez açarken mümkün oldu

istenen değerleri alın, ardından hata sürekli 5004 - dosyayı açamadı,

2mb ile denedim yaklaşık 400 bin değer. - açılır, ancak daha büyük olmak istemez, verilere baktı

görev yöneticisi, 2,5 GB RAM yeterlidir. (bir 500 mb daha ücretsiz!)

Pek okumadım ama vurgulanan metin gözüme çarptı... Dosyayı kapatıyor musunuz?

Genel olarak, tanımlayıcısını doğru kullanıyor musunuz?

 
AlexSTAL :

Pek okumadım ama vurgulanan metin gözüme çarptı... Dosyayı kapatıyor musunuz?

Genel olarak, tanımlayıcısını doğru kullanıyor musunuz?

Mantık (verilen kodlara bakılırsa) neredeyse doğrudur. Bunun dışında, tutamacı kontrol ettikten sonra, kontrolün sonuçlarına bakılmaksızın okur ve yazar (ve ardından dosyayı da kapatır).

Bence buradaki sorun başka bir şey:

1. Gösterge her tikte bir dosya açar, veri yazar, dosyayı kapatır.

2. Uzman Danışman (sanırım her tikte de) dosyayı açar, verileri okur, dosyayı kapatır.

Çünkü bu, farklı akışlarda olur, dosya boyutu ne kadar büyük olursa, Uzman Danışmanın gösterge tarafından açılırken dosyayla "karşılaşması" o kadar olasıdır. Dan beri FILE_SHARE_READ açık bayrağı kullanılmaz, sonuçları takip eder.

Bana göre sorunun çözümü şu şekilde olabilir:

1. OnInit'te FILE_SHARE_READ bayrağıyla bir dosya (hem göstergede hem de Uzman Danışmanda) açın.

2. Kayıttan sonra göstergedeki FileFlush(handle) öğesini çağırın .

3. Dosyayı OnDeinit'te kapatın.

Bunun gibi bir şey.


Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5
 
tester_el_pro :


Diyelim ki mt4\mt5 DirectX aracılığıyla 2D hızlandırma çalışıyor ya da nasıl...?


Terminal, 2B hızlandırıcıya ihtiyaç duyan normal Windows GDI'yi kullanır.

Bir kart seçerken, en düşük fiyat seviyesinde bile herhangi bir harici 3D alın - bu yeterli olacaktır.
Ve video kartının yeteneklerinin temel noktalarını karşılaştırmak zorunda değilsiniz.

 
uncleVic :

Mantık (verilen kodlara bakılırsa) neredeyse doğrudur. Bunun dışında, tutamacı kontrol ettikten sonra, kontrolün sonuçlarına bakılmaksızın okur ve yazar (ve ardından dosyayı da kapatır).

Bana göre sorunun çözümü şu şekilde olabilir:

1. OnInit'te FILE_SHARE_READ bayrağıyla bir dosya (hem göstergede hem de Uzman Danışmanda) açın.

2. Kayıttan sonra göstergedeki FileFlush(handle) öğesini çağırın .

3. Dosyayı OnDeinit'te kapatın.

Bunun gibi bir şey.


Bu konuda gerçek zamanlı kullanırken gelecek için teşekkürler

bir danışmandan ve hindiden bir dosya ile çalışmak - tavsiyenizi kullanacağım.

 
AlexSTAL :

Pek okumadım ama vurgulanan metin gözüme çarptı... Dosyayı kapatıyor musunuz?

Genel olarak, tanımlayıcısını doğru kullanıyor musunuz?

evet, tabii ki - dosya görüyor ama 5004 açma hatası nedeniyle okumak istemiyor
 
uncleVic :

Mantık (verilen kodlara bakılırsa) neredeyse doğrudur. Bunun dışında, tutamacı kontrol ettikten sonra, kontrolün sonuçlarına bakılmaksızın okur ve yazar (ve ardından dosyayı da kapatır).

Bence buradaki sorun başka bir şey:

1. Gösterge her tikte bir dosya açar, veri yazar, dosyayı kapatır.

2. Uzman Danışman (sanırım her tikte de) dosyayı açar, verileri okur, dosyayı kapatır.

Çünkü bu, farklı akışlarda olur, dosya boyutu ne kadar büyük olursa, Uzman Danışmanın gösterge tarafından açılırken dosyayla "karşılaşması" o kadar olasıdır. Dan beri FILE_SHARE_READ açık bayrağı kullanılmaz, sonuçları takip eder.

Bana göre sorunun çözümü şu şekilde olabilir:

1. OnInit'te FILE_SHARE_READ bayrağıyla bir dosya (hem göstergede hem de Uzman Danışmanda) açın.

2. Kayıttan sonra göstergedeki FileFlush(handle) öğesini çağırın .

3. Dosyayı OnDeinit'te kapatın.

Bunun gibi bir şey.



Kavga, türkiye'nin çalışmalarını farklı bir şekilde belirtmedi,

1. Terminalde test etmeden önce hindi çalıştırıyorum

2. Her bara barın saatini ve barın saatini kaydeder. değer korelasyonlar

3. Dosyayı, C:\Program Files\MetaTrader 5\tester\Agent-127.0.0.1-3000\MQL5\Files olması gereken test cihazının klasörüne aktarıyorum.

4. Açma çubukları üzerinde çalışan bir danışman başlatıyorum - ve 2005'ten beri - kaydedilen tüm veriler

okur (38 mb.) ama 2002'den beri - okumuyor (67 mb.)

 

Aynı türkiyede aynı şeyi yazmaya çalıştım ama mt4

bin dosyasını MT5 test cihazı klasörüne aktardı - dosyalardan hiçbiri

açılmıyor - hata 5004, mt 5'te hala en azından bir şey açılıyor.


MT 4'te göstergede veri kaydını (tüm veriler doğru bir şekilde kaydedilir) aşağıdaki gibi uyguladım:

      Corr = GetCorrelation();
      Pos = iBarShift( Symbol (), Period (), Times[CurrPos]);
      Buffer[Pos] = NormalizeDouble (Corr, 3 );
//------
       datetime bar2 = iTime(Symbol1, 0 , Pos);
       Print ( "Buffer[Pos]..." ,Buffer[Pos], "...bar2..." ,bar2);
      handle= FileOpen ( "kor.bin" , FILE_BIN | FILE_READ | FILE_WRITE , ";" );
      if (handle< 1 ) Print ( "can't open file error-" , GetLastError ());
      if (handle>= 1 )
       {
        FileSeek (handle, 0 , SEEK_END );
        FileWriteDouble (handle,bar2,DOUBLE_VALUE); 
        FileSeek (handle, 0 , SEEK_END );
        FileWriteDouble (handle,Buffer[Pos],DOUBLE_VALUE); 
        FileClose (handle);
       }
//------
      CurrPos++;

Ve danışmandaki MT5'teki okuma aynı kaldı:

 double proverka()
{
 if ( FileIsExist ( "kor.bin" , 0 )== true ) Print ( "ФАЙЛ ОБНАРУЖЕН = ..." );
 handle= FileOpen ( "kor.bin" , FILE_BIN | FILE_READ );
 if (handle < 0 ) Print ( "-----Неоткрывается :- Почему? Потому что произошла ошибка " , GetLastError ());
 ulong file= FileSize (handle);
 ulong N = 0.0 ;
 double kor = 0.0 ;
 datetime bar[ 1 ];
 CopyTime (Symbol_1, NULL , 0 , 1 ,bar);
 ulong New = ( ulong ) bar[ 0 ];
 while (N < file)
  {
   kor= FileReadDouble (handle); 
   N = FileTell (handle);
   //Print("1...kor=",kor,"N=",N,"file=",file,"New=",New);
   if (kor == New) 
    {
     double ss = FileReadDouble (handle);
     FileClose (handle);
     Print ( "2...ss=" ,ss);
     return (ss);
     break ;
    }
   if (New < kor)
    {
     Print ( "New=" ,New, "kor=" ,kor);
     return ( 0.0 );
     break ;
    }
  } 
 Print ( "ВСЕЕЕЕЕЕ" ,kor);
 FileClose (handle);
 return (kor);
}
//=

Bir MT5 danışmanının MT4'te oluşturulmuş bir dosyayı açması mümkün müdür?

Neden: