Yeni MQL4 derleyicisini ve düzenleyicisini içeren MetaTrader 4 IDE'nin beta sürümü - sayfa 5

 
Daha küçük bir optimizasyon önerisi bulmak muhtemelen zordur, ancak belki de "Piyasa İzleme" listesinin çıktısını alfabetik sıraya göre düzenlemenin zamanı gelmiştir? Yoksa her şeyin paralel/dik olması gerektiğini söyleyen içimdeki mühendis mi... Ne kadar sinir bozucu olursa olsun, mutlu da değil. Bu %90'lık hazır fonksiyonlara birkaç satır daha ekleyebilir misin?
 
Zaxvatov :
Daha küçük bir optimizasyon önerisi bulmak muhtemelen zordur, ancak belki de "Piyasa İzleme" listesinin çıktısını alfabetik sıraya göre düzenlemenin zamanı gelmiştir? Yoksa her şeyin paralel/dik olması gerektiğini söyleyen içimdeki mühendis mi... Ne kadar sinir bozucu olursa olsun, mutlu da değil. Bu %90'lık hazır fonksiyonlara birkaç satır daha ekleyebilir misin?
Bunun için bir uygulama var. Ama bir düğme ile daha iyi olurdu ...
 
VOLDEMAR :

Soru: Yeni mt ne zaman piyasaya çıkacak??? bekleyemeyiz.....

Tam olarak ne bekliyorsun? Yeni hatalar mı? (ve bu kadar ciddi değişikliklerle bu kaçınılmazdır). Elleriniz, bir anda çalışmaz hale gelecek olan tüm kodlarınızı yeniden yazmak ve hatalarını ayıklamak için kaşınıyor mu? Serbest zaman chtol gidecek bir yer yok mu?

Şahsen, en son yapılarla ilgili tüm bu yaygara, bu tür MQL programlamanın beklentileri hakkında küresel olarak düşünmemi sağladı. 4 veya 5 olması önemli değil. Özü birdir. Programlarınızı bir ticaret platformuna bağlı bir tür sentetik dilde yazarsınız ve sonuç olarak bu platformun/dilin geliştiricilerinin tüm kaprislerine ve hatalarına rehin olursunuz. Bugün MQL4'ü MQL5 ile, yarın MQL6 ile vb. geçmek istediler. Ve başka seçeneğiniz yok, tasarımlarınızı yeni kurallara göre yeniden yapmak zorunda kalıyorsunuz. Aksi takdirde, her şey çalışmayı durduracaktır. Ve böylece zaman zaman. Hepsi anlamsız.

Genel olarak bu, tüm MQL programlarımı belirli bir ticaret platformuna bağlı kalmadan bağımsız bir programlama ortamına aktarmam için son itici güç oldu. Peki, MQL'yi MT ile programınız arasında bir bağlantı olarak kullanın. Ve bu belki de tek doğru yol. Tabii geliştirmelerinizi piyasada satmayacaksanız)

Peki, sadece MQL'de programlamayı seviyorsanız ve yeni özellikler (örneğin spor ilgisi) istiyorsanız, tüm bunların zaten uygulandığı ilk beşte kodlama yapmanızı engelleyen nedir?

 
Meat :

Tam olarak ne bekliyorsun? Yeni hatalar mı? (ve bu kadar ciddi değişikliklerle bu kaçınılmazdır). Elleriniz, bir anda çalışmaz hale gelecek olan tüm kodlarınızı yeniden yazmak ve hatalarını ayıklamak için kaşınıyor mu? Serbest zaman chtol gidecek bir yer yok mu?

Şahsen, en son yapılarla ilgili tüm bu yaygara, bu tür MQL programlamanın beklentileri hakkında küresel olarak düşünmemi sağladı. 4 veya 5 olması önemli değil. Özü birdir. Programlarınızı bir ticaret platformuna bağlı bir tür sentetik dilde yazarsınız ve sonuç olarak bu platformun/dilin geliştiricilerinin tüm kaprislerine ve hatalarına rehin olursunuz. Bugün MQL4'ü MQL5 ile, yarın MQL6 ile vb. geçmek istediler. Ve başka seçeneğiniz yok, geliştirmelerinizi yeni kurallara göre yeniden yapmak zorunda kalıyorsunuz. Aksi takdirde, her şey çalışmayı durduracaktır. Ve böylece zaman zaman. Hepsi anlamsız.

