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
...
Bu konuyu gündeme getirmeniz iyi ve güzel, ancak hedefe nasıl ulaşılacağı konusunda çözüm ve hatta öneri sunmaya istekli değillerse, bu konuda şikayet etmenin kimseye bir faydası yok.
...
Aslında pfx'in bunu gündeme getirmesi ve şikayet etmesi iyi bir şey ve MetaQuotes bu sorunu çözmeli, çünkü MetaTrader'ı hepimizden daha iyi biliyorlar (bu arada, bu makalenin yazarı Renat Fatkhullin aynı zamanda MetaQuotes'un CEO'sudur). Birinin bunu gündeme getirmesi, onun soruna bir çözümü olduğu anlamına gelmez.
Ve.dll aslında her tikte çağrılırken "Seyrek çağrı yapmak daha iyidir" demenin mantıklı olmadığına katılıyorum.Ve bunu MetaQuotes CEO'sundan duymak güzel, dürüstlük bugünlerde bir değişiklik için iyidir.
pfx, alıntıladığınız paragrafı değiştirmişler gibi görünüyor ...
5. DLL çağrıları sarmalayıcı ve çağrılarda hız kaybı
Yukarıda açıklandığı gibi, DLL işlevlerinin her çağrısı, güvenliği sağlamak için özel bir sarmalayıcıya sarılır.
Bu bağlayıcı temel kodu maskeler, yığının yerini alır, stdcall / cdecl anlaşmalarını destekler ve çağrılan işlevler içindeki istisnaları izler.
Bu çalışma kaçınılmaz olarak çağıran fonksiyonun gecikmesine yol açar.
Bu nedenle, küçük işlemler için çok sık DLL işlev çağrıları (saniyede yüzlerce veya binlerce kez) yapılması önerilmez.
Seyrek çağrılar yapmak daha iyidir.
...buna ...
5. DLL çağrıları sarmalayıcı ve çağrılarda hız kaybı
Yukarıda açıklandığı gibi, DLL işlevlerinin her çağrısı, güvenliği sağlamak için özel bir sarmalayıcıya sarılır. Bu bağlayıcı temel kodu maskeler, yığının yerini alır, stdcall / cdecl anlaşmalarını destekler ve çağrılan işlevler içindeki istisnaları izler.
Bu iş hacmi, işlev çağrısında önemli bir gecikmeye yol açmaz.
Umarım bu .dll çağrı hızı sorununu gerçekten çözerler ve sadece soruları önlemek için makalenin bazı paragraflarını değiştirmezler.
Sorulardan bahsetmişken, umarım Renat Fatkhullin, pfx'in " Yani cidden bu nasıl bir ifade " sorusuna cevap vermek ister, çünkü Renat makalenin son satırında "İlginiz için teşekkür ederim! Her türlü soruyu yanıtlamaya hazırım" şeklinde bir ifade kullanmış olması ya da en azından paragrafın değiştirilmesi.
Biz de sizin cevabınızı duymak istiyoruz :).
Zamanım olduğunda bu konuda daha fazla yazacağım.
Renat bu makaleyi ne zaman yazdı bilmiyorum ama Microsoft artık Visual Studio 2005'i sunmuyor. Visual studio 2010 ve 2011 beta'yı sunuyorlar ve 2008'i terk etmek üzere gibi görünüyorlar.
Microsoft Visual Studio 2010 içinburaya tıklayın ve 2008 için buraya tıklayın. Yükleyici web yükleyicisidir, bu da yavaş internet bağlantınız varsa can sıkıcıdır. Çevrimdışı yükleyiciyi ISO görüntüsü olarak sunuyorlar ancak bu da Visual Studio C# ve Visual Basic içeriyor. Yükledikten sonra, her iki Studio da MB boyutunda büyük olan bazı güncellemeler gerektirir.
Visual Studio'yu yüklemekten hoşlanmayanlar için https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments adresine bakabileceğiniz başka alternatifler de var. Benim favorilerim NetBeans ve Code::Block. NetBeans Oracle tarafından destekleniyor ve Oracle Solaris Studio için temel oluşturuyor. Ancak NetBeans derleyici ile birlikte gelmiyor, bu yüzden yeni başlayanlar için can sıkıcı olabilecek Cygwin veya MinGW derleyicisini bulmanız gerekiyor. Ünlü DevC++'ın son kararlı sürümü 7 yıl önceydi, şimdi web sitesi ölü bağlantılarla dolu, artık kimse onlarla ilgilenmiyor gibi görünüyor, bu yüzden tavsiye etmeyeceğim.
Yine de Visual Studio kullanmak daha iyi, çünkü oynayabileceğiniz birçok seçenek var - nasıl yapılacağını biliyorsanız.
Sorulardan bahsetmişken, umarım Renat Fatkhullin, pfx'in " Yani cidden bu nasıl bir açıklama " sorusuna cevap vermek ister, çünkü Renat makalenin son satırında "İlginiz için teşekkür ederim! Her türlü soruyu yanıtlamaya hazırım" şeklinde bir ifade kullanması ya da en azından paragrafı değiştirmesi.
Çok iyi öğretici!
dosya referansı oluşturmam gerekiyor mu?
MT5'te işlevsel olmadığı için Fann2MQl.dll (http://fann2mql.wordpress.com adresinde belgelenmiştir) dosyasını değiştirmem gerekiyor. Bunun nedeni, MT5'te dosyaları istediğiniz yerde açamamanızdır. Varsayılan 2 yerde açılmaları gerekir (ileri mod ve test modu için).
Öyleyse soru, fopen yerine hangi işlevin çağrılacağı ve hangi başlık dosyasının dahil edileceğidir? Çünkü dosyaların MT5 içinden açılması gerekiyor gibi görünüyor. terminal.exe'yi atlayarak bir dosya açma girişimi (bir dll'den fopen kullanarak olduğu gibi), kullanılan terminal.exe başlatma moduna göre (simgeye tıklayarak veya /portable parametresiyle komut satırından) otomatik olarak Kurulum Dizinine veya Masaüstüne yönlendirilir.
Bu yönlendirme ayrıca tuhaftır, çünkü sonuçta dosyanın adı sadece ona giden yolun ilk satırındadır.
Nasıl 64 bit DLL oluşturulacağını veya MQL5'in 32 bit DLL yüklemesine nasıl izin verileceğini bilen var mı? DLL'im "64 bit olmadığı" için MQ5 test komut dosyamı yüklemiyor. Teşekkürler.
Bu durum düzeltilebilir, talimatlar burada: Çözüm Gezgini -> Çözüme Sağ Tıklayın -> Yapılandırma Yöneticisi -> Etkin çözüm platformu açılır menüsü -> x64'ü seçin -> Kapat'a tıklayın -> Çözümü Yeniden Oluşturun
Umarım bu yardımcı olur.
İyi şanslar.
Merhaba,
Bu, Microsoft Visual Studio 2013 Express sürümü tarafından üretilen DLL ile çalışmaz, eke bakın.
MSVCR120D_APP.DLL kütüphanesini bulamıyor gibi görünüyor ve KERNEL_32 ile ilgili bir sorun da var.
Benzer bir sorun yaşayan var mı? Bunu nasıl aşabilirim, lütfen?
Teşekkür ederim
mql5, geri arama işlevleri içeren içe aktarma dll'lerini destekliyor mu?
Örneğin:
Aşağıdaki fonksiyonu içeren tclient.dll adında bir dll var:
typedef TCLIENT_API void(*call_back)(Tick* p);
TCLIENT_API int sub_tick(CTX ctx, const char* insId, call_back f);
O zaman mql5'te sub_tick'i nasıl bildirmeli ve çağırmalıyım?
#import "tclient.dll"
//"sub_tick" işlevi nasıl bildirilir
#import
void ontick(Tick &ticks[])
{}
int OnInit()
{
//"sub_tick" işlevi nasıl çağrılır?
}