Uzman Danışmanlar: Yatırımcılar için MQL5 Programlama - Kitaptan kaynak kodları. Bölüm 1

 

Yatırımcılar için MQL5 Programlama - Kitaptan kaynak kodları. Bölüm 1:

Kitabın ilk bölümünde MQL5 dili ve geliştirme ortamı tanıtılmaktadır. MQL5 dilinde MQL4'e (MetaTrader 4 dili) kıyasla sunulan yeni özelliklerden biri, onu C++'a benzer kılan nesne yönelimli programlama (Object-Oriented Programming, OOP) desteğidir.

Yatırımcılar için MQL5 Programlama - Kitaptan kaynak kodları. Bölüm 1

Yazar: MetaQuotes

 
Tüccarlar için MQL5 Programlama - Kitaptan Kaynak Kodlar'dan çeşitli program kodları aldığım için çok şanslı olduğumu düşünüyorum. Bölüm 1 - daha fazla çalışma için MetaTrader 5 uzmanı. Çok teşekkürler.
 

Metinde yanlışlıklar var.

Alıntı:

MQL4 (MetaTrader 4 dili) ile karşılaştırıldığında MQL5 'teki ana değişikliklerden biri, onu C++'a benzer kılan nesne yönelimli programlama (OOP) desteğidir. Bazı OOP işlevlerinin MQL4'ten MQL5'e zaten aktarılmış olmasına rağmen ...

OOP, MQL4'e yanılmıyorsam 2013'ün başlarında 600. sürümde eklenmişti! Aynı zamanda, MQL4 dili radikal bir şekilde geliştirilerek ilk beşe yükseltildi. MQL5'te olduğu gibi tam teşekküllü C++ tarzı tanımlamalar ve daha birçok şey ortaya çıktı ve en önemlisi, yalnızca dil hakkında konuşursak, o zamandan beri pek değişmeyen artı tarzında çalışan OOP. Yeni başlayanlar her zaman MT4 ve MT5 API'lerini MQL4/5 programlama dilleriyle karıştırır. Bir kez daha - MQL4 ve MQL5 dilleri %99 aynıdır, ancak kütüphaneler ve API'ler çok farklıdır.

Учебник по MQL5: Знакомство c языком и средой разработки
Учебник по MQL5: Знакомство c языком и средой разработки
  • www.mql5.com
Знакомство c языком и средой разработки - Программирование на MQL5 для трейдеров - Учебник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
MQL5'in mevcut sürümünde, yapıların kopyalanması - üstten alta - artık çalışmamaktadır. Kitabın kendisi böyle bir kopyalamanın mümkün olduğunu belirtmektedir.
Eş yapıların kopyalanması, bir torunun bir ebeveyne kopyalanması gibi çalışır - torunun verilerinin kaybı ile.
 
Vitalii Avramenko #:
MQL5'in mevcut sürümünde, yapıları kopyalamak - üstten alta - artık çalışmamaktadır. Kitabın kendisi bu tür bir kopyalamanın mümkün olduğunu belirtmektedir.
Eş yapıların kopyalanması, bir torunun bir ebeveyne kopyalanması gibi çalışır - torunun veri kaybı ile.

MQL5 değişiyor (ne yazık ki, örneğin C++ gibi diğer dillerin ve derleyicilerin yapmaya izin verdiği önceki sürümlerle uyumluluk modunda derleme yeteneği olmadan).

Bu nedenle, yenilikleri dikkate almanız (en azından derleyici mesajlarını anlayarak) ve örneğin miras alınan yapıların kopyalanması örneğinde olduğu gibi kendi düzenlemelerinizi eklemeniz gerekir:

struct Inclosure
{
   double X, Y;
};

struct Main3 : Inclosure
{
   using Inclosure::operator=;
   int code;
};

void OnStart()
{
   Main3 m3 = {0.1, 0.2, -1};
   Inclosure in = {10, 100};
   m3 = in;
   ...
}