MetaTrader 4 Build 529 Beta, Yeni Derleyici ile Yayınlandı - sayfa 37

 
Renat :
Yani kişisel olarak programların performansı ile ilgili bir sorununuz yok ve genel sorular soruyorsunuz.

Sorularınızı birkaç kez okudum ve hiç anlamadım. Burada ayrıntılardan bahsediyoruz.

Derleme ile ilgili herhangi bir sorun yoktur. İşlenebilirlik var ve anladığım kadarıyla bu, MQL5 mantığının MQL4 ile karıştırılmasından kaynaklanıyor. Ancak burada tartışılan sorunlar her durum için yeterli değildir. Bütün bunlar özel bir durum. Kurallara ihtiyaç var. MQL5'ten MQL4'e taşınan özellikler ve kurallar hakkında bir ön kılavuz veya en azından bir duyuru yayınladıysanız, bu sadece bize değil, aynı zamanda ortaya çıkan sorunları anlamanıza da yardımcı olacaktır. Evet ve burada 500 veya daha fazla sayfa biriktirdiğinizi hayal edin. Nasıl okunur?

 
ForexMoneyMaker :

Derleme ile ilgili herhangi bir sorun yoktur. İşlenebilirlik var ve anladığım kadarıyla bu, MQL5 mantığının MQL4 ile karıştırılmasından kaynaklanıyor. Ancak burada tartışılan sorunlar her durum için yeterli değildir. Bütün bunlar özel bir durum. Kurallara ihtiyaç var. MQL5'ten MQL4'e taşınan özellikler ve kurallar hakkında bir ön kılavuz veya en azından bir duyuru yayınladıysanız, bu sadece bize değil, aynı zamanda ortaya çıkan sorunları anlamanıza da yardımcı olacaktır. Evet ve burada 500 veya daha fazla sayfa biriktirdiğinizi hayal edin. Nasıl okunur?

