MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1177
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Dizeyi #define str "long long string " olarak veya hatta + veya bir string işlevi aracılığıyla iki dize olarak kaydırmaya çalışmak yerine.
Sonuçta Yorum satırın uzunluğunda da sınırlıdır, ancak o kadar çok değişken koyabilirsiniz ki monitöre sığmaz birkaç satırda.
Teşekkürler, azaltma gerçekten işe yarıyor, derleyici gerçekten anlıyor, ancak @ ile dekore edilmiş işlevleri (sanırım buna öyle diyorlar) kabul etmiyor. Ve eski derleyici bu tür işlevleri kabul eder, ancak tam anlamıyla alarak içe aktarmak için ikame eklemez. İşlevleri dll belgelerindeki gibi içe aktarırsanız, yani. "TRANS2QUIK_CONNECT" ve " _TRANS2QUIK_CONNECT@16" değil, 2(TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND) döndürür. Ne farkı var anlamadım.
Teşekkürler, azaltma gerçekten işe yarıyor, derleyici gerçekten anlıyor, ancak @ ile dekore edilmiş işlevleri (sanırım buna öyle diyorlar) kabul etmiyor. Ve eski derleyici bu tür işlevleri kabul eder, ancak tam anlamıyla alarak içe aktarmak için ikame eklemez. İşlevleri dll belgelerindeki gibi içe aktarırsanız, yani. "TRANS2QUIK_CONNECT" ve " _TRANS2QUIK_CONNECT@16" değil, 2(TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND) döndürür. Ne farkı var anlamadım.
Bununla ilgili belgelerde nerede yazıyor bilmiyorum ama dizedeki özel karakterden önce bir eğik çizgi olmalı. Bu nedenle, örneğin adres dizesi şöyle görünmelidir: С:\\klasör\\dosya
Yani şöyle yazmayı deneyin: " _TRANS2QUIK_CONNECT\@16"
Genel olarak, .dll ile arkadaş değilim. Bu işe yaramazsa, o zaman...
@Maxim Kuznetsov dll'yi WinHex ve Dependency Walker'da açtı, Sıralama, İpucu, İşlev, Giriş Noktası veriyor ve ( _TRANS2QUIK_CONNECT@16) gibi işlevlerin adlarını veren oydu. eski derleyici onlarla birlikte çalışır ve sonuç dll'sini geri verir. Bu sembolik isimlerden mi bahsediyorsunuz?
@Alexey Viktorov Ben kendim programlamada bir meslekten değilim, ancak daha önce fikirlerimi yapmak için mütevazı bir bilgi yeterliydi. Kaçış \\ başarısız olur.
Python'da otomatik bir proxy dll oluşturucu bulundu https://github.com/mavenlin/Dll_Wrapper_Gen . Aslında benim için birleştirilmiş dll'deki sadece fonksiyonların isimlerini değiştirmenin uygun olduğunu düşündüm. Değişiklik yapmadan derlemeye çalıştım, derleyici işlev adlarında @'ye yemin ediyor. Oluşturulan cpp parçası
Oluşturulan def dosyasının parçası
_TRANS2QUIK_CONNECT@ 16 _wrapper'ın proxy dll'sinden görünecek işlevlerin adı olduğunu anlıyorum. Bu nedenle, CONNECT olarak kısalttım. Dll oluşturuldu ancak terminal TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND gösteriyor. Beynime uymuyor gibi. Ticaret sistemini manuel olarak kontrol etmeniz ve ardından dll'yi sipariş etmeniz gerekecektir.
@Maxim Kuznetsov dll'yi WinHex ve Dependency Walker'da açtı, Sıralama, İpucu, İşlev, Giriş Noktası veriyor ve ( _TRANS2QUIK_CONNECT@16) gibi işlevlerin adlarını veren oydu. eski derleyici onlarla birlikte çalışır ve sonuç dll'sini geri verir. Bu sembolik isimlerden mi bahsediyorsunuz?
@Alexey Viktorov Ben kendim programlamada bir meslekten değilim, ancak daha önce fikirlerimi yapmak için mütevazı bir bilgi yeterliydi. Kaçış \\ başarısız olur.
Python'da otomatik bir proxy dll oluşturucu bulundu https://github.com/mavenlin/Dll_Wrapper_Gen . Aslında benim için birleştirilmiş dll'deki sadece fonksiyonların isimlerini değiştirmenin uygun olduğunu düşündüm. Görsel stüdyo için bir proje yaptı. Değişiklik yapmadan derlemeye çalıştım, derleyici işlev adlarında @'ye yemin ediyor. Oluşturulan cpp parçası
Oluşturulan def dosyasının parçası
_TRANS2QUIK_CONNECT@ 16 _wrapper'ın proxy dll'sinden görünecek işlevlerin adı olduğunu anlıyorum. Bu nedenle, CONNECT olarak kısalttım. Dll oluşturuldu ancak terminal TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND gösteriyor. Beynime uymuyor gibi. Ticaret sistemini manuel olarak kontrol etmeniz ve ardından dll'yi sipariş etmeniz gerekecektir.
Bunca zamandır terminalin ve DLL'nin bit derinliği hakkında tek kelime etmediniz. Ve önemli mi?
@Koldun Zloy Trans2QuikAPI_1.2'yi denedi , mt4 ve quik 7 ile 32 bit ve ayrıca mt5 ve quik 8 ile Trans2QuikAPI_1.3_x64, sadece 64 bit gibi. Hızlı olarak, harici işlemleri etkinleştirdim. İşlevi doğru şekilde içe aktarmadığımı düşündüm. kendim yazdım
Eşdeğer veri türleri gibi. Sonuçta, doğru olmasaydı, bence öyle, eski derleyici ile çalışmayacaktı.
Belirli bir anda test hızının düşmesi gerekir. Tüm o anları elle yakalamak zor...
Merhaba! MQL5'te arka plan ve butonlardan oluşan bir panel oluşturdum. Panel sürüklenirken sadece arka plan hareket eder, butonlar yerinde kalır ve sadece bir sonraki tıklamada butonlar arka planın arkasından doğru yere hareket eder. Lütfen bana düğmelerin ve arka planın aynı anda nasıl hareket ettirileceğini söyle. Şimdiden teşekkür ederim!
Bir test cihazından mı bahsediyorsunuz yoksa çevrimiçi mi?
çevrimiçiyse - move olayının normal şekilde iletilmediği koda bakın. Bu arada sitede sadece beş farklı kütüphane var, neden bahsediyorsunuz?
Ve test cihazında - hiçbir şekilde görünmüyor ve neden.