Hatalar, hatalar, sorular - sayfa 454

 
Interesting :
Bana öyle geliyor ki dizinin her bir öğesini ayrı ayrı çevirmem gerekecek.

Yardım ederdim ve bağırmazdım. Açıklığa kavuşturmak için CharArrayToString işlevini CP_UTF16 ile çevirmeye çalıştım, ancak desteklenmiyor gibi görünüyor. Belki kod sayfasını değiştirebilirsin?

Geliştiricilere soru - yardım, standart sabitlerde olmayan sayfaların manuel olarak eklenebileceğini söylüyor. Hepsi destekleniyor mu, desteklenmiyor mu?

 
TheXpert :

Yardım ederdim ve bağırmazdım. Açıklığa kavuşturacağım, CP_UTF16'dan CharArrayToString işleviyle çevirmeyi denediniz mi? ama desteklenmiyor gibi. Belki kod sayfasını değiştirebilirsin?

Geliştiricilere soru - yardım, standart sabitlerde olmayan sayfaların manuel olarak eklenebileceğini söylüyor. Hepsi destekleniyor mu, desteklenmiyor mu?

soruyu anlamadım CP_UTF16 belgelerini doğru anlarsam, gerekli sayısal kodu belirtmeniz gerekir (hangisi olduğunu bulmak için kalır).

Kısacası, bu büyük olasılıkla geliştiriciler içindir.

 
Hâlâ cevap almak istediğim - https://www.mql5.com/ru/forum/1111/page455#comment_80246 - soruya ek olarak durumu belirteceğim. Çok para birimli bir hindi var, MetaQuotes ve Alpari demolarında test ediyorum. Alpari'de çalışıyor, MetaQuotes'ta genellikle farklı semboller için BarsCalculated'dan döndürülen hatalar alıyorum, özellikle hata 4806 veya sadece 0 hesaplanmış çubuk. Pliz, nerede daha ayrıntılı okuyabileceğinizi, 4806'nın sebeplerinin neler olabileceğini ve nasıl düzeltileceğini belirtin. Verileri senkronize etmek için metakota kodunu kullanıyorum - https://www.mql5.com/ru/docs/series/timeseries_access sayfasından CheckLoadHistory işlevi. BarsCalculated'dan gelen hatalar, bu işlev sıfıra kadar çalıştıktan sonra meydana gelir (yani, hesaplama verileri yerinde görünüyor). Hiç güvenilebilir mi yoksa başka bir şey gerekli mi? Her ihtimale karşı, türkiye'nin hesaplama için standart arabaları kullandığını ve BarsCalculated'ı arayarak kontrollerinin hazır olup olmadığını açıklığa kavuşturacağım.
 
marketeer :
Hâlâ cevap almak istediğim - https://www.mql5.com/ru/forum/1111/page455#comment_80246 - soruya ek olarak durumu belirteceğim. Çok para birimli bir hindi var, MetaQuotes ve Alpari demolarında test ediyorum. Alpari'de çalışıyor, MetaQuotes'ta genellikle farklı semboller için BarsCalculated'dan döndürülen hatalar alıyorum, özellikle hata 4806 veya sadece 0 hesaplanmış çubuk. Pliz, nerede daha ayrıntılı okuyabileceğinizi, 4806'nın sebeplerinin neler olabileceğini ve nasıl düzeltileceğini belirtin. Verileri senkronize etmek için metakota kodunu kullanıyorum - https://www.mql5.com/en/docs/series/timeseries_access sayfasından CheckLoadHistory işlevi. BarsCalculated'dan gelen hatalar, bu işlev sıfıra kadar çalıştıktan sonra meydana gelir (yani, hesaplama verileri yerinde görünüyor). Hiç güvenilebilir mi yoksa başka bir şey gerekli mi? Her ihtimale karşı, türkiye'nin hesaplama için standart arabaları kullandığını ve BarsCalculated'ı arayarak kontrollerinin hazır olup olmadığını açıklığa kavuşturacağım.

