Kütüphaneler: AdoSuite v 1.0 - sayfa 3

 

Merhaba Alexander,

Bu kütüphaneleri kullanıma sunduğunuz için teşekkürler. Her nasılsa, onları yüklemeyi ve bazı örneklerinizi çalıştırmayı denedim, ancak aynı sorunu tekrar tekrar yaşadım. Komut dosyalarından birini çalıştırmaya çalıştığımda hata mesajı alıyorum:

2011.03.11 09:06:22 1 Kayıt ekleniyor (GBPUSD,H1) 'C:\Program Files\MetaTrader 5\MQL5\Libraries\AdoSuite.dll' açılamıyor (14001)

AdoSuite.dll doğru dizinde, .NET 2.0 framework yüklü, tüm talimatlarınızı izledim, ancak yine de, yalnızca kütüphanenizi dahil ettiğim en basit komut dosyasında bile her zaman bu hatayla karşılaşıyorum.


Bunun nereden kaynaklanabileceğine dair bir fikriniz var mı? (bu arada sorun ADOSuite.dll'in dizinde olmamasından kaynaklanmıyor: dll'i dizinden kaldırırsam hata farklı bir hata oluyor: "AdoSuite.dll'(126) açılamıyor")

Neil.

Not: Aşağıdaki kadar basit bir komut dosyası bile aynı 14001 hatasıyla başarısız oluyor. DLL'inizin diğer DLL'leri 'görmesi' gerekiyor olabilir mi?

//+------------------------------------------------------------------+

//|                                                      TestADO.mq5 |

//|                        Copyright 2011, MetaQuotes Software Corp. |

//|                                              http://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright 2011, MetaQuotes Software Corp."

#property link      "http://www.mql5.com"

#property version   "1.00"

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+

#include <Ado\Providers\OleDb.mqh>

void OnStart()

  {

   Comment("Test");

  }

//+------------------------------------------------------------------+

 

Merhaba,

Muhtemelen terminalinizin veri dizini ile ilgili bir sorunla karşı karşıyasınız. MT5'in kullandığı 3 konum vardır:

  • TERMINAL_PATH
  • TERMINAL_DATA_PATH
  • TERMINAL_COMMONDATA _PATH

 

Merhaba Alexander,

tüm dosyaları doğru kopyaladım, ancak hata alıyorum:


'CAdoRecord::Values' - korumalı üye işlev çağrılamıyor DbDataAdapter.mqh 108 23

bu include'lerden birini include ettiğimde:

#include <Ado\Providers\OleDb.mqh>
#include <Ado\Providers\Odbc.mqh>
#include <Indicators\BsvSqlServer.mqh>

'CAdoRecord::Values'u public yaparsam, EA betiğimi çalıştırırken başlatma başarısız oldu hatası alıyorum.

Yardım edebilir misiniz?

Teşekkürler


Tamam, çözdüm. 64bot ile eşleştirme yaptım ve hatasız başladı.

 
Bu kütüphaneyi, parametreli INSERT ile bir tablo alanına NULL eklenmesini zorlamak için nasıl kullanabilirim? Ne kadar denersem deneyeyim, bana 0 eklemeye çalışıyor.
 

Bana sorunun ne olabileceğini söyleyebilir misiniz?

Derlerken bir uyarı oluşturur:

const niteleyicisi ile farklı, CAdoRecord::Compare işlevi CObject::Compare'i geçersiz kılıyor AdoRecord.mqh 61 54

ve hata:

'=' - const göstericiden const olmayan göstericiye dönüştürülemiyor AdoRecord.mqh 80 19

 
SergeyVS:

Bana sorunun ne olabileceğini söyleyebilir misiniz?

Derlerken bir uyarı oluşturur:

const niteleyicisi ile farklı, CAdoRecord::Compare işlevi CObject::Compare'i geçersiz kılıyor AdoRecord.mqh 61 54

ve hata:

'=' - const göstericiden const olmayan göstericiye dönüştürülemiyor AdoRecord.mqh 80 19

AdoRecord.mqh dosyasının 62 ve 82. satırlarında, CAdoRecord::Compare yönteminin bildiriminden ve uygulamasından "const" ifadesini kaldırmanız gerekir.

62: virtual int Compare(const  CObject* node, int mode = 0);

82: int CAdoRecord::Compare(const CObject* node, int mode = 0)
Kodlar güncellenmiştir.
 

Lütfen bana aşağıdaki sorunu nasıl çözeceğimi söyleyebilir misiniz: AdoSuite.dll '64 bit sürümü değil. Ve çalışmak istemiyor....

Şimdiden teşekkürler!

 
Alex_L:

Lütfen bana aşağıdaki sorunu nasıl çözeceğimi söyleyebilir misiniz: AdoSuite.dll '64 bit sürümü değil. Ve çalışmak istemiyor....

Şimdiden teşekkürler!

Projeyi 64 bit platform için yeniden derleyin. Ancak başka sorunlar da var, herhangi bir örneği başlatırken şöyle yazıyor: geçersiz EX5 dosyası (8)

 
Projenin yazarı hala hayatta mı? X64 için çalışan bir sürümü var mı?
[Silindi]  

Belki birilerinin işine yarar diye linki burada yayınlayacağım:

MT4-ODBC Köprüsü

https://github.com/onagano/mt4-odbc-bridge

Bu, ODBC arayüzü aracılığıyla ilişkisel bir veritabanına erişim sağlamak için popüler ticaret terminali MetaTrader4 (MT4) için bir kütüphanedir. Ana özellikler aşağıdaki gibidir.

  • Fiyat verilerinin kaydedilmesi
  • Ticaret durumunu senkronize etme
  • Emirlerin yerine getirilmesi

MT4, algoritmik ticaret için kendi programlama dili olan MQL4'e sahiptir. Öğrenmesi kolay olsa da ifade gücü çok sınırlıdır. Daha sofistike algoritma yürütmek isteyen kişiler, genellikle DLL'leri kullanarak MT4'ün dışına başvurma eğilimindedir. Ancak DLL'lerin yerel programlaması, son açık kaynak hareketinin ana akım programcılarına aşina olmayan Windows platformuyla sınırlıdır.

MT4-ODBC Köprüsü (kısaca MOB) MySQL, PostgreSQL, SQLite, vb. gibi bir RDBMS'ye bir tampon alan sağlar. Böyle bir veritabanı çoğu açık kaynak hareketi için yeterince geneldir. Bu tür bir veritabanı çoğu açık kaynak programcısı için yeterince geneldir. Veritabanına tanıdık dilinizle veya belki doğrudan SQL ile erişebilirsiniz.

Bu, MT4 terminali ile herhangi bir veritabanının ODBC sürücüsü arasında DLL aracılığıyla ev yapımı bir köprüdür. Ve veritabanı H2 gibi bellek içi bile olabilir, bu da EA ve gösterge arasında veri alışverişi yapmanıza, keneler, diğer verileri toplamanıza veya EA veya göstergeyi kontrol etmenize olanak tanır. Ve diğer her şey.

Dosyalar: