Evet teşekkürler. Ama sorduğum gibi, bu diğer dilde olmadığı anlamına mı geliyor? MQ/MT4 veya başka bir dil yapısını kullanmanın tek yolu bu olsaydı, o zaman bunu belirtmekte zorlanmayacaklarını varsayıyorum.
Sanırım o yazıda dediğin gibi 'teknik detayları' soruyorum. İhtiyaçtan değil meraktan.
Sözdizimine gelince, ticaret stratejilerini programlamak için kullanılan THE MQL5 dili, bazı özellikler dışında C++ programlama diline çok benzer:
adres aritmetiği yok;
git operatörü yok;
anonim bir numaralandırma bildirilemez;
sınıfların ve yapıların yapıcıları parametreye sahip olamaz;
çoklu kalıtım yok.
Bunun gibi, C++'da bunun tam tersinin doğru olacağını ima edebilirim... Yine de teşekkürler, Gordon.
Kusura bakmayın ama bu "teknik" bir yanıt değil :) Neden değişkeni global değişken yerine referansa göre iletmenin daha iyi olduğunu söyleyebilir misiniz?
[...] bu, başka bir dilde olmadığı anlamına mı geliyor? [...]
Hiçbir şey ifade etmez, ancak özellikle hem C hem de C++ dizilerinde başvuru yoluyla da iletilir (teknik olarak dizinin ilk öğesine bir işaretçi iletilir, bu işaretçi değere göre iletilir).
Çok ilginç ! Ne yazık ki, EA parametrelere ihtiyaç duyuyor ve bazen çok fazla, bu yüzden onlardan kaçınamayız [...]
Dış etkenler gerçekten kaçınılmazdır. Kapsam olarak global olmalarına rağmen, global değişkenlerle aynı değildirler ( GV'ler ile karıştırılmamalıdır); özellikle - değerlerinin kod yoluyla değiştirilmesi önerilmez, bu nedenle işlevler arasında bilgi iletmek için kullanılmamalıdırlar (buraya bakın -> https://www.mql5.com/en/forum/123535 ).
GlobalVariable için adlandırma kuralları kullanıyorum: Bazı hataları yönetmek ve önlemek çok daha kolay.
Bu tartışma, global kapsamda tanımlanan değişkenler hakkındadır (start(), init(), deinit() özel fonksiyonunun dışında bildirilen) ve GV'ler hakkında değil... İkisini karıştırmayın.
Olmayan bir sorunu neden çözelim? Neden tekerleği yeniden icat ettin? Neden yalnızca sınırlı durumlarda işe yarayacak belirsiz bir kod oluşturuyorsunuz?
İşte basitleştirilmiş bir açıklama -> https://www.mql5.com/en/forum/117210 . Diziler, MQL4'te her zaman referansla iletilir.
Evet teşekkürler. Ama sorduğum gibi, bu diğer dilde olmadığı anlamına mı geliyor? MQ/MT4 veya başka bir dil yapısını kullanmanın tek yolu bu olsaydı, o zaman bunu belirtmekte zorlanmayacaklarını varsayıyorum.
Sanırım o yazıda dediğin gibi 'teknik detayları' soruyorum. İhtiyaçtan değil meraktan.
Sözdizimine gelince, ticaret stratejilerini programlamak için kullanılan THE MQL5 dili, bazı özellikler dışında C++ programlama diline çok benzer:
Bunun gibi, C++'da bunun tam tersinin doğru olacağını ima edebilirim... Yine de teşekkürler, Gordon.
Kusura bakmayın ama bu "teknik" bir yanıt değil :) Neden değişkeni global değişken yerine referansa göre iletmenin daha iyi olduğunu söyleyebilir misiniz?
Tekrar etmemeyi tercih ettiğim birçok neden, bunun yerine buraya -> https://en.wikipedia.org/wiki/Global_variable ve buraya -> http://www.c2.com/cgi/wiki? GlobalVariablesAreBad (daha fazlasını Google'da bulabilirsiniz... Bu yaygın olarak kabul edilen bir kavram ve internette çok fazla bilgi var).
[...] bu, başka bir dilde olmadığı anlamına mı geliyor? [...]
Tekrar etmemeyi tercih ettiğim birçok neden, bunun yerine buraya -> https://en.wikipedia.org/wiki/Global_variable ve buraya -> https://www.mql5.com/go?link= başvuracağım. http://www.c2.com/cgi/wiki?GlobalVariablesAreBad (daha fazlası için Google'a gidebilirsiniz... Bu yaygın olarak kabul edilen bir kavramdır ve internette çok fazla bilgi vardır).
Çok ilginç ! Ne yazık ki, EA'nın parametrelere ve bazen çok fazlasına ihtiyacı vardır, bu yüzden onlardan kaçınamayız ve https://www.mql5.com/go?link=http://www.c2'de belirtilen tüm nedenlerle ilgilenmemiz gerekir. com/cgi/wiki?KüreselDeğişkenlerKötü
GlobalVariable için adlandırma kuralları kullanıyorum: Bazı hataları yönetmek ve önlemek çok daha kolay.
Teşekkürler Gordon.
Çok ilginç ! Ne yazık ki, EA parametrelere ihtiyaç duyuyor ve bazen çok fazla, bu yüzden onlardan kaçınamayız [...]
Dış etkenler gerçekten kaçınılmazdır. Kapsam olarak global olmalarına rağmen, global değişkenlerle aynı değildirler ( GV'ler ile karıştırılmamalıdır); özellikle - değerlerinin kod yoluyla değiştirilmesi önerilmez, bu nedenle işlevler arasında bilgi iletmek için kullanılmamalıdırlar (buraya bakın -> https://www.mql5.com/en/forum/123535 ).
GlobalVariable için adlandırma kuralları kullanıyorum: Bazı hataları yönetmek ve önlemek çok daha kolay.
Merak ediyorum: Birden çok sonuç döndüren işlevleri olan HERHANGİ bir programlama dili var mı?
belki bir işlevi , çağrı işlevinde tekrar birleştirebileceğiniz şekilde birleştirerek iki değeri döndürmesi için kandırabilirsiniz.
bunun gibi bir şey
a = 10;
b = 20;
a = a*1000
c = a+b // 10020
dönüş(c);
sonra arama işlevinde
b = c%1000 // 20
a = cb/1000 // 10
belki bir işlevi, çağrı işlevinde tekrar birleştirebileceğiniz şekilde birleştirerek iki değeri döndürmesi için kandırabilirsiniz.
bunun gibi bir şey
[...]neden ?
neden ?