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
Yani DLL_PROCESS_ATTACH içinde başlatmak için: programı mql'den çağırmak yeterli olacak mı?
Mql programından, dll'de bulunan işlevlerini çağırın.
Mql programından, dll'de bulunan işlevlerini çağırın.
Ve imzalarını açıklamanın sorunu ne? Bir şekilde winapi'yi yöntem imzalarından mı çekiyorsun?
Ve afedersiniz, neden onları tarif ediyorsunuz? Ve üzgünüm, hiçbir şey çekmedim))
Ve pardon, neden onları tarif ettin? Ve üzgünüm, hiçbir şey çekmedim))
Sevgili forum kullanıcıları.
Andrey, asenkronluk ve çoklu kullanım farklı şeyler, sanırım herkes bunu anlıyor.
CreateThread() işlevi WinAPI Includer'da açıklandığı için, iş parçacıklarının kullanılabileceği varsayılmıştır.
Dahil etmede CreateTask () gibi tanımlanmış işlevler yoktur, o zaman olası bir asenkron kod yazıldığını varsaymak imkansızdır, bir şekilde kendi kendine kaybolur.
Bu nedenle, odak akışlar üzerindeydi. Ancak ortaya çıktığı gibi, açıklanan işlevler yalnızca WinAPI prototipleridir.
Tekrar ediyorum, görev saf WinAPI kullanmaktı ve açıklanan CreateThread() prototipi yanıltıcıydı. Ne de olsa hiçbir yerde bunların prototip olduğu söylenemez.
Herkesin farklı görevleri var, bu yüzden asenkronize oldum ve genel olarak her zaman asenkron veya threadler halinde yazmanın daha iyi olduğunu düşünüyorum.
ve her zaman asenkron yazma alışkanlığını geliştirmek, hızlı programlar yazmanıza ve bir uzman olarak seviyenizi yükseltmenize olanak sağlayacaktır.
Bu, geliştiricilerin kendilerinin ana ilkesidir, mql programlarının yürütme hızı, bu bizim her şeyimiz!
Mql'de böyle bir olasılığın olmaması üzücü,
bu nedenle, asenkron programlama için standart mql işlevleri geliştirmek için yönetime bir teklif yapıyorum ,
akışlarda zaman sorunları ve her şeyden önce güvenlik vardır.
Eşzamansız mod için güvenlik engeli olmadığını düşünüyorum.
yaklaşık mantık
EventLoop uygulamasını mql'de çalışın
MqlTask sınıfı oluştur
görevleri MqlTask obj nesnesi olarak bildirin;
görevler oluştur görev = obj.CreateTask(MyFunc());
başarıyı başlat = görev -> Çalıştır();
yürütme başarısını askıya al = görev -> SleepMs(ms);
başarıyı beklemek = görev -> Bekle(ms);
süresiz olarak beklemek başarı = görev -> Bekle (0);
silme görevini yürüttükten sonra görevi silin;
peki, kontrol için her türlü getStatus s
Andrey, asenkronluk ve çoklu kullanım farklı şeyler, sanırım herkes bunu anlıyor.
CreateThread() işlevi WinAPI Includer'da açıklandığı için, iş parçacıklarının kullanılabileceği varsayılmıştır.
Dahil etmede CreateTask () gibi tanımlanmış işlevler yoktur, o zaman kendi kendine kaybolacağı için olası bir asenkron kod yazımı varsaymak imkansızdır.
Bu nedenle, odak akışlar üzerindeydi. Ancak ortaya çıktığı gibi, açıklanan işlevler yalnızca WinAPI prototipleridir.
Tekrar ediyorum, görev saf WinAPI kullanmaktı ve açıklanan CreateThread() prototipi yanıltıcıydı. Ne de olsa hiçbir yerde bunların prototip olduğu söylenemez.
Herkesin farklı görevleri var, bu yüzden asenkronize oldum ve genel olarak her zaman asenkron veya threadler halinde yazmanın daha iyi olduğunu düşünüyorum.
ve her zaman asenkron yazma alışkanlığını geliştirmek, hızlı programlar yazmanıza ve bir uzman olarak seviyenizi yükseltmenize olanak sağlayacaktır.
Bu, geliştiricilerin kendilerinin ana ilkesidir, mql programlarının yürütme hızı, bu bizim her şeyimiz!
Mql'nin böyle bir fırsatı olmaması üzücü, bu nedenle yönetime standart mql işlevleri geliştirmesi için bir teklif yapıyorum.
asenkron programlama için, çünkü iş parçacıkları ve her şeyden önce güvenlikle ilgili sorunlar var.
Eşzamansız mod için güvenlik engeli olmadığını düşünüyorum.
Döngü döngülerinin uygulanması üzerinde çalışın ve bu döngülerdeki görevleri yürütün.
Yöntemleri yürütmek istediğinize eşzamansız veya çok iş parçacıklı olarak zaten karar verdiniz. Soketlerle çalışıyorum, örneğin mql'den eşzamansız olarak.
Karar vermek için öncelikle mql'de nelerin kullanılabileceğini ve nelerin yasak olduğunu anlamanız gerekir.
Dahil edilenlerde CreateThread() bulundu, bu yüzden threadlerle çalışmanın mümkün olduğunu düşündüm.
Ancak ortaya çıktığı gibi, iş parçacıkları yasaktır, o zaman seçim eşzamansızlığa düşer, ancak mql'den eşzamansızlığın nasıl kullanılacağı da açık değildir.
Evet, sadece soketlerle ilgili bir sorun. Yardım, örneğin ABD hisse senetlerinde bilgi alımını sınırlayan 128'den fazla yuva oluşturamayacağınızı söylüyor.
Ve bu 128 soket bile, gelen verilerin işlenmesinde gecikme olmaması için onları asenkron moda nasıl aktaracakları net değil.
Bu nedenle soruna farklı bir şekilde çözüm aramak zorunda kaldım ama kendi kendine yazılan dll'ler olmadan saf WinAPI üzerinde çözmek istedim .
Ama mql'de asenkron olarak nasıl çalışılır zaten ilginç, çalışan örnekler varsa bilgi paylaşırsanız bunları tartışmak fena olmaz.
Ancak mql yardımında herhangi bir standart eşzamansız yöntem görmüyorum.
Karar vermek için öncelikle mql'de nelerin kullanılabileceğini ve nelerin yasak olduğunu anlamanız gerekir.
Dahil edilenlerde CreateThread() bulundu, bu yüzden threadlerle çalışmanın mümkün olduğunu düşündüm.
Ancak ortaya çıktığı gibi, iş parçacıkları yasaktır, o zaman seçim eşzamansızlığa düşer, ancak mql'den eşzamansızlığın nasıl kullanılacağı da açık değildir.
Evet, sadece soketlerle ilgili bir sorun. Yardım, örneğin ABD hisse senetlerinde bilgi alımını sınırlayan 128'den fazla yuva oluşturamayacağınızı söylüyor.
Ve bu 128 soket bile, gelen verilerin işlenmesinde gecikme olmaması için onları asenkron moda nasıl aktaracakları net değil.
Bu nedenle soruna farklı bir şekilde çözüm aramak zorunda kaldım ama kendi kendine yazılan dll'ler olmadan saf WinAPI üzerinde çözmek istedim .
Ama mql'de asenkron olarak nasıl çalışılır zaten ilginç, çalışan örnekler varsa bilgi paylaşırsanız bunları tartışmak fena olmaz.
Ancak mql yardımında herhangi bir standart eşzamansız yöntem görmüyorum.
Akıllı katılımcıları okuyorum ve kafam karıştı ...
Ve neden tüm bu çanlar ve ıslıklar?
MQL'de çok iş parçacığının ne zaman çok gerekli olacağı konusunda bir örnek verebilir misiniz? Benim için tek uygulama, oldukça normal olarak düzenli yollarla uygulanan test stratejileridir.
Teorik olarak, birkaç WebRequest'i çalıştırmak mantıklı olabilir, ancak bence çoklu kullanım hiç gerekli değildir.
Hangi görevler doğrudan çoklu kullanım gerektirir?