Genel olarak bu, tüm MQL programlarımı belirli bir ticaret platformuna bağlı kalmadan bağımsız bir programlama ortamına aktarmam için son itici güç oldu. Peki, MQL'yi MT ile programınız arasında bir bağlantı olarak kullanın. Ve bu belki de tek doğru yol. Tabii geliştirmelerinizi piyasada satmayacaksanız)

Peki, sadece MQL'de programlamayı seviyorsanız ve yeni özellikler (örneğin spor ilgisi) istiyorsanız, tüm bunların zaten uygulandığı ilk beşte kodlama yapmanızı engelleyen nedir?

Destekliyorum, geliştirici eski yapılar üzerinde çalışmak için en az 500'den destek bıraktıysa ve uygulanacağından şüphelendiğim yeni yapıya zorunlu güncellemeyi kaldırdıysa, o zaman normal olurdu, aksi takdirde bu başka bir anlaşılmaz harekettir. geliştiriciler Tabii ki, OOP'nin dahil edilmesini destekliyorum, ancak dll'de sessizce uygulanıyor ve yeni bir standart olarak dilin yeni baskısında bahçeyi çitle çevirmeye değmez. Örneğin, aynı C ++, birkaç mevcut standartlara sahiptir, ancak genel olarak, kodun herhangi bir uygulaması için çalışacak ortak bir temel vardır.
 
Barbarian :
Destekliyorum, geliştirici en az 500'den eski yapılar üzerinde çalışmak için destek bıraktıysa ve uygulanacağından şüphelendiğim yeni yapıya zorunlu güncellemeyi kaldırdıysa, o zaman normal olurdu, aksi takdirde bu başka bir anlaşılmaz harekettir. geliştiriciler. Tabii ki, OOP'nin dahil edilmesini destekliyorum, ancak dll'de sessizce uygulanıyor ve yeni bir standart olarak dilin yeni baskısında bahçeyi çitle çevirmeye değmez. Örneğin, aynı C ++, birkaç mevcut standartlara sahiptir, ancak genel olarak, kodun herhangi bir uygulaması için çalışacak ortak bir temel vardır.

Dökme demirlerle ütü yapıp, sobayı kömürle ısıttığınıza dair şüphelerim var... Yenilik iyidir, sadece döviz piyasası çok dinamik değildir ve bir şeyler başarmak istiyorsanız her zaman trendde olmanız gerekir.. daha iyisi için yeni değişiklikler, umarım ....
 
VOLDEMAR :

Yenilik iyidir, sadece döviz piyasası çok dinamik değildir ve bir şeyler başarmak istiyorsanız her zaman trendde olmanız gerekir ... daha iyisi için yeni değişiklikler, umarım ....

Kendiniz "trend" olmak bir şey ve başka bir şey, geçmiş gelişmelerinizin de "trend" olması. Birkaç tanesine sahipseniz veya hiçbir değeri yoksa, o zaman sorun yok. Ancak buradaki birçok insan, yıllar boyunca yazılmış ve hata ayıklanmış devasa bir kod tabanı biriktirdi. Ve şimdi herkes, yakında bu kodun önemli bir bölümünün çalışmayı bırakacağı gerçeğiyle karşı karşıya. Bu saçmalık. Bu gibi durumlarda geriye dönük uyumluluk her zaman sağlanır, yani. dilin eski sürümleri için destek, ancak meta alıntılar desteklemez.

 
Meat :

Kendiniz "trend" olmak bir şey ve başka bir şey, geçmiş gelişmelerinizin de "trend" olması. Birkaç tanesine sahipseniz veya hiçbir değeri yoksa, o zaman sorun yok. Ancak buradaki birçok insan, yıllar boyunca yazılmış ve hata ayıklanmış devasa bir kod tabanı biriktirdi. Ve şimdi herkes, yakında bu kodun önemli bir bölümünün çalışmayı bırakacağı gerçeğiyle karşı karşıya. Bu saçmalık. Bu gibi durumlarda geriye dönük uyumluluk her zaman sağlanır, yani. dilin eski sürümleri için destek, ancak meta alıntılar desteklemez.


Bundan emin misin? Bu içeriden biri mi?
 
Meat :