Evet, eski kodu uyarlamak için kesinlikle bir rehber olacak. sahte sürümü çalıştırmadan hemen önce. şimdi açıklama yapmanın ne anlamı var ilk olarak, başka bir şey değişebilir (uyumluluğu etkileyen şeyler de dahil. ikincisi, şimdi tüm "açıklayıcı kaynaklar" bir yardım hazırlamaya ayrılmıştır. zaten aşınma ve yıpranma için çalışan bir sistemi neden fazla zorlayasınız? hata sayısını artırmak için?
 

MT4 yapı 536, ME yapı 872.

Ayrı bir pencerenin göstergesi, giriş parametresini kullanır: extern string Currency_Name = "EURUSD";

Giriş parametresi değiştirilmeden gösterge çalıştırılırsa gösterge çizilir ve hatasız çalışır. Ancak ilk lansmandan sonra, finansal aracı başka herhangi bir araçla değiştirin, örneğin "GBPUSD" koyun, gösterge finansal aracın yeni adını kabul etmez. Göstergenin Kısa_Adı eski adını korur, ancak gösterge hiç çizilmez (boş alan). İlk yükleme sırasında bir finansal aracın adını değiştirirseniz, gösterge program tarafından belirtilen orijinal isme göre çizilecektir.

Göstergenin ilk verilerinin sayısal değerlerini değiştirmeye gelince, her durumda değişirler ve gösterge hatasız çizilir.

 
Renat :

Bir programda yüzlerce global değişkene sahip olmak iyi değil.

OOP ve sınıflar, kapsamları gizleyerek ve verilere güvenli erişim sağlayarak sorunu tamamen ve temelden çözer.

Belki uygun değildir. Ama aynı yerde neden olduğunu da yazdım. MT4'te farklı planlanmış olanı uygulamak imkansızdı. Grafiklerle çalışmadı. Yalnızca harici değişkenler aracılığıyla grafik öğelerin stilini ayarlamak mümkündür. Ve eğer birçok farklı grafik elemanı varsa, o zaman birçok harici değişken vardır. Stile ek olarak, SADECE HARİCİ DEĞİŞKENLER ARACILIĞIYLA da değiştirilebilen çok sayıda grafik öğe özelliği vardır. Grafikli sancak mükemmel. Ancak MT4'te - sürekli zorluklar. Bu nedenle, yüzlerce dış değişken. MT4'ün yeni sürümü ile nasıl olacak henüz bilinmiyor. Göreceğiz.
 
nen :
Belki uygun değildir. Ama aynı yerde neden olduğunu da yazdım. MT4'te farklı planlanmış olanı uygulamak imkansızdı. Grafiklerle çalışmadı. Yalnızca harici değişkenler aracılığıyla grafik öğelerinin stilini ayarlamak mümkündür. Ve birçok farklı grafik öğesi varsa, o zaman birçok dış değişken vardır. Stile ek olarak, SADECE HARİCİ DEĞİŞKENLER ARACILIĞIYLA da değiştirilebilen çok sayıda grafik öğe özelliği vardır. Grafikli sancak mükemmel. Ancak MT4'te - sürekli zorluklar. Bu nedenle, yüzlerce dış değişken. MT4'ün yeni sürümü ile nasıl olacak henüz bilinmiyor. Göreceğiz.

Bu yüzden grafikler hakkında değil, değişkenler hakkında konuşun. Ek olarak, MT5'te grafikler mükemmel - bilgisayar oyunlarına kadar her şeyi yapabilirsiniz. Mt4 de şimdi yetişecek.

Kullanıcının istediği zaman değiştirmesi gereken yüzlerce parametreyi herhangi bir programda nasıl geçirebilirsiniz? Yalnızca giriş parametreleri tablosu. Programın türü ne olursa olsun.

Her durumda, yüzlerce parametre, bir programcının hiçbir yere gitme yoludur. Parametre sayısını onlarca kez azaltmak için akıllı otomatik kontrol yöntemlerini uygulamak gerekir. Düşünmeye başlar başlamaz çözümler hemen gelir.

 
nen :

Göstergede birkaç yüz harici değişken varsa ve kurulum sırasında birkaç onluk değiştirilmesi gerekiyorsa, o zaman...

Yeniden yüklemeden önce, göstergenin önceki kurulumu sırasında değiştirilen değerlerden hangi değişkenlerin kaydedilmesi gerektiğini hatırlamak gerekecektir.

100 parametreden kurtulmanın imkansızlığına girmeden...

Neyin değiştiğini hatırlamamak için bir "Sıfırla" düğmesi var.

Ve yeni davranış (yeniden derlemeden sonra girilen değişken değerlerinin kaydedilmesi), tam tersine, işi daha kolay hale getirir - eğer bir şeyi değiştirirseniz, göstergenin tüm kopyalarını yeniden yapılandırmanız gerekmez.

 

Renat, Stringo, Unicode sonsuza kadar kalacak mı?

 
input datetime   Date_From = D'08.10.2013' ;       // Начало периода
input datetime   Date_To = D'08.11.2013' ;         // Окончание периода
input bool       Column_Headers = true ;           // Создавать заголовки колонок?

Bu bir komut dosyasıdır, çalıştırıldığında Date_From alanı her zaman Date_To alanında geçerli yerel tarihi / saati içerir - her şey yolunda. Ayarların sırası değiştirildi - bir tarih saat türü değişkeni listede ilk değilse, bu kusur mevcut değildir

---

Yardımda, PRICE_CLOSE, ENUM_APPLIED_PRICE türüne sahiptir, ancak derleyici, türsüz bildirimin - 'ENUM_APPLIED_PRICE' - farkında değildir. Yardım mı yoksa derleyici mi düzeltecek?

---

Genel olarak, bu editör/derleyici için teşekkürler!

 

Döviz çiftinin tablosunda bulunan önceden derlenmiş göstergede değişiklikler yapıyorum. Tekrar derleme yapıyorum. Değişikliklerin geçerli olması için terminali tamamen yeniden başlatmanız gerekir. Göstergeyi grafikten çıkarmak ve yeniden başlatmak yardımcı olmaz, zaman çerçevesini değiştirmek yardımcı olmaz. Yalnızca terminalin kendisini yeniden başlatarak yapılan değişiklikleri görmeye yardımcı olur.

Lütfen düzeltin.

 
ObjectSetInteger ( 0 , "Name" , OBJPROP_CORNER , CORNER_RIGHT_LOWER );
ObjectSetInteger ( 0 , "Name" , OBJPROP_ANCHOR , ANCHOR_RIGHT_LOWER );

CORNER_RIGHT_LOWER ve ANCHOR_RIGHT_LOWER tanımlı değil

Mqh dosyası, günlüklerde "bildirilmemiş tanımlayıcı" hatası


StringConcatenate garip çalışıyor

Bu nasıl çalışır

 StringConcatenate ( "Text 1 " , "Text 2" );
StringConcatenate ( "Text 1 " , 10 );
StringConcatenate ( 10 , " Text 2" );
StringConcatenate ( 10 , 11 );
StringConcatenate ( "Copyright " , CharToString ( 169 ));

Ama hayır (yalnızca "©" görüntülenir)

 StringConcatenate ( CharToString ( 169 ), " Copyright" );
Neden: