Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Anlamını anladım, uygulama ayrı, GUI ayrı.
Ancak GUI'deki çıktı verilerinin işlenmesi hala eşzamanlı olarak gerçekleştirilir.
Yani, örneğin uygulama GUI'ye 10.000 öğe gönderir ve GUI tüm bu öğeleri sırayla işler.
Sorun bu. GUI'de gelen öğelerin işlenmesini ve çıktılarını paralel hale getirmek gereklidir. Temel, metin, simge.
Ayrıca, hücre başına üç döngü gerçekleştirilir.
Pekala. Ancak mevcut koşullarda işlemeyi paralel hale getirmek elverişsizdir. Daha fazla danışman veya hizmet bağlamanız gerekiyor. Sonunda hantal ve bozuk bir uygulama ile karşılaşacaksınız.(
Grafik nesnelerine dayalı bir yol var. Derinlemesine girmedim, ancak birden çok iş parçacığı oluşturmaya yardımcı olabilir. Şablonlarla ilgili bir şey ...
Anlamını anladım, uygulama ayrı, GUI ayrı.
Ancak GUI'deki çıktı verilerinin işlenmesi hala eşzamanlı olarak gerçekleştirilir.
Yani, örneğin uygulama GUI'ye 10.000 öğe gönderir ve GUI tüm bu öğeleri sırayla işler.
Sorun bu. GUI'de gelen öğelerin işlenmesini ve çıktılarını paralel hale getirmek gereklidir. Temel, metin, simge.
Ayrıca, hücre başına üç döngü gerçekleştirilir.
Bunun işe yaraması pek olası değil. Windows bile arayüzü tek bir iş parçacığında işler. Aksi takdirde, pencerelerin ve kontrollerin önceliği belirlenmeyecektir. Yalnızca GUI'nin kendisi ve çeşitli verilerin işlenmesi iş parçacıklarına ayrılabilir. Fiili olarak, kontrollerdeki verilerin değiştirilmesine bile başka bir iş parçacığından izin verilmez. Diyalog her zaman eksiksiz olmalıdır, bu nedenle herhangi bir diyalogun herhangi bir çizimi ve tepkisi kesinlikle tek bir iş parçacığında gerçekleşir, yani her şey eşzamanlı olarak gerçekleşir.
MT'deki herhangi bir işlem kesinlikle eşzamanlı olarak gerçekleştirilir ve geliştiriciler uygulamaya iş parçacığı ekleyene kadar bu gerçekten değiştirilemez.
Geliştiricilerin veritabanlarıyla, python ile, keskin ile çalışma açısından MT'nin işlevselliğini genişletmeye çalışması oldukça şaşırtıcı...
Harika.
sürprize katılıyorum.
Tek çıkış yolu, uygulamalarınıza asenkron işlevli dll göndermektir.
Ancak bu tür uygulamalar, dll yasağı nedeniyle kod tabanına bile yerleştirilemez.
Bunun işe yaraması pek olası değil. Windows bile arayüzü tek bir iş parçacığında işler. Aksi takdirde, pencerelerin ve kontrollerin önceliği belirlenmeyecektir. Yalnızca GUI'nin kendisi ve çeşitli verilerin işlenmesi iş parçacıklarına ayrılabilir. Fiili olarak, kontrollerdeki verilerin değiştirilmesine bile başka bir iş parçacığından izin verilmez. Diyalog her zaman eksiksiz olmalıdır, bu nedenle herhangi bir diyalogun herhangi bir çizimi ve tepkisi kesinlikle tek bir iş parçacığında gerçekleşir, yani her şey eşzamanlı olarak gerçekleşir.
Ve bana öyle geliyor ki, her şey yoluna girecek, sadece asenkron verilerin işlenmesinin önceliği hakkında önceden düşünmeniz gerekiyor.
Yani, senkronize olanla asenkron bir işleme şeması oluşturmak için.
sürprize katılıyorum.
Tek çıkış yolu, uygulamalarınıza asenkron işlevli dll göndermektir.
Ancak bu tür uygulamalar, dll yasağı nedeniyle kod tabanına bile yerleştirilemez.
Aslında, henüz GUI olaylarının işlenmesini paralelleştirmeye gerçek bir ihtiyaç yoktur. 1000 hücrelik tablolar MT4'te bile nispeten hızlı çalışıyorsa, diğer olayların hızı fazlasıyla yeterlidir. Benim pratiğimde hiçbir engelleme yoktur. Süper hızlı animasyon gerekiyorsa, OpenCL bağlanabilir. MT5, olağan GUI'yi mükemmel şekilde çeker. Sorun yok. Tuvali yeniden çizerken dikkatli olmanız gerektiğini gösterdim.
EA'nın kendisi ağır hesaplamalar içeriyorsa, GUI'ye veri çıkışı sıklığı azaltılabilir. Büyük pencerenin yeniden çizilmesi 100 ms'ye kadar sürebilir, ancak genellikle çok daha kısa sürer. Bu nedenle, GUI'de 100 ms'lik bir gecikme ancak ÇOK ağır EA hesaplamalarında fark edilebilir.
sürprize katılıyorum.
Tek çıkış yolu, uygulamalarınıza asenkron işlevli dll göndermektir.
Ancak bu tür uygulamalar, dll yasağı nedeniyle kod tabanına bile yerleştirilemez.
DLL düzeyinde pek çok şey yapabilirsiniz.
MT'nin amaçlanmadığı tek şey bu ve + orada yapmanız gerekebilir :-)
dll kontrol edilemez, bu yüzden piyasada yok. Ve kod tabanında, bu arada, dll'ler karşımıza çıkıyor. Belki şimdi bir tür korkuyla yasaklanmıştır
PS Bu arada, merak uyandıran bir soru - bir DLL, bir geliştirici anahtarıyla imzalanabilir. Teorik olarak, piyasada ve kod tabanında bu tür DLL'lere izin vermek mümkündür, ancak bu, Microsoft altyapısına bir bağlantı verecektir. Buradaki kim, Visual C için böyle bir lisans almaya hazır mı?sürprize katılıyorum.
Tek çıkış yolu, uygulamalarınıza asenkron işlevli dll göndermektir.
Ancak bu tür uygulamalar, dll yasağı nedeniyle kod tabanına bile yerleştirilemez.
Evet, asıl sorun bu! Aynı market dll kullanımını yasaklıyor, bu yüzden tekerleği yeniden icat etmeniz gerekiyor. Biri GUI'lerin gerekli olmadığını düşünürse, ancak her durumda, tek bir iş parçacığında karmaşık uzun vadeli hesaplamalar yapamazsınız, her şey askıda kalır! Yani piyasada yasak olan dll'de bu işlem yapılmalı...
Vb. Bu nedenle her şeyin mql yöntemleri kullanılarak çizilmesi ve çözülmesi gerekir.
Aslında, GUI'yi ve mantığı iş parçacıklarına bölmek için, elbette, şimdi zaten yapabilirsiniz. Adamlar paralellik konusunu zaten tartıştılar https://www.mql5.com/en/forum/288985/page5#comment_14722396.
Sonuç olarak, Windows'ta olduğu gibi formun kendisini ana iş parçacığında bırakabilir ve ek hesaplamaları "arka plan" yürütmesine aktarabilirsiniz. Windows, Linux ve Android böyle çalışır.
DLL düzeyinde pek çok şey yapabilirsiniz.
MT'nin amaçlanmadığı tek şey bu ve + orada yapmanız gerekebilir :-)
dll kontrol edilemez, bu yüzden piyasada yok. Ve kod tabanında bu arada, dll'ler karşımıza çıkıyor. Belki şimdi bir tür korkuyla yasaklanmıştır
PS Bu arada, merak uyandıran bir soru - bir DLL, bir geliştirici anahtarıyla imzalanabilir. Teorik olarak, piyasada ve kod tabanında bu tür DLL'lere izin vermek mümkündür, ancak bu, Microsoft altyapısına bir bağlantı verecektir. Buradaki iş parçacığı Visual C için böyle bir lisans almaya hazır mı?Evet, dll'leri kontrol etmek imkansızdır, ancak aynı Windows kitaplıklarına izin verilebilir...
Neden ileri gidelim: standart kitaplığın bir parçası olarak bile winAPI'ye erişim için işlevler var! Peki ya anlamı? Ne de olsa, her şey piyasaya erken konulamaz ....
Tamam, bu konuşmalarla bir başka sele daha düştük.
DLL düzeyinde pek çok şey yapabilirsiniz.
MT'nin amaçlanmadığı tek şey bu ve + orada yapmanız gerekebilir :-)
dll kontrol edilemez, bu yüzden piyasada yok. Ve kod tabanında, bu arada, dll'ler karşımıza çıkıyor. Belki şimdi bir tür korkuyla yasaklanmıştır
PS Bu arada, merak uyandıran bir soru - bir DLL, bir geliştirici anahtarıyla imzalanabilir. Teoride, piyasada ve kod tabanında bu tür DLL'lere izin vermek mümkündür, ancak bu, Microsoft altyapısına bir bağlantı verecektir. Buradaki kim, Visual C için böyle bir lisans almaya hazır mı?Peki Microsoft'un altyapısına demir atmak için ne gerekir?
Bence kesinlikle herhangi bir anahtarla bir dll imzalayabilirsiniz, asıl mesele bu anahtarın bir şekilde MQ tarafından kontrol edilmesidir.
Bu anahtarların MQ tarafından verilmesi ve uygulamanın karma toplamını kontrol etmesi gerektiği sonucu çıkar.
Peki Microsoft'un altyapısına demir atmak için ne gerekir?
Bence kesinlikle herhangi bir anahtarla bir dll imzalayabilirsiniz, asıl mesele bu anahtarın bir şekilde MQ tarafından kontrol edilmesidir.
Bu anahtarların MQ tarafından verilmesi ve uygulamanın karma toplamını kontrol etmesi gerektiği sonucu çıkar.
ama bu karınca yuvasında en önemli olan microsoft olduğu için :-)
Windows'u güncellerken ve korsan Windows'ta ürünleri etkinleştirirken insanların neden oturum açma bilgilerini kaybettiğini düşünüyorsunuz?