ライブラリ: AdoSuite v 1.0 - ページ 3

 

こんにちは、アレクサンダー、

ライブラリを公開してくれてありがとう。これらのライブラリをインストールして、いくつかのサンプルを動作させようとしたのですが、何度も同じ問題にぶつかってしまいます。スクリプトを実行しようとすると、エラーメッセージが表示されます:

2011.03.11 09:06:22 1 Inserting a record (GBPUSD,H1) Cannot open 'C:◆Program FilesMetaTrader 5 ◆MQL5 ◆Libraries ◆AdoSuite.dll' (14001)

AdoSuite.dllは正しいディレクトリにあり、.NET 2.0フレームワークもインストールされ、貴社の指示にすべて従いましたが、貴社のライブラリをインクルードするだけの最も簡単なスクリプトでも、いつもこのエラーが発生します。


ADOSuite.dllがディレクトリにないからではありません:ディレクトリからdllを削除 すると、エラーは別のものになります:"AdoSuite.dll'(126)を開けません")

ニール

追記:以下のような簡単なスクリプトでも、同じ14001エラーで失敗します。DLLが他のDLLを「見る」必要があるのでしょうか?

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

//|                                                      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");

  }

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

 

こんにちは、

ターミナルのデータディレクトリに関連する問題を扱っている可能性が高いです。MT5が使用する場所は3つあります:

  • TERMINAL_PATH
  • ターミナル_データ_パス
  • ターミナル_コモンドデータ_パス

 

こんにちは、アレクサンダー、

私はすべてのファイルを正しくコピーしましたが、エラーが発生します:


CAdoRecord::Values' - protected memberfunction DbDataAdapter.mqh 108 23 を呼び出すことができません。

というエラーが出ます:

#include <AdoProviders\OleDb.mqh>
#include <AdoProviders\Odbc.mqh>
#include <Indicators\BsvSqlServer.mqh

CAdoRecord::Valuesをpublicにすると、EAスクリプトの初期化に失敗します。

助けていただけますか?

ありがとうございます。


わかりました。64botでコンパイルすると、エラーなしで起動します。

 
このライブラリを使用して、パラメータを指定してINSERTを実行し、テーブル・フィールドにNULLを 強制的に挿入するにはどうすればよいですか?どう頑張っても0が挿入されてしまいます。
 

何が問題なのでしょうか?

コンパイル時に警告が出ます:

CAdoRecord::Compare関数は CObject::Compareをオーバーライドします。

とエラーが発生します:

'=' - const ポインタから const でないポインタに変換できません AdoRecord.mqh 80 19

 
SergeyVS:

何が問題なのでしょうか?

コンパイル時に警告が出ます:

CAdoRecord::Compare関数はCObject::Compareをオーバーライドします。

とエラーが発生します:

'=' - const ポインタから const でないポインタに変換できません AdoRecord.mqh 80 19

AdoRecord.mqhファイルの62行目と82行目で、CAdoRecord::Compareメソッドの宣言と実装から "const "を削除してください。

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

82: int CAdoRecord::Compare(const CObject* node, int mode = 0)
コードが更新されました。
 

AdoSuite.dll」は64ビット版ではありません。そして、動作しようとしません。

よろしくお願いします!

 
Alex_L:

AdoSuite.dll」は64ビット版ではありません。そして、動作しようとしません。

よろしくお願いします!

プロジェクトを 64ビットプラットフォーム用に再コンパイルしてください。しかし、他にも問題があり、どのサンプルを起動しても、: invalid EX5 file (8) と表示されます。

 
このプロジェクトの 作者はまだ生きていますか?x64用の動作バージョンはありますか?
削除済み  

誰かの役に立つかもしれないので、ここにリンクを貼っておく:

MT4-ODBCブリッジ

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

これは、人気のトレーディング・ターミナル、MetaTrader4(MT4)用のライブラリで、ODBCインターフェイスを通じてリレーショナル・データベースにアクセスできる。主な機能は以下の通り。

  • 価格データの記録
  • 取引ステータスの同期
  • 注文の実行

MT4には、アルゴリズム取引のための独自のプログラミング言語MQL4があります。習得は簡単ですが、その表現力は非常に限られています。より洗練されたアルゴリズムを実行したい人は、MT4の外部に頼る傾向があり、通常はDLLを使用します。しかし、DLLのネイティブプログラミングはWindowsプラットフォームに限られており、最近のオープンソースムーブメントの主流プログラマーにはなじみがない。

MT4-ODBCブリッジ(略してMOB)は、MySQL、PostgreSQL、SQLiteなどのようなRDBMS上のバッファ領域を提供します。このようなデータベースは、ほとんどのオープンソースプログラマーにとって十分に一般的です。使い慣れた言語でデータベースにアクセスすることもできるし、SQLで直接アクセスすることもできる。

これは、MT4ターミナルとあらゆるデータベースのODBCドライバとの間のDLL経由の自家製ブリッジです。データベースはH2のようにインメモリにすることもでき、EAとインジケーター間でデータを交換したり、ティックやその他のデータを収集したり、EAやインジケーターを制御したりすることができます。その他、あらゆることが可能です。

ファイル: