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

 

Her şey çalışıyor gibi görünüyor.

Küçük bir dileğim var - Alt + M ile açılan işlevler listesini "Gezgin" penceresinde kalıcı olarak görünür kılmak mümkün müdür? Kodda gezinmek için çok kullanışlı olacaktır.

 
BorisMQL4 :
Araç Çubuğunu daha önce mümkün olduğu gibi bir şekilde özelleştirmek mümkün müdür?

Evet, mevcut bir panel öğesine sağ tıklayın ve Özelleştir'i seçin.


Her şey MetaEditor 4'tekiyle aynı.

 
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ü kullanılabilir hale gelir.

İlk 2 nokta özellikle tehlikelidir, çünkü kod derlenir ancak düzgün çalışmayabilir.

Daha fazlasını ekleyebilir misin? Durum böyle değilse, düzeltin (beta testi ve tam kontrol için zaman yoktur). (mutlak gerçek gibi görünmesin diye sonuna (?) yazacağım):

  • Dizeler unicode (2 bayt) haline geldi. Bu nedenle, 1 baytlık karakterlerin işlenmesine dayalı algoritmalar düzgün çalışmayacak veya (?)
  • Fonksiyonun (?) parametrelerini tanımlarken dizinin ikinci ve daha yüksek boyutunu açıkça belirtmek gerekir.
  • Yerel değişkenler ve diziler otomatik olarak başlatılmaz. (?)
  • Diziler artık varsayılan olarak statik değil (?)
  • 256 karakterden fazla olan satırlar artık kesilmeyecek. (?)
  • Bazı sabitler iç temsillerini değiştirmiştir. Örneğin, H1 (?) ile başlayan grafik periyotları
  • ...
Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 

Yeni MQL4 programları için giriş noktalarının listesi

1. Mevcut kaynaklarla uyumluluk için iyi bilinenler kalır - init, start, deinit

2. Eklendi:

OnInit, OnDeinit (Uzman Danışmanlar, göstergeler ve komut dosyaları için init ve OnInit, deinit ve OnDeinit işlevlerinin aynı anda bulunmasına izin verilmez)

Komut dosyaları için OnStart (OnStart ve başlatmanın aynı anda bulunmasına izin verilmez)

Uzman Danışmanlar için OnTick (OnTick ve başlatmanın aynı anda bulunmasına izin verilmez)

Göstergeler için OnCalculate (OnCalculate'in eşzamanlı varlığına ve başlatmaya izin verilmez)

3. Ayrıca eklendi:

Uzman Danışmanlar ve Göstergeler için OnTimer

Uzman Danışmanlar ve Göstergeler için OnChartEvent

Uzmanlar için OnTester

 

İfade değerlendirmesindeki bu değişiklikler çok uzun zaman önce yapılmış olmalıydı. Yazar çok büyük ifadeler yazmadıkça, sorun çıkarmaları neredeyse nadirdir.

Dizelerle ilgili herhangi bir sorun yoktur - dahili olarak unicode'durlar, terminal dışında kullanıldıklarında (siparişlerde yorum gönderildiğinde) otomatik olarak ANSI'ye dönüştürülürler, bir DLL'ye aktarıldıklarında ileri geri otomatik dönüştürme dahil. Yani, uyumluluk tamamlandı.

Dizi boyutları - evet. Şimdilik, çok boyutlu dizilere sahip vahşi oyunları unutabilirsiniz, çünkü bunların yerini mükemmel bir şekilde yapılar alır.

MQL4'teki diziler hiçbir zaman statik olmadılar, aksine her zaman dinamik oldular.

Hayır, artık 256 karakter sınırı yoktur.

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
stringo :

Yeni MQL4 programları için giriş noktalarının listesi

1. Mevcut kaynaklarla uyumluluk için iyi bilinenler kalır - init, start, deinit

2. Eklendi:

OnInit, OnDeinit (Uzman Danışmanlar, göstergeler ve komut dosyaları için init ve OnInit, deinit ve OnDeinit işlevlerinin aynı anda bulunmasına izin verilmez)

Komut dosyaları için OnStart (OnStart ve başlatmanın aynı anda bulunmasına izin verilmez)

Uzman Danışmanlar için OnTick (OnTick ve başlatmanın aynı anda bulunmasına izin verilmez)

Göstergeler için OnCalculate (OnCalculate'in eşzamanlı varlığına ve başlatmaya izin verilmez)

3. Ayrıca eklendi:

Uzman Danışmanlar ve Göstergeler için OnTimer

Uzman Danışmanlar ve Göstergeler için OnChartEvent

Uzmanlar için OnTester

OnTrade ve OnTradeTransaction planlanıyor mu?
 
Renat :

Belki Rus stüdyosu buna değer?

Evet, Rusça. Kritik mi?
 
fyords :
Evet, Rusça. Kritik mi?

Rusça krakozyab ifadeleri dışında kritik değil. Bu metin, stüdyonun yanıtlarından düzeltilmiştir.

Bu sorunu çözmeye çalışacağız.

 
Renat :

Rusça krakozyab ifadeleri dışında kritik değil. Bu metin, stüdyonun yanıtlarından düzeltilmiştir.

Bu sorunu çözmeye çalışacağız.

Anlaşıldı, teşekkürler ama stüdyonun 5. editörünü bulma konusunda sorun çözülecek mi yoksa benim için bir tür sorun mu var?
 
Urain :
OnTrade ve OnTradeTransaction planlanıyor mu?
Ne yazık ki hayır.