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

 

Konu başlangıcı:

Aşağıda, MetaTrader 4/MQL4 ve MetaTrader 5/MQL5 için ortak olan IDE'nin beta sürümü bulunmaktadır. Bu, genel bir önizleme sürümüdür.

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++'da olduğu 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.


Mümkün olduğunca çok geri bildirim toplamak ve geliştiricileri hazırlamak için önümüzdeki ay boyunca herkese açık testler yapmayı planlıyoruz.

MQL5 forumunda tartışma: https://www.mql5.com/en/forum/13651

Dosyalar:
 

Beni en çok bu rahatsız etti:

Renat :

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

Neden uyumlu olamaz? Tekrar yaz? MQL4 dizileri dizileri kalır mı? Eğer kalırlarsa, nasıl ve neden yasakladığınız belli değil?
 
Yalnızca DLL'deki aktarım hakkında konuşma.
 
Renat :

MQL4 forumunda tartışma: https://www.mql5.com/ru/forum/13651

:)
 
MT4 forumu gerçekten MT5 forumunun bir bölümü haline getirilebilir mi?
 
Daha önce derleme yapılırken global ve yerel değişkenlerin isimleri aynı ise uyarı verilmezdi ama şimdi - "'dist' bildirimi 63. satırda global bildirimi gizler" veriyor, ayrıca bu uyarı, değişkenlerin isimleri aynı olduğunda çıkıyor. fonksiyonun formal parametreleri ile global değişkenlerin isimleri eşleşir. Kritik mi ve programın davranışını etkileyebilir mi? yoksa örneğin karmaşık projelerde kafa karışıklığı olmaması için tamamen stilistik olarak mı yanlış? ( Değişkenlerin kapsamını kafamda tutmaya zaten alışkınım ve genellikle benzer amaçlara sahip değişkenleri aynı adlarla adlandırırım)
 
zenz :
... Kritik mi ve programın davranışını etkileyebilir mi?...
4k'da bir değişkenin hatalı kullanımı varsa programın davranışı değişmeyecek, yeni derleyicide korunacaktır.
 
Dosyayı yeni bir düzenleyicide derledim ve MT4.509'a kaydırdım - sildi... :(
 
TarasBY :
Dosyayı yeni bir düzenleyicide derledim ve MT4.509'a kaydırdım - sildi... :(

Bu doğaldır, çünkü eski terminal yeni dil formatı hakkında hiçbir şey bilmiyor.

Şimdiye kadar editör ve derleyiciyi sadece ön testler için yayınladık. Birkaç hafta içinde, yeni program formatı ile çalışabilen yeni terminalin beta sürümünü yayınlayacağız.

Orijinal mesajda verilen bağlantıları okumanızı tavsiye ederim - neredeyse her şey orada kabul edilir.

 
Renat :

Bu doğaldır, çünkü eski terminal yeni dil formatı hakkında hiçbir şey bilmiyor.

Şimdiye kadar editör ve derleyiciyi sadece ön testler için yayınladık. Birkaç hafta içinde, yeni program formatı ile çalışabilen yeni terminalin beta sürümünü yayınlayacağız.

Orijinal mesajda verilen bağlantıları okumanızı tavsiye ederim - neredeyse her şey orada kabul edilir.


Henüz bakmadım ama test cihazı MT5 gibi tırnak işaretleri ile yapılsa daha iyi olurdu :) ve test cihazını işlemci kaynaklarına eklemekten zarar gelmezdi.
 
M2012K :

Henüz bakmadım ama test cihazı MT5 gibi tırnak işaretleri ile yapılsa daha iyi olurdu :) ve test cihazını işlemci kaynaklarına eklemekten zarar gelmezdi.


"Baltadan yulaf lapası" karikatürünü hatırlıyor musunuz? ;)))