記事"SQLite: MQL5 での SQL データベースのネイティブな処理"についてのディスカッション - ページ 6

 
どのフォルダにあると思いますか?冒頭のフラグをよく見てください
 
Rashid Umarov:
どのフォルダにあると思いますか?オープニング・フラグをよく見てください

これがフラグです - int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE | DATABASE_OPEN_COMMON);

MQL5/Filesパッケージのヘルプによると、私はそれを期待しています。

しかし、そこには何もありません

 
Rashid Umarov:
どのフォルダにあると思いますか?オープニングフラッグをよく見てください

これをやっているところをビデオに撮りました。たぶん何かが間違っている...。



 
Tango_X:

int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE | DATABASE_OPEN_COMMON);

MQL5/Filesパッケージのヘルプによると、以下のようになると思います。

しかし、そこには何もありません。

DATABASE_OPEN_COMMONはお探しの場所にはありません。


 
Alexey Viktorov:

DATABASE_OPEN_COMMON がお探しの場所にありません。


ありがとうございました!

 

開発者の皆様、ごきげんよう!

私はMT5でのSQLiteの使用がとても気に入っています。)

1.クエリの中にJSON関数のサポートを追加することが可能である。SQLiteの側から見ると、この機能はかなり長い間実装されており、私は積極的に他のプログラムで使用している:

1.1 非常に便利で、JSONの解析と収集がすぐにできる。

1.2 レスポンスのビルドと逆アセンブルにサードパーティのライブラリを使用する必要がない。

1.3 データを一括して保存し、SQLクエリによってベース側で処理できる。

1.4 サーバーのレスポンスが変更された場合など、SQLクエリを変更するだけでよく、プログラムを再コンパイルする必要はない。

これは、MT5用の現在の実装には存在しない利点の一部に過ぎないが、古いバージョンのSQLiteがMT5に接続されているものと思われる。

一般的に、これは、各データプロバイダーが独自の構造などを持っているマルチサーバーシステムでスケールする大規模なプロジェクトに多くの機会を与える。



2.データベースへの書き込みと読み込みの両方におけるワンタイムアクセスについては、以前の記事をお読みください。

個人的には、PRAGMA journal_mode = WALをお勧めします;

これは、データベースのマルチアクセスに関する多くの問題を解決し、SQLiteの深刻さを増加させます。

2.1 リソースとしてプロジェクトに添付されているSQLコード入りのテキストファイルからデータベースを作成し、それを変数文字列として使用する方がよい。

2.2 すべてのクエリをリソースファイルとして作成し、クエリ内のデータを変更する必要がある場合は、StringFormatを使用する のも便利です...


3.私の大きなプロジェクトでは、MT5とSQLiteの間の現在の相互作用のメカニズムを使用するようにしています!

 
Daniil Kurmyshev:

開発者の皆さん、ごきげんよう!

私はMT5でSQLiteを使用することが非常に好きで、この技術革新のすべての利点に浸透しているように、私は追加したいと思います...p.1 )))。

1.クエリ内のJSON関数のサポートを追加することは可能です。SQLiteの側からは、この機能はかなり長い間実装されており、私も他のプログラムで積極的に使用しています...:

1.1 非常に便利で、JSONの解析と収集がすぐにできる。

1.2 レスポンスのビルドと逆アセンブルにサードパーティのライブラリを使用する必要がない。

1.3 データをバッチで保存し、SQLクエリによってベース側で処理できる。

1.4 サーバーのレスポンスが変更された場合など、SQLクエリを変更するだけでよく、プログラムを再コンパイルする必要はない。

これは利点の一部に過ぎない...MT5用の現在の実装には存在しないが、古いバージョンのSQLiteがMT5に接続されているのだろう...。

一般的に、各データプロバイダーが独自の構造を持っているマルチサーバーシステムなどで、大規模なプロジェクトを拡張する多くの機会を与えてくれます。



2.データベースへの書き込みと読み込みの両方について、ワンタイムアクセスに関する過去の投稿を読んだことがあるのですが......。

個人的には、PRAGMA journal_mode = WALを推奨しています;

これは、データベースへのマルチアクセスに関する多くの問題を解決し、SQLiteの深刻さを増加させます。

2.1 リソースとしてプロジェクトに添付されているSQLコード付きのあらかじめ準備されたテキストファイルからデータベースを作成し、それを変数文字列として使用する方がよい。

2.2 すべてのクエリをリソースファイルとして作成し、クエリ内のデータを変更する必要がある場合は、StringFormatを使用する のも便利です...


3.私の大きなプロジェクトでは、MT5とSQLite間の現在の相互作用のメカニズムを使用するようにしています!

もちろん、異なるスクリプトにデータベースへの同時アクセスの可能性を与えるのは良いことでしょう。開発者はそれについて考えていなかった。

どうやら彼らはMQL5ツールの開発をこれ以上進めたくないようだ。

 
GEORGI ANIKIN:

異なるスクリプトにデータベースへの同時アクセスの可能性を与えるのはいいことだ。開発者はそれについて考えていなかった((

どうやら彼らはMQL5ツールの開発をこれ以上進めたくないようだ。

もちろん、彼らはそれについて考えている。

ターミナル内の異なるスクリプトから同じベースやテーブルにアクセスすることができる。

これは同時書き込みと同時読み込みの例である。異なるチャートで実行してみよう。

ファイル:
 
Renat Fatkhullin:

もちろんそうだ。

ターミナル内の異なるスクリプトから同じデータベースやテーブルにアクセスできる。

以下は同時書き込みと同時読み込みの例である。異なるチャートで実行してみてください。

Renat、こんにちは!

少なくとも近い将来、JSONをデータベースに保存し、それを扱うことができるようになりますか?

 
Daniil Kurmyshev:

レナト、こんにちは!

少なくとも近い将来、JSONをデータベースに保存し、それを操作する機能が実装されるかどうか教えていただけますか?

明日にはベータ2840になります:

  • SQLiteバージョン2.35.2

  • 永続的なWALモードにより、開いているデータベースを別のアプリケーションから操作できるようになりました(以前はMetaEditorはターミナルと並行して操作できませんでした)。

  • 統計関数の拡張
        mode - mode,
        median - median (50 th percentile),
        percentile_25 - 25 th percentile,
        percentile_75 - 75 th percentile,
        percentile_90 - 90 th percentile,
        percentile_95 - 95 th percentile,
        percentile_99 - 99 th percentile,
        stddev or stddev_samp - sample standard deviation,
        stddev_pop - population standard deviation,
        variance or var_samp - sample variance,
        var_pop - population variance.
    例:
    select
      count(*) as book_count,
      cast(avg(parent) as integer) as mean,
      cast(median(parent) as integer) as median,
      mode(parent) as mode,
      percentile_90(parent) as p90,
      percentile_95(parent) as p95,
      percentile_99(parent) as p99
    from bookmarks;
  • 新しい数学関数
        acos(X)
        acosh(X)
        asin(X)
        asinh(X)
        atan(X)
        atan2(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)
    
    
  • JSON サポートも 含まれています

    データベース作成ウィザードに新しい json タイプを含める予定です。