記事「MQL5クックブック - サービス」についてのディスカッション - ページ 2

 
Aleksey Vyazmikin #:

SQLiteはトランザクションキューを扱う方法を 知らないのですか?私は調べたことがないのですが、あなたが記事を書いたので聞いているのです :)

データベースの各セクション(別のテーブル)に書き込むこともできますし、Expert Advisorごとに独自のデータベースを作成することもできます。

もちろん、問題は遅延ですが、一方でそれは保存されたスプレッドによって補われます。

しかし、 SQLiteはマルチスレッド-複数のプロセスの同時実行-によって制限されています。複数のプロセスが同時にデータベースから読み込むことはできるが、デフォルトでは1つのプロセスしか書き込めない......。

 
JRandomTrader OnTrade、OnTradeTransactionといった イベント処理がない。OnDeinitは、ターミナルがクローズされたときに定期的に停止するのにも便利です。

そうなると、このサービスはExpert Advisorとほとんど 変わりません。それよりも、別のチャートに遷移したり、チャートの期間を変更したり......まあ、Expert Advisorやインジケーターにはないようなイベントに興味があるのですが......。

 
Alexey Viktorov #:

そうなると、Expert Advisorとほとんど 変わらないサービスになってしまう。それよりも、別のチャートに切り替えたり、チャートの期間を変更したり......まあ、Expert Advisorやインジケーターにはないようなイベントに興味があるんだけど......。

重要なのは、別のチャートを必要としないということだ。

 

とても素晴らしい。この記事とコード例を共有していただきありがとうございます。

私は非常にシンプルなサービスを作成しました。新しい日を識別し、1日に1回だけタスクを実行し、取引履歴をCSVファイルに保存します。その後、このファイルは履歴から新しい取引のみで更新されます。

このタスクを実行するためにチャート・ウィンドウが必要ないのは利点ですが、例えば空のインジケーターの中でこのタスクを実行し、'OnTimer'関数を実行した場合と比べて、このサービスが私のコンピューターで使用する処理能力とメモリーが多いのか少ないのかという疑問が生じました。

処理能力とメモリ使用量に関する私の質問に対する答えをご存知でしたら、教えていただけませんか?この記事とコード例を共有していただき、本当にありがとうございます。