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

 
Alexey Viktorov:

その通りだ。アーテム、あなたはMQLでそれをやったが、トピックはSQLiteについてだ。あなたのライブラリだって、SQLiteデータベースを使えばもっとシンプルで「高速」になるはずだ。私は、それがないとか不可能とかいう話をしているのではない。ソリューションのシンプルさについて話しているのだ。

まあ、私がやったことよりずっと単純なのは、必要なデータをプログラムにリクエストするだけで、しかも両方のプラットフォームで使えるということだ。しかし、このトピックは本当にそれについてではない。だから、その話はやめよう。

 
Alexey Viktorov:

記事から、困難ではあるが、私はこの例を理解した。

このクエリは、データベースから15000より大きな値を持つレコードを選択します。別の例では、合計を選択する...しかし、私は、例えば、データベースから最小/最大値を選択する必要があります。あるいは、ゼロより大きい/小さい値の合計を選択したい。そのような可能性はあると思いますが、MQL5のドキュメントには十分な情報がありません。例から引っ張ってくるのは私には難しい。でも、なければないで・・・。必要であれば、何とかしてみます。

SQLクエリの言語を学ぶ必要がある。この記事では、これらのMQL5関数の 助けを借りて、SQLクエリの例を挙げながら、その使い方を紹介します。

SQLのヘルプを作る」という課題は設定されていない。このトピックに関するチュートリアルやコースはたくさんあります。

 
Rashid Umarov:

SQLクエリ言語を学ぶ必要があります。この記事では、これらのMQL5関数の 助けを借りてそれらを使用する方法を紹介し、SQLクエリの例をいくつか示します。

SQLヘルプを作る」という課題は設定されていない。このトピックに関するチュートリアルやコースはたくさんあります。

はい、ラシッド、ロシア語で検索して見つけました。しかし、あなたが何かを使うことを提案するのであれば、追加で検索することなく、その説明が利用可能であるべきだということに同意します。それに、ドキュメンテーションの形式はMQLのドキュメンテーションの方が私には受け入れやすいとすでに言った。それに、SQLiteに関するネットワークで見つけたものは、私の理解にはどうにも難しいものばかりでした。しかし、これは私には関係ありません。

さらに、私は少し現実的な意見を表明した。

取引、自動取引システム、取引戦略のテストに関するフォーラム。

SQLite:MQL5でSQLデータベースをネイティブに扱う」という記事についての議論。

アレクセイ・ヴィクトロフ, 2020.05.16 10:26 AM

SQLiteの機能をより詳しく、しかしまだ表面的に熟知した結果、この形式では、申し訳ないが、ガラケーに過ぎないという結論に達した。

SQLiteの無条件の利点を使うには、少なくとも履歴データベースがあると便利だろう。そしてもっといいのは、現在のポジションと未決注文のデータベースだ。MTレベルでは、そのようなデータベースの作成にそれほど時間がかからないことを望む。特に、現在のようなテーブルがSQLiteデータベースから作成できるのであれば。この方法は、注文や取引の履歴を扱う作業を間違いなく単純化するでしょう。1つのポジションIDまたは一定期間のすべての取引について、スワップ、手数料、利益の金額を取得するのが非常に簡単になる。

最近、あるトピックで、履歴の選択が開始時間に基づいているが、正しくは終了時間に基づいている...というのを読んだ。SQLiteデータベースがあれば、そのような疑問はなくなります。どのような基準で利用し、選択したいのか。しかし、このようなベースを自分で作るプログラマーはほとんどいないだろう。私はそう思う。

まさに、新しいおもちゃを利用するためにデータベースの詰め物を書くプログラマーはほとんどいない。そしてアルチョムはすぐに憤慨した、「どうして利用できないんだ」、ライブラリを取って使え、と。しかし、彼のライブラリではすべてがMQLの手段で行われ、SQLiteはガラガラのままだ。

履歴と未決済ポジションと未決済注文のリストを埋める既存のアルゴリズムを、SQLiteデータベースを埋めることに置き換えて、それを現在の形に変換することがどれほど難しいか。そして、それがMTのスピードにどう影響するか。

ポジションIDごとに、未決済であろうと決済済みであろうと、すべての注文と取引を収集することがどれほど簡単になるか、想像してみてほしい。

 
Alexey Viktorov:

そうだね、ラシッド、ロシア語で検索して見つけたんだ。しかし、もしあなたが何かを使うことを提案するのであれば、追加で検索することなく、その説明が利用可能であるべきだということに同意します。それに、ドキュメントの形式はMQLのドキュメントの方が私には受け入れやすいとすでに言いました。それに、SQLiteに関するネットワークで見つけたものは、私の理解にはどうにも難しいものばかりだった。しかし、これは私には関係ありません。

同意できない。

広く知られているシステムには、利用可能なドキュメントがたくさんあります。現実的に考えてください。

 
Renat Fatkhullin:

意見が分かれるところだ。

広く知られているシステムにはたくさんの文書がある。現実的であれ。

私は主張しているのではない。これは私の主観であり、もしかしたら間違っているかもしれない。

 
Alexey Viktorov:

新しいおもちゃを利用するためにデータベース・フィルを書くプログラマーはほとんどいない。

口座履歴/計測器履歴からデータベーステーブルを作成/更新 するスクリプトは数分で書ける。

端末はおそらく同じDBにすべて保存しているだろうが、直接アクセスすることはまずない。そして、それを "箱から出して "カスタムのデータベースに複製する意味はない。

 
Andrey Khatimlianskii:

口座履歴/計器履歴からDBテーブルを作成/更新するスクリプトを数分で書く......。

端末はこれらすべてを同じデータベースに保存している可能性が高いが、それらに直接アクセスすることはないだろう。そして、それを "箱から出して "カスタムのデータベースに複製する意味はない。

ええ、セキュリティのことは考えていませんでした。おそらく、不正な考えがないからでしょう:))))))同感だ。前言撤回します。

 
Alexey Viktorov:

ラシード・ウマロフ 何度目かの再読だが、そのたびに誤字に気がつく。

訂正してこのメッセージを削除してください。

2か所修正しました。ありがとうございました。

 
一つのSQLiteデータベースの 異なるテーブルに同時にアクセスすることは可能ですか?少なくとも、データベースがロックされていて、プログラムが順番を待つ必要があるかどうかを理解する方法はありますか?
 

こんにちは!

DatabaseRead.mq5スクリプトを実行すると、データベースファイル(company.sqlite)が作成されません。

エラーは発生しません。ファイルはありますが、私には見えません!

お分かりになりますか?