Kendiniz "trend" olmak bir şey ve başka bir şey, geçmiş gelişmelerinizin de "trend" olması. Birkaç tanesine sahipseniz veya hiçbir değeri yoksa, o zaman sorun yok. Ancak buradaki birçok insan, yıllar boyunca yazılmış ve hata ayıklanmış devasa bir kod tabanı biriktirdi. Ve şimdi herkes, yakında bu kodun önemli bir bölümünün çalışmayı bırakacağı gerçeğiyle karşı karşıya. Bu saçmalık. Bu gibi durumlarda geriye dönük uyumluluk her zaman sağlanır, yani. dilin eski sürümleri için destek, ancak meta alıntılar desteklemez.

Alarmist'in sözleri. Metakotalar tam uyumluluğun olacağını defalarca söyledi ve muhtemelen tekrar etmekten bıkmayacaklar. Anaokulunu bırak artık.
 
FAQ :

Bundan emin misin? Bu içeriden biri mi?

artmedia70 :
Alarmist'in sözleri. Metakotalar tam uyumluluğun olacağını defalarca söyledi ve muhtemelen tekrar etmekten bıkmayacaklar. Anaokulunu bırak artık.

Kimse tam uyumluluktan bahsetmesin diye vurguladım:

Renat :


MQL4'ün eski sürümünden farkları nelerdir:

  • Mantıksal VE/VEYA işlemlerinin önceliği değişti. Artık her şey klasik C/C++'daki gibi

  • Mantıksal ifadelerin kısaltılmış bir değerlendirmesi tanıtıldı. Şimdi, bir boole ifadesi önceden değerlendirilirken, kalan alt ifadeler değerlendirilmez. C/C++'daki gibi.

  • switch ifadesi artık yalnızca tamsayı değerlerini kullanır. Daha önce gerçek kullanmak mümkündü

  • Artık değişken isimlerinde nokta kullanamazsınız. Ayrıca değişken isimlerinde '@', '$', '?' sembolü kullanılamaz.

  • Başlatma işlevi için gereksinimler daha katı hale geldi. Önceden, başlatma işlevinde parametreleri belirtmek mümkündü. Artık tüm giriş noktaları init, start, deinit, OnInit, OnStart, OnTick, OnTimer, vb. şeklindedir. imzalarıyla tam olarak eşleşmelidir

  • Anahtar kelimelerin genişletilmesi nedeniyle, kısa, uzun, kayan nokta, const, sanal, giriş, silme, yeni, do, char gibi adların kullanılması artık mümkün değildir.

  • Artık içe aktarılan dll işlevleri, dizi dizilerini parametre olarak kabul edemez. MQL5'te olduğu gibi

  • Artık önceden tanımlanmış değişken adları _Period, _Symbol, _LastError, _CriticalError, _StopFlag, _Point, _Digits, _UninitReason, _RandomSeed var ve bunlar aynı adlar altında mevcut kaynaklarda bildirilen basit değişkenlerle çakışabilir

  • Datetime tipi MQL5'te olduğu gibi 8 byte olmuştur.

Farklar ölümcül değildir ve kodda kolayca sabitlenir. Buna karşılık, birçok MQL5 özelliği, yürütme hızı ve çok daha sıkı kalite kontrolü mevcut hale geliyor.

En kötüsü kırmızıyla vurgulandı.
 
Barbarian :
Tabii ki, OOP'nin dahil edilmesini destekliyorum, ancak dll'de sessizce uygulanıyor ve yeni bir standart olarak dilin yeni baskısında bahçeyi çitle çevirmeye değmez.

Genel olarak, Mql4'te hiçbir şeyi değiştirmeye değmeyeceğini düşünüyorum. Uzun yıllardır değişmeden varlığını sürdürüyor, tüm yaralar zaten iyileşti ve kullanıcılar buna alıştı. Ve en önemlisi, kendi özelliklerine sahip çok basit ve orijinal bir dildi, örneğin, fazladan kod satırları kaydetmenin mümkün olduğu bazı özgürlüklere izin verdi. Gerçekten eksik olan tek şey yapılardı. Kendinizi onları eklemekle sınırlayabilirsiniz, o kadar. Ancak, sıkıcı katılığı ve sınırlamaları ile MQL5 artık o kadar ilginç değil, çünkü Barbarian'ın haklı olarak belirttiği gibi, gerçek C++'da kodlamak daha kolay ve bir kat daha fazla özelliğe sahip.

Kısacası, en iyi çözüm MQL4'ü olduğu gibi bırakmak ve MQL5'i MT4'e ayrı bir dil olarak eklemek olacaktır (sadece özellik seti MT5'ten farklı olacaktır). Kullanıcının kendisi hangi dilde yazacağını seçerdi.

Neden: