Grafik modunda MQL için bir GUI oluşturma. - sayfa 10

 
Renat Fatkhullin :
µl, borular, dosyalardan veya web isteklerinden tek yönlü yoklama.

Herhangi bir şekilde doğrudan aramalar karşılığında. Parametrelerle OnExternal türünde bir yöntem ekleyebilsek de, iletim kanalı üzerinde düşünmemiz gerekiyor.

Olabilir:
- dll'de kayıtlı parametrelerle geri arama
- tetikleyici olarak adlandırılan mutex
- PostMessage için windows mesajı

Eminim mükemmel olurdu! Sonuçta burada MT'ye bir şey aktarmaktan bahsetmiyoruz. Veri aktarımının kendisi başka bir şekilde yapılabilir. Bazı işlemlerin yapılması gerektiğini MT'ye bildirmek önemlidir. Her şey, geliştirdiğiniz GUI kitaplığındakiyle tamamen aynıdır: tüm geri aramalar, olaylar aracılığıyla yürütülür.

Bu arada, bu kitaplık hakkında: onu genişletip tamamen tuvale çevirmeyi planlıyor musunuz? Yani, nihai "ürün" bir dizi grafik nesnesi değil, bir bütün resim olmalıdır.

Eh, dll'lere bakma bağlamında, elbette, MT'ye kaynak olarak dll'leri dahil edebilmek isterim, böylece onları bir uzman veya gösterge ile birlikte "sürüklemek" zorunda kalmazsınız.

 
Renat Fatkhullin :
Ve neden gui için dotnet'te durdunuz?

Basit formlar C++ ve diğer dillerde kolaylıkla yapılabilir. Ve eşleştirme sorunları ve kaynak kaybı olmayacak.

Evet ve MQL5'te yerel arayüzler yapmak kesinlikle kolaydır.

Eh, soru aslında GUI'de çok fazla değil. Bu sadece MT'nin arayüzlerini kolayca oluşturduğum anlamına gelir. Tabii ki, bu biraz kafa karıştırıcı ve yeteneklerinizi genişletmek için kendi işleme sınıflarınızı oluşturmanız gerekiyor, ancak her şey çözülebilir. İnternet ile çalışmak için bazı algoritmaları uygulamanın imkansızlığı nedeniyle net ile iletişime geçtim. C++'da, ana dilde bile, MT'den bahsetmiyorum bile, çok zor ve kararsız olduğu ortaya çıkıyor. Net ile temasa geçtiğimden beri, GUI'yi de aldım, çünkü MT'nin aksine her şey orada bunun için hazır. Herhangi bir dilde, herhangi bir dilde uygulama geliştirmenin açık sorunları arasında, bu sorunlar özellikle net ile ilgili olmadığı için: 1. Geri bildirim, 2. GUI'yi bir grafiğe bağlama (https://www.mql5.com/ru/forum) /103764 ) konulardan biridir.

Как создать окно-форму в mt Dll с помощью Delphi?
Как создать окно-форму в mt Dll с помощью Delphi?
  • 2007.06.22
  • www.mql5.com
В одной из экспортируемых функций хочу создать не модальное окно-форму с помощью Делфи interface type TMTDllForm = class(TForm) private procedure W...
 
Renat Fatkhullin :
µl, borular, dosyalardan veya web isteklerinden tek yönlü yoklama.

Herhangi bir şekilde doğrudan aramalar karşılığında. Parametrelerle OnExternal türünde bir yöntem ekleyebilsek de, iletim kanalı üzerinde düşünmemiz gerekiyor.

Olabilir:
- dll'de kayıtlı parametrelerle geri arama
- tetikleyici olarak adlandırılan mutex
- PostMessage için windows mesajı

bu senin seçimin ;-)

uygulamalar açısından - DLL'yi aradıktan sonra MT'ye "istediğin buydu, sonra al" demek için düzenli bir yol olmalıdır.

uzun hesaplamalar için tipik bir senaryo, DLL olarak adlandırılan ağ IO-MT'si, DLL bir iş parçacığı oluşturdu ve içinde bir şeyler yapılıyor. "Her şey yanlış hesaplandı" demenin düzenli bir yoluna ihtiyacımız var. Bu olmadan, danışmanlardan sürekli bir şeyler sorulmalıdır.

 
Maxim Kuznetsov :

bu senin seçimin ;-)

uygulamalar açısından - DLL'yi aradıktan sonra MT'ye "istediğin buydu, sonra al" demek için düzenli bir yol olmalı.

uzun hesaplamalar için tipik bir senaryo, DLL olarak adlandırılan ağ IO-MT'si, DLL bir iş parçacığı oluşturdu ve içinde bir şeyler yapılıyor. "Her şey yanlış hesaplandı" demenin düzenli bir yoluna ihtiyacımız var. Bu olmadan, danışmanlardan sürekli bir şeyler sorulmalıdır.

Desteklerim!

 
Алексей Барбашин :

İyi

Evet, Dll'yi paralel bir danışmandan kısa bir zamanlayıcıya çekmek çok uzak. Temel bilgileri yayınlıyoruz. MT akışları. Özellikle bir scalper veya gün içi varsa.
 
Geri aramayı deneyelim
 

Hepimiz bir geliştirme ortamının veya diğerinin avantajları hakkında tartışabiliriz. Sadece ne için? Belirli belirli görevleri çözdüğü için hiçbir geliştirme sisteminin kendi kendine yeterli olmadığını hepimiz çok iyi biliyoruz. Ve yetenekleri genişletmek için başka herhangi bir dilde veya ortamda geliştirilen diğer eklentiler kullanılır. Sadece uygun bir etkileşim sağlamanız gerekir. Fazla ileri gitmeyeceğiz: İçe aktarma yoluyla kullandığımız aynı Windows kitaplıkları ... onların yardımıyla eksik olan işlevselliği uyguluyoruz. Ve sonuçta burada bunun tamamen mql aracılığıyla uygulandığı söylenemez. ))) Peki, istenen hedeflere ulaşmak ve güçlendirmek için kullandığımız harici uygulama arasındaki fark nedir? Kendi kendine yazılan bir dll neden bir windows olandan daha kötü?

Örneğin, işte bir makale: https://www.mql5.com/ru/articles/364

Ancak sonuçta, dll'den tamamen kurtulmaktan bahsetmiyoruz, MT'nin kesinlikle kendi görevleri olduğu için bu asla olmayacak. Bu makalede, ne derse desin, sistem kütüphaneleri mevcuttur. Evet, kendi kendine yapılanların aksine bu kütüphanelerin bir uzman ya da gösterge ile taşınmasına gerek yok...

Peki, aracın kaynaklarına dll derleme yeteneği eklemenizi engelleyen nedir?

Evet, bunu piyasaya koyamazsınız, çünkü piyasa dll kullanmanıza izin vermez, ancak kendi gelişiminiz için bu daha uygun bir büyüklük sırası olacaktır.

 
Алексей Барбашин :

Hepimiz bir geliştirme ortamının veya diğerinin avantajları hakkında tartışabiliriz. Sadece ne için? Belirli belirli görevleri çözdüğü için hiçbir geliştirme sisteminin kendi kendine yeterli olmadığını hepimiz çok iyi biliyoruz. Ve yetenekleri genişletmek için başka herhangi bir dilde veya ortamda geliştirilen diğer eklentiler kullanılır. Sadece uygun bir etkileşim sağlamanız gerekir. Fazla ileri gitmeyeceğiz: İçe aktarma yoluyla kullandığımız aynı Windows kitaplıkları ... onların yardımıyla eksik olan işlevselliği uyguluyoruz. Ve sonuçta burada bunun tamamen mql aracılığıyla uygulandığı söylenemez. ))) Peki, istenen hedeflere ulaşmak ve güçlendirmek için kullandığımız harici uygulama arasındaki fark nedir? Kendi kendine yazılan bir dll neden bir windows olandan daha kötü?

Örneğin, işte bir makale: https://www.mql5.com/en/articles/364

Ancak sonuçta, dll'den tamamen kurtulmaktan bahsetmiyoruz, MT'nin kesinlikle kendi görevleri olduğu için bu asla olmayacak. Bu makalede, ne derse desin, sistem kütüphaneleri mevcuttur. Evet, kendi kendine yapılanların aksine bu kütüphanelerin bir uzman ya da gösterge ile taşınmasına gerek yok...

Peki, aracın kaynaklarına dll derleme yeteneği eklemenizi engelleyen nedir?

Evet, bunu piyasaya koyamazsınız, çünkü piyasa dll kullanmanıza izin vermez, ancak kendi gelişiminiz için bu daha uygun bir büyüklük sırası olacaktır.

Bu tür düşünceler ve paylaşımlar zaten 10 yaşında ve işler hala devam ediyor...
Renat genellikle ekosistemden bahseder ve biz buna izin vermeyiz...
 
Yuriy Asaulenko :
Benzer düşünceler ve paylaşımlar zaten 10 yaşında ve işler hala devam ediyor...
Renat genellikle ekosistemden bahseder ve biz buna izin vermeyiz...

Ekosistemden bahsediyorsak, MT'deki herhangi bir ithalatın kullanımını kapatmanız yeterlidir. Ama bunu yapmıyorlar. Ne de olsa, sadece kütüphanelerin içe aktarılmasını kullanmaya karar vermeleri değildi. MT bir süre web istekleriyle çalışamadı, dosyalarla çalışırken sınırlamalar vardı.. tüm bunlar kitaplıkları içe aktararak GENİŞLETİLDİ. Her şey çok açık ve tüm sistemler bu şekilde çalışıyor.Şimdi bile MQL araçlarını kullanarak yalnızca sanal alandaki dosyalarla çalışabilirsiniz. Bu yaklaşıma kimse itiraz etmiyor gibi görünüyor, bu geliştiricinin politikasıdır ve herkes bunu anlar ve destekler. Ve eğer veri depolamak veya veritabanlarını veya haritalamayı kullanmak için sanal alandan çıkmanız veya kayıt defterine erişmeniz gerekiyorsa .. bunun için lütfen kütüphane eklentilerini kullanın. Çok doğru? Her şey oldukça mantıklı. Araç için veritabanlarına ihtiyacınız yok ve başka hiçbir şeye ihtiyacınız yok.Bütün bunlar yalnızca geliştiriciler için gereklidir, bu nedenle herhangi bir işlevsellikteki araçları uygulayabilmeniz için MQL dili mevcuttur. Ve bir geliştirme ortamı olduğu için, MT artık kendi başına bir şey değildir. )) Sadece ... geliştirmeniz gerekiyor)))

 
Yuriy Asaulenko :
Bu tür düşünceler ve paylaşımlar zaten 10 yaşında ve işler hala devam ediyor...
Renat genellikle ekosistemden bahseder ve biz buna izin vermeyiz...

Nasıl hala orada?

Etkileşim için tüm fırsatlar uzun zamandır var ve olmuştur. DLL desteği genellikle 2004'te ortaya çıktı.

Dillerimiz sürekli gelişiyor ve daha güçlü ve işlevsel hale geliyor. Ve ekosistem herkesinkinden daha güçlü.