Hatalar, hatalar, sorular - sayfa 41

 
alexvd :

Başvurunuz cevaplanmıştır. Tavsiyeler verdiler.

Profilinizde neden güncellenmedi - hadi çözelim.

Başvuru

Hatalar , MetaTrader 5 MQL , Açıldı , Başlatıldı: 2010.07.03 14:51 , #17988

belki o da güncellenmemiştir. Hesap Lütfen.

 
drknn :

Biçimsel mantığı biliyorum ve terimlerdeki farklılıklar hemen gözüme çarptı. Gerçek şu ki , MQL5 dilini okumak birçok konuda netlik sağlamaz. Meta alıntıların, bir grup beta test kullanıcısını kendi taraflarına çekmek için terminali kamu malı haline getirdiği açıktır - bu hareket onlara zaman ve para tasarrufu sağlar. Ancak, kullanıcılara netlikten yoksun bir sertifika vermek, onlar için büyük bir gaftır. Peki, örneğin, en önemli bölümünü açalım " MQL4'ten Migration ":

Tablo Ask, Bid ve Barlar hakkında bilgi vermemektedir. Aynı Ask kelimesi için arama yapılmaya çalışılması , kişinin en son fiyatları talep etmek için tamamen anlaşılmaz bir yapı ile karşı karşıya kalmasına neden olur. Geliştirici, yardımın bu bölümünü yazdırma aşamasında bile bunu öngöremez miydi? Saçmalık. Bu neden olabilir? Tek bir sebep var - tutarlılık eksikliği - yani gelecekteki kompozisyon için net bir planın olmaması. Büyük olasılıkla, sertifika rastgele yazılmıştır, ardından ayrı parçalar basitçe birbirine yapıştırılmıştır ve işte size bir "yardım". Hiçbir yere uymuyor. Kimse başkalarının taslaklarını okumayı sevmez!

Bir dereceye kadar haklısınız - MQL5 belgeleri, tıpkı MQL5 dilinin kendisi gibi, sürekli değişiyor ve ekleniyor. Ve daha uygulanacak çok şey olduğu için birkaç yıl daha değişecek. Son kullanıcılarımızdan - müşterilerimizden geri bildirim almadan, laboratuvar sessizliğinde birkaç yıl boyunca boşlukta yeni bir terminal oluşturmamızı önerdiğiniz ortaya çıktı?

ana bölüm hakkında

Peki, örneğin, en önemli bölümünü açalım " MQL4'ten Migration ":

İlk yayınından bu yana bazı değişikliklere de uğramayı başardı, ancak nihai versiyonun ne zaman olacağını söylemek mümkün değil. Ve sürekli olarak MQL4'e bakamayız, MQL5 çalışamayız, makaleler okuyamayız - bunlar gerçekten yeni bir konu öğrenmemize yardımcı olur.

 
Yeni bir yapı kurduktan sonra, Uzman Danışmanlarım C:\Program Files\MetaTrader 5\MQL5\Experts klasöründe kayboluyor. Onları alt klasörler olmadan yerleştiriyorum - belki bu yanlıştır?
 
icas :
Yeni bir yapı kurduktan sonra, Uzman Danışmanlarım C:\Program Files\MetaTrader 5\MQL5\Experts klasöründe kayboluyor. Onları alt klasörler olmadan yerleştiriyorum - belki bu yanlıştır?
Diskten tamamen kaldırıldılar mı?
 
Renat :
Diskten tamamen kaldırıldılar mı?
Renat, üzgünüm! Bilgisayarlarla uğraştı. Yorumu silmek istedim, zaten cevaplamışsın.
 
Aşağıdaki yapıyı derlerken derleyici neden "sessiz":
 ushort SomeFunction( int A, int B)
   {
     ushort res= 0 ;
     ushort id= 1000 ;
    res=(A>B)?id: NULL ;  ????? 
    
     return (res);
   }
Her şey hatasız derlenir :)
 
Kos :
Aşağıdaki yapıyı derlerken derleyici neden "sessiz":
Her şey hatasız derlenir :)
Nasıl bir hata görmeyi bekliyordunuz?
 
stringo :
Nasıl bir hata görmeyi bekliyordunuz?

Yardım açıkça belirtir ki - "expression2" ve "expression3" aynı türde değerler döndürmeli ve void türünde olmamalıdır.

Buna göre, aşağıdaki yapı yanlıştır. NULL, void türündedir ve derleyici size bundan bahsetmeli mi?

res=(A>B)?id: NULL ;  ?????
 
MQL5 programının yüklenmesini imkansız kılacaksa, böyle bir yapıyı derlemenin anlamı nedir?
 

NULL özel bir sabittir. "Dönüşüm olmaksızın diğer temel türlerdeki değişkenlere atanabilir"

Diğer bir deyişle, ifadelerde NULL, bir void tipi değil, bir ifade tipine sahiptir.

Geçersiz talimatı kastediyorsanız, bu bir hatadır ve düzeltilecektir.