Eğer cevap Kendilerinden değilse, o zaman veriler xs ne zaman sonra senkronize edilir. Senkronizasyon sırasında geldi, BarsCalculate=0.
 
Swan :
Eğer cevap Kendilerinden değilse, o zaman veriler xs ne zaman sonra senkronize edilir. Senkronizasyon sırasında geldi, BarsCalculate=0.

Bilgi için teşekkürler, "kendime" bu davranıştan pek memnun olmadığımı söyleyebilsem de - yazılımın performansı üzerinde önemli bir belirsizlik yaratıyor. Örneğin, bir saatten fazla bir süre önce, içinde birkaç yeni işaret belirttiğim bir hindiyi astım - bunlar piyasa incelemesinde - eğer yukarıda belirtilen işlevlerle verilere erişim, indirme ve hesaplamayı başlatmış olsaydı, o zaman her şey gerekirdi. uzun zaman önce tamamlandı, ancak tamamlanmadı. En azından, indirme ve diğer "yeraltı" eylemleriyle ilgili terminalin her hapşırmasını sistem günlüğünde görmek arzu edilir, aksi takdirde neden "kapatıldığı" açık değildir - "uzman" daki son giriş 4806 hatasıyla ve sistemde - terminalin senkronize olduğunu söylüyorlar. Hafta sonu kene olmadığını göz önünde bulundurarak, ayarları birkaç kez değiştirdim ama hala veri yok.

Örneğin, RTS-9.11'i aldım, buna göre yukarıdaki bağlantıdaki MetaQuotes yenileme işlevi düzenli olarak Yüklenemedi.

 
Bir soru daha. Dörtlüde, fonksiyon argümanı olarak çok boyutlu bir func(int dizi[][]) dizisi yazmak mümkündü. Beşte, derleyici geçersiz bir dizin değeri hatası üretir - boyutun belirtilmesini gerektirir. func(int &array[][3]) yazdım - yani hata yok ama bu bir çözüm değil. O zaman fonksiyonlar nasıl yazılır? Anlamları, tanım gereği, farklı verilere, farklı dizilere uygulanabilen soyut bir kod parçasını vurgulamaktır.
 
marketeer :
Bir soru daha. Dörtlüde, fonksiyon argümanı olarak çok boyutlu bir func(int dizi[][]) dizisi yazmak mümkündü. Beşte, derleyici geçersiz bir dizin değeri hatası üretir - boyutun belirtilmesini gerektirir. func(int &array[][3]) yazdım - yani hata yok ama bu bir çözüm değil. O zaman fonksiyonlar nasıl yazılır? Anlamları, tanım gereği, farklı verilere, farklı dizilere uygulanabilen soyut bir kod parçasını vurgulamaktır.

Bunu seviyorum:

 class cArray2
  {
   double             _Data[];
   int                _ColumnsCount;
   int                _RowsCount;
   ...
   ...
  }

Bu sınıfın nesnelerini argüman olarak iletirim.

Başka bir deyişle, herhangi bir boyutun veri deposu olarak tek boyutlu bir dizi kullanıyorum, "çok boyutlu" dizinleri kendim "tek boyutlu" olanlara yeniden hesaplıyorum (ve tam tersi).

Oldukça kabul edilebilir bir hızda çalışır.

Meta alıntılar anlaşılabilir. "Yalnızca bir boyut tanımsızdır" kısıtlamasını getirmezseniz, derleme aşamasında bir dizi öğesi için hızlı erişim kodu oluşturmak mümkün olmayacaktır.

 
marketeer :

