Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 234
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Süreyi ölçersiniz ve sonucu alırsınız. Bunu TRADE_ACTION_MODIFY üzerinde yaşadım.
nereden, nereye, ne ve hangi koşullar altında ölçüldü?
sadece OrderSendAsync MODIFY ve hemen sonraki işleme 5 saniye ???
çok garip, korkutucu, olasılıksız bir sonuç - testleri iki kez kontrol etmemiz gerekiyor
Nereden, nereye, ne ve hangi koşullar altında ölçüldü?
sadece OrderSendAsync MODIFY ve hemen sonraki işlem için 5 sn ????
çok tuhaf, korkutucu, olanaksız bir sonuç - testleri iki kez kontrol etmemiz gerekiyor
Fonksiyondan önceki ve sonraki zamanı ölçtüm, farkı hesapladım ve 5 saniye buldum. Savaş danışmanlarında her şey ölçülür, böylece anormal bir durumu çözmek için daha fazla bilgi olur. Bunu gördüm.
İçinde farklı eylem kuralları verilebilen, ancak kendi aralarında özdeş olarak manipüle edilebilen yapılar oluşturmak gerekiyordu.
Kullanılan teknik bu örnek üzerinde resmileştirildi.
Ne yazık ki, OOP dillerinin statik metotlar için neden arayüzleri olmadığını anlayamadım.
Böyle bir korku yaratmalıyım.
Bunu nasıl hayal ediyorsunuz?
Herhangi bir fonksiyonun .text segmentinde adresi vardır.
Herhangi bir üye fonksiyon (metot), bu işaretçiyi ilk parametresi olarak zımnen kabul eder.
Statik metotlar bu işaretçiyi kabul etmezler ve esasen sözdizimsel "şeker" olup, fiilen sıradan fonksiyonlardır.
Bir sanal fonksiyon çağrıldığında, çalıştırılabilir fonksiyonun adresi, işaretçisi sanal fonksiyonun bildirildiği sınıfta örtük olarak bulunan sanal fonksiyon tablosundan alınır. Çalıştırılabilir fonksiyonun işaretçisinin başlatılması, nesnenin bir örneği oluşturulurken gerçekleşir, mantık şöyledir (tüm acemiler için açık olması için bilerek mql ile yazıyorum:
Doğal olarak, gerçekte her şey bu şekilde değildir, ancak işleve işaretçinin başlatılması mekanizması tam olarak bu şekildedir. Buna göre, derlenmiş bir dilde bunu istediğiniz şekilde yapmanın "hiç" kelimesinden hiçbir yolu yoktur.
C++ böyle bir şablon sihrine sahiptir:
Herhangi bir fonksiyonun .text segmentinde adresi vardır.
Herhangi bir üye işlev (yöntem) bu işaretçiyi dolaylı olarak ilk parametresi olarak kabul eder.
Statik yöntemler bu işaretçiyi kabul etmez ve esasen sözdizimsel "şeker" olup fiilen sıradan işlevlerdir.
Bir sanal fonksiyon çağrıldığında, çalıştırılabilir fonksiyonun adresi sanal fonksiyon tablosundan alınır, bu tablonun işaretçisi sanal fonksiyonun bildirildiği sınıfta örtük olarak bulunur. Yürütülebilir fonksiyonun işaretçisinin başlatılması, nesnenin bir örneği oluşturulurken gerçekleşir, mantık şu şekildedir (tüm acemilere açık hale getirmek için mql ile yazıyorum:
Doğal olarak, gerçekte böyle değildir, ancak işleve işaretçinin başlatılması mekanizması tam olarak böyledir.
Örnekli detaylı açıklama için teşekkürler!
Senin bu konudaki fikrin nedir?
Eğer arayüzlerin olasılıkları hakkındaki pişmanlığımdan bahsediyorsanız. Sınıflara/yapılara yalnızca sözdizimsel kısıtlamalar getirmek istiyorum. Yani, sadece derleme aşamasında, aynı const değiştiricisinde olduğu gibi. Kısacası öz denetim için.
Derlenmiş bir dilde istediğinizi yapmanın "hiç" kelimesinden yola çıkarak bir yolu yok.
Yukarıda bir koltuk değneği yazdım. Bu tür durumlar için zaten yerleşik bir şey olsun istedim.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi üzerine forum
MetaTrader 5 yapı 3950'nin yeni sürümü: Terminalde Para Çekme/Doldurma ve güncellenmiş işlem raporu
fxsaber, 2023.09.19 23:25
Hatalardan nasıl kurtulurum?İlk kez __LINE__/__COUNTER__ işaretlerin içine metin olarak, ikinci kez ise sayı olarak aktarılır.
Bu hatayı aşmak için iki çözüm buldum.
1. Temel sınıf aracılığıyla:
2. İç içe geçmiş bir sınıf aracılığıyla: