Benim yaklaşımım. Çekirdek - Motor. - sayfa 25

 
Yuriy Asaulenko :

MT'de de bir geri aramanız yok. Her şey MT'de önceden belirlenmiş olaylara göre yapılır, bir zamanlar ve bu kadar.

Terminal olaylarını yine DLL'ye ileteceksiniz ve bunları nerede, MT'de veya DLL'de işlediğinizin bir önemi yok.

İşte bağlantı arayüzümün bir örneği:

Burada her şey zaten düşünülmüş.

Dosyalar:
 
Реter Konow :

Sharp'tan gelen mesajları MCL uygulaması ile sürekli kontrol etmenin pahalı olmadığını düşünsek bile, o zaman bir etkileşim formatı geliştirmek çok hacimli bir iştir.

Bu görev aşağıdakileri içerir:

1. Paylaşılan hafızanın organizasyonunu icat etmek.

2. Üç tarafın etkileşiminin uygulanması.

3. Üç tarafın senkron testi (Sharp, DLL, MT-app).

Çok emek yoğun.


Benim durumumda, kullanıcı dosyayı alır ve doldurur. Ve bağlantı çalışıyor.

düşünme. Bunu 8 yıldır VBA Excel'den C++'a kadar çeşitli terminaller ve dillerle yapıyorum ve bu sorunlar hakkında hiçbir şey bilmiyorum.)

Sisteminizin muhtemelen Market satıcıları veya MT-MQL dışında diğer programlama dilleri ve ortamlarının varlığı hakkında hiçbir şey bilmeyen kişiler tarafından uygulanabilir olduğunu yazmıştım.

 
Yuriy Asaulenko :

düşünme. Bunu 8 yıldır VBA Excel'den C++'a kadar çeşitli terminaller ve dillerle yapıyorum ve bu sorunlar hakkında hiçbir şey bilmiyorum.)

Bağlantı dosyama bakın.

Kullanıcı bu dosyayı bir ekleme yoluyla danışmanına bağlar. Ve doldurur. Ve her şey çalışıyor...
 
Yuriy Asaulenko :

...

Sisteminizin muhtemelen Market satıcıları veya MT-MQL dışında diğer programlama dilleri ve ortamlarının varlığı hakkında hiçbir şey bilmeyen kişiler tarafından uygulanabilir olduğunu yazmıştım.

Bu arada, şu anda test cihazında bir EA ile GUI bağlantıları geliştiriyorum. GUI bir grafik üzerinde olacak ve EA test cihazında başlatılacak. Bu durumda, tamamen etkileşime girecekler. Ve test cihazındaki EA, GUI ile etkileşime girecek başka bir çizelgedeki kullanıcı eylemlerine yanıt verecektir.

Nasıl uygulanacağını buldum.

Ve test cihazındaki Expert Advisor ile Sharp arasında DLL üzerinden bağlantı kurmak... İmkansız görünüyor.

 
Реter Konow :

Ve test cihazındaki Expert Advisor ile Sharp arasında DLL üzerinden bağlantı kurmak... İmkansız görünüyor.

Mümkün görünüyor. Test cihazı, bildiğim kadarıyla DLL ile iletişim konusunda herhangi bir kısıtlama getirmiyor. Ancak, kendim denemedim.

 
Yuriy Asaulenko :

Mümkün görünüyor. Test cihazı, bildiğim kadarıyla DLL ile iletişim konusunda herhangi bir kısıtlama getirmiyor. Ancak, kendim denemedim.

evet tabiki yapabilirsiniz. Böylece DLL'lere izin verilir ve bu kadar.
 
Pekala, belki yapabilirsin ... Ancak, Sharpe'a yönelik "mazoşist" seçim acı verici bir şekilde açık)) Çok fazla nüans var ... Ama başka seçenek olmadığında, o zaman elbette.
 
Реter Konow :
Pekala, belki yapabilirsin ... Ancak, Sharpe'a yönelik "mazoşist" seçim acı verici bir şekilde açık)) Çok fazla nüans var ... Ama başka seçenek olmadığında, o zaman elbette.

Sharpe'a hiç yazmadım, ilgi yoktu ama yaklaşık 5 yıl önce .dll'yi butonlar ve formlarla Delphi'ye bağladım, her şey sorunsuz çalıştı ve tüm projeyi Delphi'de gündüz yazdım ve yarım saat harcadım. bir gün standart formların neden işe yaramadığını araştırdım ve Windows pencerelerini bir çağrı ile sisteme bağladığımda, her şey düzgün çalıştı, ancak MT4 çok sıkıydı, yavaşladı, şimdi uçuyor

genel olarak, .dll'ye bağlanmak, standart mutekslerle uygun şekilde senkronize etmek için herhangi bir sorun yoktur - terminal ile iletişim kurmak için bir iş parçacığı başlattı ve bu kadar, o zaman her şey kendi başına - .dll'de ayrı bir form, ayrı olarak MT kimse beklemiyor herkes için

Not: Delphi'nin .dll oluşturmak için oldukça pratik olmadığını lütfen unutmayın, ancak eldeki şey (o zaman üzerinde oturuyordum) sonra kullandım)))


ama konuya göre, MT teslimatından standart sınıfları neden kullanamadığınızı anlamıyorum, grafik oluşturma sürecini birleştirmek en fazla ilginç olurdu, peki, evrensel bir içerme olsun. gereksiz düğmeler/diyaloglar vb. yorum yapabilirsiniz.

 
Piotr, yaklaşımının yeni bir şey olduğunu düşünme.
OOP olmadığında programcıların gitmediği hileler.
Bunu açık kaynaklı C programlarında kendiniz de görebilirsiniz.
OOP'nin bunu yapabileceği, ancak yapamayacağı konusundaki tüm açıklamalarınızın gerçeklikle hiçbir ilgisi yok.
OOP hakkında değil, OOP hakkındaki fikirleriniz hakkında konuşuyorsunuz. Onun hakkında bu kadar çok konuşman inanılmaz.
ama ne olduğunu öğrenmek için hiç uğraşmadı.

Nedense, başkalarının deneyimini ihmal ediyorsunuz, ama o var.
Google'da bulabileceklerinizi dört ay boyunca incelemek ve aynı zamanda çok daha fazlasını öğrenmek aptalca.
Kendi biçimlendirme dilinizi icat ederken, nedense başka birinin deneyimini de incelemek istemediniz.
Örneğin, ücretsiz bir QT Designer var. XML tabanlı bir biçimlendirme dili kullanır.
Delphi, C++ Builder da artık XML kullanıyor.
MS Visusl Studio'da bir kaynak düzenleyici de bulunmaktadır. İletişim kutularını düzenlemenize ve bunları kaynaklara yerleştirmenize olanak tanır.
Ayrıca kendi işaretleme diline sahiptir.

GUI ile olan deneyimime dayanarak:
İyi bir grafik kitaplığı, grafiksel bir arayüzle çalışmayı çok daha kolay hale getirir.
Görsel düzenleyici çok az kolaylık sağlar. Aslında, bu sadece yeni başlayanlar için bir cazibe.
Biçimlendirme dilleri, formları görsel bir düzenleyicide depolamak için yaygın olarak kullanılır. Onsuz, bir biçimlendirme dili gerekli değildir.
Bir kitaplık ile, bir programcının bir işaretleme dili kullanmak yerine kodda grafiksel bir arayüz oluşturması daha kolaydır.
Kodu gizlemek istediğiniz için işaretleme dilinizi empoze ettiğinizi düşünüyorum.

 
Igor Makanu :

Grafik kodunu orada MQL'de yazabilmeniz için lütfen bana ücretsiz GUI kurucularından bazılarını söyler misiniz?

Delphi Sürükle ve Bırak'a benzer bir şey yapma arzusu var, ancak şu ana kadar MQL'de grafik kodu yazmanın mümkün olacağı ücretsiz bir kurucu bulamadım

GUI yapıcıları belirli bir grafik kitaplığı için yapılmıştır. MQL için bir GUI kurucusu olsaydı, burada olurdu.

Neden: