2020.02.1917:56:14.624 SecondExpertDataBase (GBPUSD,H1) 16:56:14: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:16.627 SecondExpertDataBase (GBPUSD,H1) 16:56:16: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:18.616 SecondExpertDataBase (GBPUSD,H1) 16:56:18: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:20.630 SecondExpertDataBase (GBPUSD,H1) 16:56:20: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:22.078 FirstExpertDataBase (USDCHF,H1) 16:56:21: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:22.629 SecondExpertDataBase (GBPUSD,H1) 16:56:22: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:24.071 FirstExpertDataBase (USDCHF,H1) 16:56:24: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:24.619 SecondExpertDataBase (GBPUSD,H1) 16:56:24: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:26.070 FirstExpertDataBase (USDCHF,H1) 16:56:26: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:26.619 SecondExpertDataBase (GBPUSD,H1) 16:56:26: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:28.079 FirstExpertDataBase (USDCHF,H1) 16:56:27: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:28.625 SecondExpertDataBase (GBPUSD,H1) 16:56:28: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:30.079 FirstExpertDataBase (USDCHF,H1) 16:56:30: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:30.617 SecondExpertDataBase (GBPUSD,H1) 16:56:30: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:32.069 FirstExpertDataBase (USDCHF,H1) 16:56:32: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:32.627 SecondExpertDataBase (GBPUSD,H1) 16:56:32: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:34.073 FirstExpertDataBase (USDCHF,H1) 16:56:33: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:34.627 SecondExpertDataBase (GBPUSD,H1) 16:56:34: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:36.616 SecondExpertDataBase (GBPUSD,H1) 16:56:36: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:38.079 FirstExpertDataBase (USDCHF,H1) 16:56:38: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:38.615 SecondExpertDataBase (GBPUSD,H1) 16:56:38: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:40.072 FirstExpertDataBase (USDCHF,H1) 16:56:40: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:40.618 SecondExpertDataBase (GBPUSD,H1) 16:56:40: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:42.630 SecondExpertDataBase (GBPUSD,H1) 16:56:42: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:44.617 SecondExpertDataBase (GBPUSD,H1) 16:56:44: added 1 record on GBPUSD to timer.sqlite
Database file is by default stored to . If you specify a full path as database filename, it's used. Terminal data path TERMINAL_DATA_PATH can be known by the following instruction. Open MT4 Open [File] menu Click "Open Data Folder" Sample Many sample scripts in under . Precautions Argument mess MT4 build 610 has a weird bug when dll function...
Renat Fatkhullin:
1つのターミナルで起動した異なるMQL5 Expert Advisor内で、同じデータベースを共有することができます。
。
1つのターミナルで 同じデータベースを使用した2つのExpert Advisorの動作をテストしました。どちらのExpert Advisorも2秒間のタイマーで1つのファイルにデータを書き込みます。
Expertアドバイザーの名前が違うだけです。
以下はMetaEditorでのデータベースの表示です。
µl5で説明されていることは、µl4でも使えますか?
MQL4 では、MQL 用のラッパーを介してネイティブの Sqlite3_32.dll を使用できます。
これはMQL用のラッパーです。SQLite3Wrapper.dllと 混同しないでください。
しかし、まだオンラインかどうかはわかりません。
UPD: https://github.com/Shmuma/sqlite3-mt4-wrapperそれを理解した人は、そのようなタスクの実装を示してほしい。
もう1つニュアンスがあります。(日付が伸びている)気配値のような、ばらばらにならず、値が伸びている一貫性のあるデータをデータベースに保存することは、非常に高価な操作です。ツリーはバランスが取れておらず、1つの枝は無限に成長し、エンジンは定期的にツリーのバランスを調整します(これはゴミ収集よりも悪いことです)。もしかしたら、これはインデックス付きテーブルにしか適用されないのかもしれない。あるいは、この数年間使っていなかった間に、すでに解決されていたのかもしれない。試してみないとわからない。もしかしたら、開発者も分析してくれるかもしれない。
データベースインポート()
簡単なスクリプト
2020.02.20 15:09:27.171 MQL5 'DOMcopy.ex5'に新しいサポートされていないバージョンがあります。
version 5 build 2323 latest meta-editorも同じで、デバッグがうまくいきません。
何か未完成なのでしょうか?
DatabaseImport関数は まだ公開されていません。
リリースをお待ちください。
DatabaseImport関数はまだ公開されていない。
公開をお待ちください。
バージョン5ビルド2326も同じなので、いつ安定版が出るか待ちましょう。
バージョン5ビルド2326は、安定版を待つことと同じことであり、いつですか?
取引、自動売買システムとテスト取引戦略に関するフォーラム。
MetaTrader 5ビルド2340の新バージョン:テスターでアカウント設定を管理し、Pythonとの統合を拡大する
メタクォーツ, 2020.02.20 14:55
2020年2月21日(金)、MetaTrader 5プラットフォームの更新版がリリースされます。アップデートには以下の変更が含まれます:
前回のプラットフォームアップデートでは、MQL5から直接SQLiteデータベースを操作するためのサポートを追加しました。主な機能はMetaEditorのユーザーインターフェイスから利用できるようになりました。
。
動作
データベースを素早く作成するには、"MQL5 Wizard "を使用します。ここですぐに最初のテーブルを作成し、フィールドのリストを定義することができます。
データベースを作成すると、"Navigator "の新しいセクションに移動します。データを扱う作業はすべてこのセクションから行います。左側には、データベースのテーブルが表示されます。最初の1,000レコードを素早く照会するには、テーブル名をダブルクリックします。ここで他のデータベースを作成したり開いたり、テーブルを操作することもできます。エディターのメイン部分は、データベースを操作する場所です。テーブルをデータで満たし、検索と選択を行い、SQLクエリーを入力するなど、 。