Bilgi için teşekkürler, "kendime" bu davranıştan pek memnun olmadığımı söyleyebilsem de - yazılımın performansı üzerinde önemli bir belirsizlik yaratıyor. Örneğin, bir saatten fazla bir süre önce, içinde birkaç yeni işaret belirttiğim bir hindiyi astım - bunlar piyasa incelemesinde - eğer yukarıda belirtilen işlevlerle verilere erişim, indirme ve hesaplamayı başlatmış olsaydı, o zaman her şey gerekirdi. uzun zaman önce tamamlandı, ancak tamamlanmadı. En azından, indirme ve diğer "yeraltı" eylemleriyle ilgili terminalin her hapşırmasını sistem günlüğünde görmek arzu edilir, aksi takdirde neden "kapatıldığı" açık değildir - "uzman" daki son giriş 4806 hatasıyla ve sistemde - terminalin senkronize olduğunu söylüyorlar. Hafta sonu kene olmadığını göz önünde bulundurarak, ayarları birkaç kez değiştirdim ama hala veri yok.

Örneğin, RTS-9.11'i aldım, buna göre yukarıdaki bağlantıdaki MetaQuotes yenileme işlevi düzenli olarak Yüklenemedi.

referans:

Göstergelerin ve zaman serilerinin verilerine erişim, istenen verilerin hazır olmasına bakılmaksızın gerçekleştirilir ( eşzamansız erişim olarak adlandırılır). Bu, özel göstergeleri hesaplamak için kritik öneme sahiptir, bu nedenle istenen veriler eksikse Copy...() türünün işlevleri hemen bir hata döndürür .

hafta sonu hiç kene yok, gösterge başlatıldı, hemen bir hata aldı ..

imho şimdiye kadar bir çözüm görüyorum, gerekli geçmişi yükleyen ek bir uzman başlatın ..

onlar. veriler uzman için mevcutsa, gösterge için de mevcut olacaktır. Kontrol etmedi, çözüm çarpık görünüyor.


Sorumu tekrar edeceğim:

yardımda:

Göstergeler bir arabirim iş parçacığında çalıştığından ve onu yavaşlatmaması gerektiğinden, Sleep() işlevi özel göstergelerden çağrılamaz.

Yine de, kesinlikle, kesinlikle imkansız, ya da gerçekten istiyorsan, yapabilirsin, ama dikkatlice? :)


Göstergeden başka bir sembolün verilerine erişme sorunu.

kene yoksa)
onlar. hafta sonları, gösterge kendi TF'sinden olmayan, sembolünden olmayan verileri hiçbir şekilde alamaz..
 
Swan :
onlar. hafta sonları, gösterge kendi TF'sinden olmayan, sembolünden olmayan verileri hiçbir şekilde alamaz..
Bana göre bunların hepsi bug. Keneler - keneler ve hiçbir şey (terminalin) kenelerin yokluğunda veri yüklemesini ve hindileri saymasını engellemez. Daha ilginç olanı, farklı demo sunucularında aynı kodun farklı şekilde çalışmasıdır. Örneğin Alpari'de hem altın hem gümüş aldım ve hindi sayıldı. Yani sorun daha geniş görünüyor.
 
MetaDriver :

Meta alıntılar anlaşılabilir. "Yalnızca bir boyut tanımsızdır" kısıtlamasını getirmezseniz, derleme aşamasında bir dizi öğesi için hızlı erişim kodu oluşturmak mümkün olmayacaktır.

Eh, onu anlayamıyorum ;-). Beşin mümkün olduğunca dördüyle (özellikle önceki API işlevleri için sözdizimi ve destekle ilgili olarak) uyumlu hale getirilmesi gerektiği fikrini uzun süredir dile getirirken, elbette yeni özellikler eklerken - örneğin hızlı oluşturma gibi kod, ancak bu yeni sözdizimsel yapılar (kısıtlamalar) için yapılabilir - örneğin, şu dizi parametreleriyle: hız için optimize etmek isteyen, boyutu belirtir ve eski kodu sorunsuz bir şekilde hızlı bir şekilde taşımak isteyen - olduğu gibi bırakın ve kodun daha yavaş çıkacağı gerçeğiyle incir. Hız ve kolaylık arasında bir uzlaşma olurdu, aksi takdirde assembler'ı mql5 olarak sunmak mümkün olurdu. ;-).
Neden: