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 yeni yaklaşım için teşekkürler! Farklı çözümler denedim ancak şu ana kadar en iyisi bu gibi görünüyor. Kütüphanenize mysql_num_fields kullanarak bir SELECT sorgusu için alan sayısını döndürdüğüm küçük bir ekleme yaptım, böylece MQL tarafında kaç alanı işlemem ve döndürmem gerektiğini biliyorum. Bunu bir araya getirdiğiniz için tekrar çok teşekkürler, gerçekten yardımcı oldu!!!
MQL Kodu:
Bu yeni yaklaşım için teşekkürler! Farklı çözümler denedim ancak şu ana kadar en iyisi bu gibi görünüyor. Kütüphanenize mysql_num_fields kullanarak bir SELECT sorgusu için alan sayısını döndürdüğüm küçük bir ekleme yaptım, böylece MQL tarafında kaç alanı işlemem ve döndürmem gerektiğini biliyorum. Bunu bir araya getirdiğiniz için tekrar çok teşekkürler, gerçekten yardımcı oldu!!!
Nazik sözleriniz için teşekkürler. Bu temel bir çözüm ve gerçekte kullandığım genel işlevselliği koruyor.
Bu çözümü geliştirirken sonraki kuralları kullandım: sağlamlık, çalışması kolay, kullanımı basit ve minimum destek.
Elbette, bu projeyi değiştirebilir ve proje ihtiyaçlarınızla ilgili herhangi bir ek fonksiyon ekleyebilirsiniz.
İyi şanslar,
Eugene
Merhaba arkadaşlar,
Bu çözümü beğendiyseniz ve gerçek projeler için deniyorsanız (sadece eğlence için değil) bir güncellemem var.
MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL gibi farklı veritabanları ile çalışma hakkında yeni bir makale yazmaya başlıyorum.
Karar bunun gibi sağlam ve kullanımı kolay olacaktı, ancak bunu tamamlamak için zamanım yok.
Eğer bu projeyi desteklemek istiyorsanız paypal üzerinden bana birkaç dolar gönderebilir misiniz: e.a.lugovoy@gmail.com
Meblağın miktarı önemli değil, sadece böyle bir kararın gerçekten tamamlanması gerekip gerekmediğini bilmek istiyorum.
Hepinize teşekkür ederim,
Eugene
merhaba,EugeniyLugovoy~
Neden ' MySqlGetFieldAsDouble(Cursor, 3);' değerini veri[i]yeyazamadığını bilmekistiyorum?
Print("veri[i]",veri[3]);--her zaman 0.0 displa. sorun nedir? teşekkür ederim efendim!
for (i=0; i<Satırlar; i++)
if (MySqlCursorFetchRow(Cursor))
{
double veri[] ;
ArrayResize(data,Rows);
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("veri[i]",veri[3]);
}
Merhaba arkadaşlar,
Bu çözümü beğendiyseniz ve gerçek projeler için deniyorsanız (sadece eğlence için değil) bir güncellemem var.
MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL gibi farklı veritabanları ile çalışma hakkında yeni bir makale yazmaya başlıyorum.
Karar bunun gibi sağlam ve kullanımı kolay olacaktı, ancak bunu tamamlamak için zamanım yok.
Eğer bu projeyi desteklemek istiyorsanız paypal üzerinden bana birkaç dolar gönderebilir misiniz: e.a.lugovoy@gmail.com
Meblağın miktarı önemli değil, sadece böyle bir kararın gerçekten tamamlanması gerekip gerekmediğini bilmek istiyorum.
Hepinize teşekkür ederim,
Eugene
merhaba,EugeniyLugovoy~
Neden 'MySqlGetFieldAsDouble(Cursor, 3);' değerini veri[i]ye yazamadığını bilmek istiyorum?
Print("veri[i]",veri[3]);--her zaman 0.0 displa. sorun nedir? teşekkür ederim efendim!
for (i=0; i<Satırlar; i++)
if (MySqlCursorFetchRow(Cursor))
{
double veri[] ;
ArrayResize(data,Rows);
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("veri[i]",veri[3]);
}
Döngüde her seferinde dizi tanımlamaya ve boş dizi öğesi yazdırmaya çalışıyorsunuz.
Bunu deneyin:
Bu nedenle, döngüyü getirmeden önce diziyi bir kez tanımlamanız, ardından yeniden boyutlandırmanız ve ardından verileri almak için rutin yazmanız gerekir.
Bu arada, MySqlGetFieldAsDouble(Cursor ,3); içindeki 3 sayısı SELECT listesindeki 4. sütun anlamına gelir, çünkü numaralandırma 0 ile başlar, yani SELECT Open, High, Low, Close FROM ... 0 - Open, 1 - High, 2 - Low ve 3 - Close anlamına gelir.
Umarım bu yardımcı olur.
Saygılar,
Eugene
Döngüde her seferinde dizi tanımlamaya ve boş dizi öğesi yazdırmaya çalışıyorsunuz.
Bunu deneyin:
Bu nedenle, döngüyü getirmeden önce diziyi bir kez tanımlamanız, ardından yeniden boyutlandırmanız ve ardından verileri almak için rutin yazmanız gerekir.
Bu arada, MySqlGetFieldAsDouble(Cursor ,3); içindeki 3 sayısı SELECT listesindeki 4. sütun anlamına gelir, çünkü numaralandırma 0 ile başlar, yani SELECT Open, High, Low, Close FROM ... 0 - Open, 1 - High, 2 - Low ve 3 - Close anlamına gelir.
Umarım bu yardımcı olur.
Saygılar,
Eugene
yardımınız için teşekkürler efendim,Dizi ile ilgili sorunlarımı çözdüm。Mysql-mql konusunda gerçekten iyi bir iş çıkardınız~!
Merhaba elugovoy
Harika makale ve harika kütüphaneler.
Örneklerinizi MT5 altında kullanmaya çalışıyorum ancak bu hatayı alıyorum:
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' 64 bit sürüm değil
MT5'i 32 bit env altında mı çalıştırıyorsunuz?
Lütfen bana bu konuda yardımcı olur musunuz?
Çok teşekkür ederim!
Carmine Marrone
Merhaba elugovoy
Harika makale ve harika kütüphaneler.
Örneklerinizi MT5 altında kullanmaya çalışıyorum ancak bu hatayı alıyorum:
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' 64 bit sürüm değil
MT5'i 32-bit env altında mı çalıştırıyorsunuz?
Lütfen bana bu konuda yardımcı olur musunuz?
Çok teşekkür ederim!
Carmine Marrone.
Merhaba Carmine
Yukarıdaki tartışmada x64 için proje ekledim, bu yazıdan bir göz atın ve / veya indirin.
Umarım bu yardımcı olur.
Saygılar,
Eugene