- DatabaseOpen
- DatabaseClose
- DatabaseImport
- DatabaseExport
- DatabasePrint
- DatabaseTableExists
- DatabaseExecute
- DatabasePrepare
- DatabaseReset
- DatabaseBind
- DatabaseBindArray
- DatabaseRead
- DatabaseReadBind
- DatabaseFinalize
- DatabaseTransactionBegin
- DatabaseTransactionCommit
- DatabaseTransactionRollback
- DatabaseColumnsCount
- DatabaseColumnName
- DatabaseColumnType
- DatabaseColumnSize
- DatabaseColumnText
- DatabaseColumnInteger
- DatabaseColumnLong
- DatabaseColumnDouble
- DatabaseColumnBlob
データベースの操作
データベースを操作するための関数は、一般的で使いやすいSQLiteエンジンを使用します。このエンジンの便利な機能は、データベース全体がユーザーPCのハードディスク上の単一のファイルにあることです。
これらの関数を使用すると、簡単なSQL要求を使用して、テーブルの作成、データの追加、変更の実行、サンプリングを簡単に行うことができます。
- 任意の形式からの取引履歴と相場の受け取り
- 最適化とテスト結果の保存
- 他の分析パッケージとのデータの準備および交換
- MQL5アプリケーションの設定とステータスの保存
データベースを使用するための関数を使用すると、最も頻繁に繰り返される大きなデータ配列処理操作をSQL要求に置き換えることができるため、多くの場合、複雑なループと比較をプログラミングする代わりにDatabaseExecute/DatabasePrepareは、呼び出すことができます。DatabaseReadBind関数を使用すると、既成の構造体でクエリ結果を簡単に取得できます。この関数では、1回の呼び出しですべてのレコードフィールドを一度に読み取ることができます。
読み取り、書き込み、変更を高速化するために、データベースはDATABASE_OPEN_MEMORYフラグを使用してRAMで開いたり作成したりできますが、このようなデータベースは特定のアプリケーションでのみ使用でき、共有されません。ハードディスク上にあるデータベースを使用する場合、バルクデータの挿入/変更は、DatabaseTransactionBegin/DatabaseTransactionCommit/DatabaseTransactionRollbackを使用してトランザクションにラップする必要があります。これにより、プロセスが何百回も加速されます。
関数の使用をはじめるにあたって、SQLite: MQL5 での SQL データベースのネイティブな処理稿をお読みください。
関数 |
アクション |
---|---|
指定したファイルでデータベースを開くか作成します |
|
データベースを閉じます |
|
ファイルからテーブルにデータをインポートします。 |
|
テーブルまたはSQL要求の実行結果をCSVファイルにエクスポートします。ファイルはUTF-8エンコードで作成されます。 |
|
テーブルまたはSQL要求の実行結果をエクスパート操作ログに出力します。 |
|
データベース内の表の存在を確認します |
|
指定されたデータベースへのリクエストを実行します |
|
DatabaseRead()を使用して実行できるリクエストのハンドルを作成します |
|
DatabasePrepare()の呼び出し後などに、リクエストをリセットしっます |
|
リクエストにパラメータ値を設定します |
|
パラメータ値として配列を設定します |
|
リクエストの結果として次のエントリに移動します |
|
DatabasePrepare()で作成されたリクエストを削除します |
|
トランザクションの実行を開始します |
|
トランザクションの実行を完了します |
|
トランザクションをロールバックします |
|
リクエスト内のフィールドの数を取得します |
|
インデックスでフィールド名を取得します |
|
インデックスでフィールドタイプを取得します |
|
バイト単位のフィールドサイズを取得します |
|
現在のレコードからフィールド値を文字列として取得します |
|
現在のレコードからint型の値を取得します |
|
現在のレコードからlong型の値を取得します |
|
現在のレコードからdouble型の値を取得します |
|
現在のレコードからフィールド値を配列として取得します |
- mode – mode
- median – median (50パーセンタイル)
- percentile_25 – 25パーセンタイル
- percentile_75
- percentile_90
- percentile_95
- percentile_99
- stddev or stddev_samp — 標本の標準偏差
- stddev_pop — 母集団の標準偏差
- variance or var_samp — 標本の分散
- var_pop — 母集団の分散
- acos(X) – 逆余弦(ラジアン単位)
- acosh(X) – 双曲線逆余弦
- asin(X) – 逆正弦(ラジアン単位)
- asinh(X) – 双曲線逆正弦
- atan(X) – 逆正接(ラジアン単位)
- atan2(X,Y) – X/Y率逆正接(ラジアン単位)
- atanh(X) – 双曲線逆正接
- ceil(X) – 整数に切り上げる
- ceiling(X) – 整数に切り上げる
- cos(X) – 余弦(ラジアン単位)
- cosh(X) – 双曲線余弦
- degrees(X) – ラジアンを角度に変換
- exp(X) – 累乗
- floor(X) – 整数に切り下げる
- ln(X) – 自然対数
- log(B,X) – 示された基数に対する対数
- log(X) – 十進対数
- log10(X) – 十進対数
- log2(X) – 二進対数
- mod(X,Y) – 除算の余り
- pi() – おおよその円周率
- pow(X,Y) – 示された基数に対する累乗
- power(X,Y) – 示された基数に対する累乗
- radians(X) – 角度をラジアンに変換
- sin(X) – サイン(ラジアン単位)
- sinh(X) – 双曲線正弦
- sqrt(X) – 平方根
- tan(X) – 正接(ラジアン単位)
- tanh(X) – 双曲線正接
- trunc(X) – 0に最も近い整数に切り捨てる(絶対値を切り捨て、元の符号を保つ)
例:
select
|