//--- opening and closing the databaseint DatabaseOpen(string filename,UINT flags);
void DatabaseClose(int database);
//--- working with tablesbool DatabaseTableExists(int database,string table_name);
//--- preparing an SQL queryint DatabasePrepare(int database,string sql,...);
void DatabaseFinalize(int request);
//--- reading a query result without/with binding to MQL5 structureint DatabaseRead(int request);
int DatabaseReadBind(int request,struct or var);
//--- extracting data from query results to different data typesint DatabaseGetColumnCount(int request);
int DatabaseGetColumnSize(int request,int column);
int DatabaseGetColumnType(int request,int column);
int DatabaseGetColumnText(int request,int column,string &value);
int DatabaseGetColumnInteger(int request,int column,int &value);
int DatabaseGetColumnLong(int request,int column,long &value);
int DatabaseGetColumnDouble(int request,int column,double &value);
int DatabaseGetColumnBlob(int request,int column,void &data[]);
//--- working with transactionsint DatabaseExecute(int db_id,string request);
int DatabaseBeginTransaction(int db_id);
int DatabaseCommitTransaction(int db_id);
int DatabaseRollbackTransaction(int db_id);
Windows 10 x64, Intel Xeon E5-2690 v3 @ 2.60GHz
LLVM MQL5
---------------------------------------------------------------------------------
Test 1: 1000 INSERTs: 11572 8488
Test 2: 25000 INSERTs in a transaction: 59 60
Test 3: 25000 INSERTs into an indexed table: 102 105
Test 4: 100 SELECTs without an index: 142 150
Test 5: 100 SELECTs on a string comparison: 391 390
Test 6: Creating an index: 43 33
Test 7: 5000 SELECTs with an index: 385 307
Test 8: 1000 UPDATEs without an index: 58 54
Test 9: 25000 UPDATEs with an index: 161 165
Test 10: 25000 text UPDATEs with an index: 124 120
Test 11: INSERTs from a SELECT: 84 84
Test 12: DELETE without an index: 25 74
Test 13: DELETE with an index: 70 72
Test 14: A big INSERT after a big DELETE: 62 66
Test 15: A big DELETE followed by many small INSERTs: 33 33
Test 16: DROP TABLE: finished. 42 40
In the first part of the article series, we analyzed Merrill patterns and applied them to different data arrays, such as the price and price-based oscillators ATR, CCI and WPR, among others. The purpose of the article was to explore and evaluate the prospects of using the specified patterns on forex and other markets. The second part was...
取引、自動取引システム、取引戦略のテストに関するフォーラム
MetaTrader 5 build 2190 プラットフォームの新バージョン
MetaQuotes Software Corp., 2019.11.12 15:28
ベータ版2208をリリースしました。
ヘルプメニュー→アップデートの確認からアップデートできます。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
DirectX 11に直接アクセスできるMQL5の新グラフィックス機能
MetaQuotes Software Corp., 2019.11.22 11:30
2019年11月27日、我々は複雑な3Dビジュアライゼーションを構築するための新しいグラフィック機能を備えたビルドをリリースする予定です。
デモをご覧いただくことができます。
ex5 ファイル形式のサンプルは、ヘルプ -> 更新の確認 コマンドで利用できる現在のベータ版 2224 で実行できます。
取引、自動売買システム、取引戦略のテストに関するフォーラム
DirectX 11に直接アクセスできるMQL5の新しいグラフィック機能
レナト・ファットフーリン, 2019.11.22 12:12
これは、CCanvasの機能を拡張する新しいCCanvas3Dクラスです。
複雑なモデルを3D投影で視覚化できるように、MQL5でDirectX 11のネイティブメソッドを大量に追加しています。
このリリースでは、時間があれば、MQL5でSQLiteのSQLiteを使ったネイティブな作業も可能になる可能性が高いです。これにより、膨大なデータを扱う作業が大幅に簡素化され、迅速な選択が可能になります。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
DirectX 11に直接アクセスできるMQL5の新しいグラフィックス機能
レナト・ファットフーリン, 2019.11.24 20:10
端末の大きさを心配する必要はありません。非常にコンパクトで、その機能の範囲内で統合されています。
私たちは、新しいクラスのプログラムの作成を可能にするためにDirectXを追加しました。高品質なビジュアライゼーションにより、パワフルで、よりプロフェッショナルに。
SQLite は、巨大で異質なデータでの作業を劇的に簡素化します。原始的なファイルバインディングを扱う必要がなく、ただデータベースに保存するだけです。
私たちはさらに進みます。
既存のライブラリも、わずかな修正でEX5でコンパイルできるようになります。潜在的に危険なAPIコールはすべて、MQL5を制御するラッパーに置き換えられる予定です。
11月27日のリリースで何かが利用できるようになり、残りは次のベータ版とリリースで利用できるようになる予定です。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
DirectX 11に直接アクセスできるMQL5の新しいグラフィックス機能
レナト・ファットフーリン, 2019.11.25 20:13
ビルド2228が利用可能です。
現在、このようなビジュアライゼーションは、標準のCCanvas3Dライブラリを使用して、MQL5で直接簡単に行うことができます。
取引、自動取引システム、取引戦略のテストに関するフォーラム
新しいMetaTrader 5 Platformベータ版ビルド2245。MQL5での3DビジュアライゼーションとStrategy Testerでのシンボル設定のためのDirectX関数
MetaQuotes Software Corp., 2019.11.29 13:41
更新されたMetaTrader 5プラットフォームのベータ版は、2019年11月29日にリリースされます。 すべての機能を評価し、開発者がエラーを修正するのを助けるために、すべてのトレーダーを新しいプラットフォームのテストに参加するよう招待します。
MetaTrader 5プラットフォームをビルド2245までアップデートするには、Help ⇄Check Desktop Updates ⇄Latest Beta Versionに移動してください。
新しいMetaTrader 5プラットフォームのビルドの最終バージョンは、パブリックベータテスト後にリリースされる予定です。
新バージョンでは、以下の変更が行われました。
取引履歴をポジションとして表示するために、端末は要求された期間内に実行された取引に関する情報を使用します。この期間内に決済されたポジションのみが履歴に表示されます。ポジションがまだ開いている場合、またはそのクローズ時間が選択した期間内にない場合、それは履歴に表示されません。したがって、「ポジション」モードでの利益と手数料の合計は、「注文/取引」履歴モードでの利益と手数料の合計とは異なる場合があります。
例えば、過去1週間の履歴を閲覧しているとします。この期間中、100件の取引が実行され、そのうち98件は20件のポジションをオープンしクローズしました。最後の2つの取引は新しいポジションをオープンし、現在までクローズされていません。この場合、取引履歴には100件のレコードと、それに基づいて計算された適切な合計値が含まれています。ポジションとして履歴を見る場合、98件の取引に基づいて収集された20件のレコードが表示されます。合計値を計算する際には、このデータのみが考慮されます。ブローカーがエントリーディールフィーを課す場合、後者のケースでは最後の2つのディールが無視されるため、ディール履歴の最終手数料値はポジション履歴に表示される手数料と異なります。
新しいCCanvas3Dクラスは、CCanvasカスタム・グラフィックス・クラスを拡張したものです。このクラスは、MQL5のCCanvasディレクトリで利用可能です。このクラスは、DirectX APIを 使用して3次元オブジェクトをレンダリングするための機能を備えています。
新しいライブラリの詳細なドキュメントは近日公開予定です。
また、新しい関数の使用例も、゙MQL5゙Experts゙Examples゙に掲載されています。
これらをコンパイルしてチャート上で実行すると、MQL5での3D可視化の可能性を見ることができます。
以下の関数が利用可能です。
このプロパティでは、最適化の終了時に開くチャートの種類や、X軸とY軸のプログラムパラメータを設定できます。
このプロパティは、デフォルトのチャートビューを設定するだけです。このプロパティは、コンテキストメニューを使って、いつでも手動で変更することができます。
金融商品のカスタム設定
テストや最適化が行われる主要な金融商品の設定を変更できるようになりました。ボリューム、取引モード、マージン要件、実行モード、その他の設定など、ほぼすべての仕様パラメータを上書きすることができます。従って、Expert Advisorを異なる条件でチェックする必要がある場合、別途カスタムシンボルを作成し、その履歴をダウンロードする必要はありません。これは、標準のシンボル設定を変更することで可能です。
シンボル仕様がカスタマイズされている場合、歯車アイコンとシンボルアイコンにアスタリスクが表示されます。これは、現在のテストにカスタムパラメータが使用されていることを示します。最後の設定/エキスパートアドバイザー/チャート
新しいコンテキストメニューコマンドを使用して、高速テストまたは最適化のセットアップを行います。最後に使用したテスター設定、最近のチャートまたはアプリケーションを選択します。
適切なコンパイラがPCにインストールされていれば、MetaEditorはそれを検出し、設定に追加します。オプションとして、Compilersタブで必要なコンポーネントのパスを指定することができます。同じタブから、該当するフィールドの横にあるインストールをクリックすることで、コンポーネントをダウンロードすることができます。
その後、C/C++やPythonのプロジェクトをMQL5プログラムと同様にコンパイルすることができます。ブローカーサイトのトレーダールームで適切な機能を検索する必要はありません。高速ナビゲーションコマンドは、端末で直接利用可能です:ユーザーは、口座と取引セクションから入金と出金のページに切り替えることができます。
このアップデートは、ライブアップデートシステムを通じて提供されます。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
MQL5でSQLite。新機能とパフォーマンステスト
レナト・ファットフーリン, 2019.12.07 09:24
ビルド2265では、SQLite 3.30.1に基づくデータベースを操作するための通常の関数を実装しました。
なるべくパフォーマンスを重視しているので、LLVM 9.0.0とMQL5のテスト結果を紹介します。時間の単位はミリ秒、少ないほど良い。ベースは、DATABASE_OPEN_MEMORY フラグを使用して、ディスク上とメモリ上の両方に保存することができます。 大規模な挿入や変更をDatabaseTransactionBegin/Commit/Rollbackトランザクションでラップすると、操作が何百倍も速く なります。
MQL5での速度は、最高のコンパイラを使用したネイティブC++と全く同じです。再生用のベンチマークパッケージが添付されています。
また、ユニークなDatabaseReadBind関数を実装し、構造体に直接レコードを読み込むことができるようになり、バルク操作を簡素化、高速化することができるようになりました。
以下は簡単な例です。
取引、自動売買システムとテスト取引戦略に関するフォーラム
MetaTrader 5プラットフォームビルド2265の新バージョン。MQL5での3D視覚化のためのDirectX関数とストラテジーテスターでのツールのセットアップ
レナト・ファットフーリン, 2019.12.07 08:28
リリース2265の3Dグラフィックの新機能を例題で見てみましょう。
そして、SQLiteデータベースを 扱うための関数群.
取引、自動取引システム、取引戦略のテストに関するフォーラム
MT5の新しい2265ビルドで一部のツールが動作しない - 修正方法は?
アイトゥガン・カフィゾフ, 2019.12.09 17:30
ticksizeとStringTrimの問題を修正したMT5ターミナルのベータ版をリリースしました。
アップデートをダウンロードするには、MetaQuotes-Demoサーバーでデモ口座を 開設してください。
そして、フィードバックをお願いします。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
新しいMetaTrader 5プラットフォームビルド2280
MetaQuotes Software Corp., 2019.12.12 15:54
MetaTrader 5プラットフォームのアップデートは、2019年12月13日(金)にリリースされる予定です。今回のアップデートでは、前回のMetaTrader 5 ビルド2265のメジャーアップデート 後にいただいたフィードバックに基づき、重要な追加と修正を行います。
このアップデートは、Live Updateシステムを通じて提供されます。
OpenCL
フォーラムの様子
コードベース
記事
ブログ
ドキュメント
市場
取引、自動売買システム、取引戦略のテストに関するフォーラム
MQL5でSQLite。新機能とパフォーマンステスト
ラシッドウマロフ、2019.12.17:01
関数で作業する例を追加しました - 私は複雑さの順序で与える。
ストラテジー・ビルダー機能の拡張- 記事
記事シリーズの最初の 部分では、メリルパターンを分析し、価格および価格ベースのオシレーターである ATR、CCI、WPR など、さまざまなデータ配列に適用しました。この記事の目的は、指定されたパターンを FX やその他の市場で使用する見通しを探り、評価することでした。第二 部では、先に説明したパターンを使って簡単な戦略を組み立てるための戦略ビルダーの作成に専念しました。第三部では、ストラテジーの作成とテスト機能を拡張します。ポイントだけでなくロットも扱えるようにし、テスト結果を表示する機能も追加する予定である。