her tick için çağrı yaparken büyük bir yük oluşturmaz mı?????
Init'te veritabanına bağlanmak ve ardından erişim için tanımlayıcıyı kullanmak daha mantıklı olmaz mı?
Eugene, makale için teşekkürler. DBMS hakkında ilginç bir materyal.
Benim böyle bir sorunum var.
MetaTrader5, x64, 975 derlemem var.
"MySQL-001" komut dosyasını çalıştırırken bir hata alıyorum:
RL 1 12:41:22.443 MySQL-001 'C:\Program Files\MetaTrader5\MQL5\libraries\MQLMySQL.dll' is not 64-bit version PG 1 12:41:22.474 MySQL-001 (AUDCAD.e,M1) Cannot load 'C:\Program Files\MetaTrader5\MQL5\libraries\MQLMySQL.dll' DK 2 12:41:23.677 MySQL-001 (AUDCAD.e,M1) Cannot call 'cMySqlVersion', '..\libraries\MQLMySQL.dll' is not loaded ID 2 12:41:23.677 MySQL-001 (AUDCAD.e,M1) unresolved import function call
Nedeni, anladığım kadarıyla, sistem 64 bitlik bir kütüphane yüklemeye çalışıyor...
Eugene, makale için teşekkürler. DBMS hakkında ilginç bir materyal.
Benim böyle bir sorunum var.
MetaTrader5, x64, 975 derlemem var.
"MySQL-001" komut dosyasını çalıştırırken bir hata alıyorum:
Nedeni, anladığım kadarıyla, sistem 64 bitlik bir kütüphane yüklemeye çalışıyor ...
Evet, çoğunlukla 32 bit terminallerle çalıştığım için proje x32 için derlendi. Sorunu anlıyorum, önümüzdeki birkaç gün içinde MT5 x64 altında derleyip test edeceğim.
Yorum için teşekkürler.
Metatrader 5 için kütüphane sürümü - x64
- Proje MQLMySQL.DLL x64 için yeniden derlenmiştir (kaynaklar düzeltilmemiştir).
- Standart LibMySQL.DLL, en son kararlı MySQL dağıtımı v5.6.21 x64'ten alınmıştır
Aslında, projeyi MT5 x64 altında çalıştırmayı deneyenler için, yalnızca MQL5\Libraries dizininin içeriğini değiştirebilirsiniz. MQL programlarının kaynak kodunun düzeltilmesine veya yeniden derlenmesine gerek yoktur.
Denis'e (denkir) yorumu için tekrar teşekkürler, x64 kullanıcılarını unutmuşum.
Okudum ve ağladım. Yazarla bir alıp veremediğim yok. Umarım eleştirileri uygun bir şekilde ele alır. Her neyse:
1. Onsuz her şey yolunda gidiyorsa, neden başka bir DLL şeklinde bir sarmalayıcı yazasınız ki? MQL dili, genellikle tırmıklara dönüşen bu tür koltuk değnekleri yazmak için geliştirme aşamasında değildir.
2. Tüm bu çalışmaların sonucunda neden gerekli her şeye sahip olan ve yazarın atıfta bulunduğu öncüllerin eksikliklerini ortadan kaldıran bir sınıf yazılmıyor?
3. Şunu özellikle belirtmek isterim:
string SQL; SQL = "INSERT INTO EURUSD(Ask,Bid) VALUES (1.3601,1.3632);"; SQL = SQL + "INSERT INTO EURUSD(Ask,Bid) VALUES (1.3621,1.3643);"; SQL = SQL + "INSERT INTO EURUSD(Ask,Bid) VALUES (1.3605,1.3629);";
Aslında her şey çok daha basit:
string SQL="INSERT INTO EURUSD(Ask,Bid) VALUES (1.3601,1.3632),(1.3621,1.3643),(1.3605,1.3629);";
Makale genel olarak "Bakın ve nasıl yapılması gerektiğini öğrenin" yerine "Bakın ben neler yapabiliyorum!" tarzında yazılmış.
Okudum ve ağladım. Yazarla bir alıp veremediğim yok. Umarım eleştirileri uygun bir şekilde ele alır. Her neyse:
1. Onsuz her şey yolunda gidiyorsa, neden başka bir DLL şeklinde bir sarmalayıcı yazasınız ki? MQL dili, genellikle tırmıklara dönüşen bu tür koltuk değnekleri yazmak için geliştirme aşamasında değildir.
2. Tüm bu çalışmaların sonucunda neden gerekli her şeye sahip olan ve yazarın atıfta bulunduğu öncüllerin eksikliklerini ortadan kaldıran bir sınıf yazılmıyor?
3. Şunu özellikle belirtmek isterim:
Aslında her şey çok daha basit:
Yazı genel olarak "Bakın ve nasıl yapılması gerektiğini öğrenin" yerine "Bakın ben neler yapabiliyorum!" tarzında yazılmış.
Sırayla cevap vereceğim.
Projenin oldukça uzun zaman önce, MQL dilinin şu anki gelişim aşamasında olmadığı ve MQL4'ün sınıfları, yapıları olmadığı bir zamanda başlatıldığını söylemeliyim.
Ve yazılım çözümünün hem MQL4 hem de MQL5 için çalışması ve MQL4'ten MQL5'e geçiş için (gerekirse) minimum maliyete sahip olması gerekiyordu. Proje yakın zamana kadar tamamlanmak üzereydi.
Bu nedenle proje bir sınıf olarak uygulanmadı. Bir sınıf mı istiyorsunuz? Sorun değil - yazın! Kimse sizi yasaklamıyor.
Şimdi bir yerine 3 INSERT ile ilgili. Aşağıdaki nedenlerden dolayı bu şekilde yazdım (ve telif hakkı saklıdır):
- genel kabul görmüş SQL'92, SQL'2000 standartlarını ihlal etmiyor (sizin varyantınız - sözdiziminin özellikleri tam olarak MySQL toplu ekleme);
- bu alanda acemi bir programcının okuması ve anlaması daha kolay olacaktır;
- bir değil, tam olarak 3 INSERT talimatının yürütülmesinin gösterilmesi.
Çoklu ifadeler herhangi bir DML/DDL/DCL işlemini içerebilir, örneğiniz tek bir tablo üzerinde INSERT işlemi ile sınırlıdır.
Not: Makale "Al ve kullan" tarzında yazılmıştır.
Teşekkürler! Çözümünüzü derinlemesine inceleyeceğim, yalnızca MQL'e güvenmekten daha kararlı olabilir.
Bilginiz olsun, bir süre önce MT4 build 600+ için yazdığım sadece MQL4'e özel bir köprü var: https://www.mql5.com/tr/code/11114

- oylar: 12
- 2014.02.10
- Sergey
- www.mql5.com
Teşekkürler! Çözümünüzü derinlemesine inceleyeceğim, yalnızca MQL'e güvenmekten daha kararlı olabilir.
Bilginiz olsun, bir süre önce MT4 build 600+ için yazdığım sadece MQL4'e özel bir köprü var: https://www.mql5.com/tr/code/11114
Bu makaleyi okuyarak zaman ayırdığınız için teşekkürler. Ayrıca(https://www.mql5.com/tr/code/11114) adresinizi de kontrol ettim, böyle bir çözümü uzun zaman önce buldum (MT4 yapı 600'den önce) ve MQL ve MySQL dostu yapma fikrini beğendim. Ancak kullanmak istemediğim tek şey, verileri veritabanından almak için diziler. Bu yüzden bu çözümü MT4 ve MT5 ile kullanmak için oluşturdum.
Ayrıca, x64 tabanlı projeyi makaleye eklemeyi unuttum, bu yüzden tartışmada buradan indirebilirsiniz. Kaynaklarda hiçbir şey değiştirilmedi, sadece DLL x64 için yeniden derlendi.
İyi şanslar,
Eugene

- oylar: 12
- 2014.02.10
- Sergey
- www.mql5.com

- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Yeni makale MQL5'ten (MQL4) MySQL Veritabanına Nasıl Erişilir yayınlandı:
Makale, MQL ve MySQL veritabanı arasında bir arayüzün geliştirilmesini açıklar. Mevcut pratik çözümleri tartışır ve veritabanlarıyla çalışmak için bir kitaplık uygulamanın daha uygun bir yolunu sunar. Makale, MySQL ile çalışmanın işlevleri, arayüz yapısı, örnekleri ve bazı belirli özelliklerinin ayrıntılı bir açıklamasını içerir. Yazılım çözümlerine gelince, makale ekleri, MQL4 ve MQL5 dilleri için dinamik kitaplıkların dosyalarını, dokümantasyonu ve script dosyası örneklerini içerir.
MetaTrader terminali (MQL programları aracılığıyla) arasındaki etkileşim, aşağıdaki bileşenlerin yardımıyla uygulanabilir:
Arabirim kitaplığı MQLMySQL.mqh. #include dizini kullanılarak projeye eklenir ve zevkinize göre değiştirilebilir.
MQLMySQL.dll dinamik kitaplığının içe aktarma işlevlerinin yanı sıra bunları çağırma ve hataları işleme işlevleri için yönergeleri içerir.
Yazar: Eugeniy Lugovoy