
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
Pekala, şöyle söyleyelim, listelediğiniz şeylerin hiçbiri mql5 araçlarıyla ilgili değil :) Ve bu sorunun nasıl çözüleceği (bypass) ile ilgili değildi. Her zaman bir çıkış yolu bulabilirsiniz, buna hiç şüphe yok. Ve konuşma, saptırmak zorunda kalmamak için neden mql5'e uygun işlevselliği eklemediğinizle ilgili.
MQL5 ihtiyacınız olan her şeye sahiptir, sadece nasıl kullanılacağını öğrenmeniz yeterlidir.
Hesaplamaların bir kısmını göstergeye aktarın ve EA'dan çalıştırın.
Ve hiç kimse 2 düzine (iyimser olarak) kullanıcı için düzenli paralelleştirme yapmayacaktır.
Yani çoklu kullanım için komut dosyaları var. Ve test cihazında gerekli değil
Bir uzmandan komut dosyası nasıl çalıştırılır?
Hesaplamaların bir kısmını göstergeye aktarın ve EA'dan çalıştırın.
Yine, bana teflerle dans etmekten bahsediyorsun. Normal uygulama ile ilgiliydi.
Ve hiç kimse 2 düzine (iyimser olarak) kullanıcı için düzenli paralelleştirme yapmayacaktır.
Başlangıçta bana MQL5, mql4'ün aksine az çok kalifiye programcılar için bir dil olarak konumlandırılmış gibi geldi. Bu, algoritmayı optimize etme, birkaç iş parçacığına paralel hale getirme konusunun oldukça günlük bir gereklilik olması gerektiği anlamına gelir. Bu nedenle konunun en başında bu noktaya dikkat çektim. Ve Renat nedense buna çok acı bir tepki verdi.
Buradaki birçok kişinin önerdiği gibi, optimizasyon sorununu sürekli olarak tek bir yerden çözmek, yapmak istediğiniz şey değil.
Ayrıca en başta onlardan düzenli paralelleştirme yapmalarını istemediğimi söyledim. WinApi kullanarak her şeyi kendim paralel hale getirebiliyorum. Gerekli olan tek şey işlevin adresidir. Bu yüzden sadece fonksiyon işaretçileri eklemek istedim. Tabii ki, __stdcall yönergesini desteklemek de arzu edilir, ancak bu da isteğe bağlıdır, gerekli manipülasyonları kendi başınıza yapabilirsiniz.
İşlev işaretçileri aslında çok kullanışlı bir şeydir. Bunları iş parçacığı oluşturmak için kullanmak, birçok kullanımdan yalnızca biridir. Aynı zamanda, örneğin, çeşitli asenkron işlemlerde bir geri çağırma işlevi ayarlamak için de kullanılırlar. Ek olarak, DLL'nize aktarırken son derece yararlı olacaklar, bu da DLL ile onu içe aktaran Uzman Danışman arasındaki bağlantıyı basitleştiriyor, yani. aslında tam bir entegrasyon var. Yürütme sırasında DLL doğrudan MQL işlevini çağırabilir ve ondan gerekli bazı bilgileri alabilir. Ve şimdi, bunu yapmak için, bir Uzman Danışmanın başlatılmasını tetikleyen bir tür olay (örneğin bir kene) oluşturmanız gerekir, bu da daha sonra gerekli bilgileri DLL'ye aktaracaktır... Genel olarak, ekstra hemoroidler ve zaman kaybı
- Dile çoklu iş parçacığı eklemek, çoklu iş parçacığını destekleyen özel bir API oluşturmayı içerir.
- MQL5 derleyici optimize ediciyi yeniden yazmamız gerekecek - aslında, optimizasyonları kötüleştiriyor.
- Bu, ince kullanıcı hatalarının yeridir.
Ve son olarak, çok az sayıda kullanıcının buna ihtiyacı yoktur ve destek eksikliği atlanabilir.bu da böyle bir destek olmadan API'den daha yavaş çalışacaktır, umarım bu açıktır (kilitler, vb.).
İşlev işaretçileri hakkında.
Soru, MQL5 kodu içinde kullanımlarına açıktır.
Ne yazık ki, işaretçiyi DLL'ye geçirmek işe yaramayacak - x86 / x64 çapraz platform uğruna, çağrı kuralını feda etmek zorunda kaldık.
Çoklu kullanım hakkında.
Bir kişi teorik akıl yürütme uğruna basitçe troller (bana öyle geldi ki, dilin ... olduğunu düşündüm) ve dilin uygulamalı doğasını veya çoklu okumanın sonuçlarını anlamıyor.
Aslında paralellik için gerçek bir görevi bile yok.
mql5 :
...Ну и последнее, нужно это не очень малому числу пользователей и отсутствие поддержки можно обойти .
Script kullanma fikrini beğendim ama bunları Expert Advisor'dan nasıl çağırabilirim?
Script kullanma fikrini beğendim ama bunları Expert Advisor'dan nasıl çağırabilirim?
Ancak, bir uzman yerine bir komut dosyası eklerseniz, grafik şablonu aracılığıyla bir yol vardır.
Böyle bir şablonu yeni bir grafiğe uygularken, bir komut dosyası başlatılır (ancak bu, bir gün olmayabilecek "belgelenmemiş bir özellik"tir)...
Senin görevin nedir?
Bir Etkinlik aldıktan sonra işini yapacak olan bir sonraki çizelgede çalışan bir Uzman Danışman neden hazır olmasın?
EX5 dosyalarının korunması nedeniyle yeni bir MQL5 programının başlatılması pahalıdır.
Ne yazık ki, MQL5'ten komut dosyalarının başlatılması sağlanmamıştır.
Ancak, bir uzman yerine bir komut dosyası eklerseniz, grafik şablonu aracılığıyla bir yol vardır.
Böyle bir şablonu yeni bir grafiğe uygularken, bir komut dosyası başlatılır (ancak bu, bir gün olmayabilecek "belgelenmemiş bir özellik"tir)...
Senin görevin nedir?
Bir Etkinlik aldıktan sonra işini yapacak olan bir sonraki çizelgede çalışan bir Uzman Danışman neden hazır olmasın?
EX5 dosyalarının korunması nedeniyle yeni bir MQL5 programının başlatılması pahalıdır.
Analiz edilmesi gereken binlerce grafik nesnem var: gereksiz olanları silin, özellikleri değiştirin, istatistikleri hesaplayın, vb. Bir tabloda bile frenler var, peki ya onlardan birkaç tane varsa?
Grafik nesnelerle çalışma sorunu algoritmik olarak çözülmelidir. Nesneleri değiştirmek ve okumak için komutları dikkatli ve karıştırmayın. Örneğin 1000 defa okuyup 1000 defa yazmak 1000 defa okuyup yazmaktan çok daha hızlı olacaktır.
Çoklu kullanım hakkında.
- Dile çoklu iş parçacığı eklemek, çoklu iş parçacığını destekleyen özel bir API oluşturmayı içerir.
- MQL5 derleyici optimize ediciyi yeniden yazmamız gerekecek - aslında, optimizasyonları kötüleştiriyor.
- Bu, ince kullanıcı hatalarının yeridir.
Ve son olarak, çok az sayıda kullanıcının buna ihtiyacı yoktur ve destek eksikliği atlanabilir.bu da böyle bir destek olmadan API'den daha yavaş çalışacaktır, umarım bu açıktır (kilitler, vb.).
İşlev işaretçileri hakkında.
Soru, MQL5 kodu içinde kullanımlarına açıktır.
Ne yazık ki, işaretçiyi DLL'ye geçirmek işe yaramayacak - x86 / x64 çapraz platform uğruna, çağrı kuralını feda etmek zorunda kaldık.