MetaTrader 5でのデータベース操作の詳細については、記事"SQLite: Native Work with SQL Databases in MQL5"をお読みください。.
。
エディタでスクリプトを実行するには、"Compile "をクリックしてください: .
Pythonを使用するには、MetaEditorの "Settings / Compilers "セクションでPythonへのパスを指定することを忘れないでください。また、MetaTrader 5ライブラリを使用するには、 。
。
新しいコマンドの名称
既存のコマンドの 名称が変更されました:
MT5Shutdown -> shutdown
MT5TerminalInfo -> terminal_info
MT5Version -> version
MT5CopyRatesFrom -> copy_rates_from
MT5CopyRatesFromPos -> copy_rates_from_pos
MT5CopyRatesRange -> copy_rates_range
MT5CopyTicksFrom -> copy_ticks_from
MT5CopyTicksRange -> copy_tick_range
新しいコマンド
サポートされるコマンドのリストが大幅に拡張されました。取引と取引履歴の操作、金融商品と現在の口座に関する情報の取得の機能が追加されました。
。
チャート上でのPythonスクリプトの実行
Pythonスクリプトは、通常のMQL5プログラムと同様に、プラットフォームのチャート上で直接実行することができます。それらは "Navigator "に特別なアイコンで表示されます。
。
スクリプトのメッセージは "Tools / Experts "セクションに表示されます。スクリプトがMetaTrader 5ライブラリを 使用している場合、商品、口座、取引に関する情報を受け取ることができます。
Pythonスクリプトは、他のMQL5スクリプトやExpert Advisorと並行して同じチャート上で実行できます。スクリプトの実行がループしている場合にスクリプトを停止するには、チャートからスクリプトを削除するだけです。
追加の保護機能
サードパーティのPythonライブラリを使用する際、お客様の口座をさらに保護するため、ターミナル設定に「Disable automatic trading via external Python API」オプションが追加されました。
。
このオプションが明示的に無効化されている場合に限り、Pythonスクリプトによる取引が許可されます。 。
。
DatabaseImport
ファイルからテーブルにデータをインポートします。
DatabaseExport
テーブルまたは SQL クエリの実行結果を CSV ファイルにエクスポートします。ファイルは UTF-8 エンコーディングで作成されます。
DatabasePrint
テーブルまたは SQL クエリの実行結果を Expert Advisor ログに出力します。
この新しい関数により、MQL5プログラムとの便利なユーザー・インタラクションを実装できます。
。
。
.
一般設定
このセクションでは、同時に口座に持つことができるオープンオーダーとポジションの最大数を設定することができます。また、ここでは、テストされたプログラムが取引を許可されないセッションを設定することができます。
証拠金
ここでは、証拠金がどのように確保され、テスト中にどのポジション会計システムが使用されるかを完全に制御することができます: .
。
) でどのように処理するかを指定します。
でどのように考慮されるかを指定します。
手数料
このセクションでは、すべての取引でどのように手数料を請求するかを完全にコントロールすることができます。 .
。
。
. チャートのポイントをダブルクリックすると、パス表の対応する結果がハイライトされるようになりました。
。
。
このアップデートは、LiveUpdateシステムを通じて提供されます。
安定版 5 ビルド 2340 実行時に同じDatabaseImport が 表示される
2020.02.22 14:01:42.338 MQL5 'DOMcopy.ex5'にサポートされていない新しいバージョンがあります。
こんにちは!
インジケーターでデータベースへの接続を作成しようとしたのですが、なぜかうまくいきませんでした。
どのプログラムでデータベースを使うことができるのでしょうか?