Hatalar, hatalar, sorular - sayfa 2742

 
fxsaber :
Her zaman bir MQL programından bir dosyaya (RAM sürücüsü) bir şey eklenmesi gerekiyorsa ve diğerlerinden (ve başka bir Terminalden) tüm bu eklenen verilerin ondan okunması gerekiyorsa, hangi bayraklar ve tuzaklar olabilir?

veri güvenliği sağlanmalı ama bence en az 2 sorun var:

- eşzamanlı erişim ile garantili bir senkronizasyon yoktur, yani. zaten okunan verileri yeniden okuyabilir ve aynı zamanda yeni verilerin yazılmasını önleyebilirsiniz - çarpışmalar

- böyle bir durumu tespit etmenin ve kontrol etmenin hiçbir yolu yoktur

her zamanki gibi çözümler - semaforlar veya kendi kayıt yöneticinizi yazın

Not: Yerleşik SQLite'ı belleğe yerleştirmek mümkün görünüyor, en azından orada veritabanının durumunu kontrol edebilirsiniz.

 
Alexey Kozitsyn :

İlk beşte, göstergeler benzer şekilde çalışır, ancak donma olmadan her şey yolunda.

Hayır, ilk beş gösterge araç akışındadır.

 
MT5 hatası (build 2340) işaretçi nesnesinden varsayılan operatöre= erişim yok.

 class A{
public :
   char data;
   
   // uncomment to fix the bug
   //void operator=(A &a){this.data = a.data;}
};


// bypassing the bug
template < typename P1, typename P2>
void unref_assignment_operator(P1* &p1, P2* &p2){
   struct Functor{
       static void call(P1 &p1, P2 &p2){
         p1 = p2;
      }
   };
   Functor::call(p1, p2);
}

   
void OnStart (){      
   A a1;
   A a2;
   
   a2.data = 0x1 ;
   a1 = a2;
   printf ( "%d" , (a1.data));               // Ok, 0x1
   
   
   A* a_ptr_1 = &a1;
   A* a_ptr_2 = &a2;
   
   a2.data = 0x2 ;
   a1. operator =(a2);                       // 'operator=' - undeclared identifier 
   printf ( "%d" , (a1.data));               
   
   
   a2.data = 0x3 ;
   unref_assignment_operator(a_ptr_1, a_ptr_2); 
   printf ( "%d" , (a1.data));               // Ok, 0x3
}
 

Statik bir yapı işlevinde hata ayıklamaya çalışırken lütfen MT terminali çökmesini düzeltin .
Yukarıdaki örnekte bile "
p1 = p2; " satırında bir kesme noktası yakalamak terminalin çökmesine neden olacaktır.

 
Andrey Khatimlianskii :

Hayır, ilk beş gösterge araç akışındadır.

Üzgünüm, kandırıldım. Bunun tam olarak dörtlüdeki davranış olduğunu düşündüm (yani, beşlide olduğu gibi - enstrüman akışında).

Ve MT4 göstergeleri için genel arayüz akışı hakkında nerede yazıyor?

Katma:

gösterge

Tüm göstergeler, terminalin grafik arayüzü iş parçacığının kaynaklarını paylaşır

Bir göstergedeki sonsuz döngü, terminalin çalışmasını durduracaktır


İpucu için teşekkürler, buldum.

O zaman hata ayıklayıcı başlangıçta düşünülmemiş, MT4'te ortaya çıkıyor. Göstergeler için onu aramak bile yasak olurdu.

 

Hatayı tam olarak nereye bildireceğimi bilmiyorum.. Burada bildirmeye çalışacağım.. MT5'teki sorunun özü: "+" veya "-" düğmeleriyle grafik ölçeklemeyi kullanırken, grafik yapar normal konumuna dönmeyin (ekranın sağ kenarından girintili). Her zaman manuel olarak sıfırlamanız gerekir.

MT4'te - böyle bir sorun yok.. Birkaç broker ile kontrol ettim..

&quot;+&quot; düğmesine tıkladıktan sonra


Çok uygunsuz... Tamir edebilir miyim?

 
Alexey Kozitsyn :

O zaman hata ayıklayıcı başlangıçta düşünülmemiş, MT4'te ortaya çıkıyor. Göstergeler için onu aramak bile yasak olurdu.

Ve ilk etapta orada değildi. Bu düşünülmedi.

 
Roman Agafonkin :

Hatayı tam olarak nereye bildireceğimi bilmiyorum.. Burada bildirmeye çalışacağım.. MT5'teki sorunun özü: "+" veya "-" düğmeleriyle grafik ölçeklemeyi kullanırken, grafik yapar normal konumuna dönmeyin (ekranın sağ kenarından girintili). Her zaman manuel olarak sıfırlamanız gerekir.

MT4'te - böyle bir sorun yok.. Birkaç broker ile kontrol ettim..


Çok uygunsuz... Tamir edebilir miyim?

Ölçeklemeyi kullanırken, bir sonraki gelen onay işaretinde dolgu normale döner.

 
SEM :

Ölçeklemeyi kullanırken, bir sonraki gelen onay işaretinde dolgu normale döner.

İşin aslı geri dönmüyor .. mt4'te - her şey yolunda ... mt5'te - ne yazık ki, buggy ..
Tamam bir video çekip bu konuya ekleyeceğim.

Neden: