記事「リプレイシステムの開発(第71回):正しい時間を知る(IV)」についてのディスカッション

 

新しい記事「リプレイシステムの開発(第71回):正しい時間を知る(IV)」はパブリッシュされました:

この記事では、前回の記事で紹介したリプレイ/シミュレーションサービスに関連する実装方法について見ていきます。人生の多くのことと同様に、問題は必ず発生するものです。そして今回も例外ではありませんでした。本記事では、引き続き改善をおこなっていきます。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。

前回の「リプレイシステムの開発(第70回):正しい時間を知る(III)」では、マウスインジケーターに必要な変更点について説明しました。これらの変更は、マウスインジケーターがオーダーブックのイベントを受け取れるようにするためのものでした。特に、リプレイ/シミュレーションアプリケーションと併用する場合に関係しています。読者の皆さんの中には、これらの変更に非常に困惑し、いら立ちを覚えた方もいたかもしれません。その内容が最初は全く意味不明だったと感じた方もいるでしょう。私としても、それらの変更がもっとシンプルに見えるようにしたかったのですが、実際にはかなり複雑でした。それでもなお、読者の皆さんには、たとえ最初は混乱したように感じたとしても、前回の内容を完全に理解することが極めて重要であるということをご理解いただきたいと思います。前回の記事で私が伝えようとしたことを理解するのに苦労された方も多いかもしれません。しかし、前回の内容(よりシンプルなサービスを使って全体の仕組みがどのように機能するのかを説明した部分)を理解していなければ、これから説明する内容を理解するのははるかに困難になります。 

ですので、この記事の内容に入る前に、前回の記事の内容を理解しておいてください。特に、オーダーブックイベントをカスタム銘柄に追加することによって、それまで不可能だった方法でOnCalculate関数を使用できるようになった部分についてです。これには、MetaTrader 5が提供するデータを取得するためにiSpreadの呼び出しを使用する必要がありました。

本記事では、テストサービスで使っていたコードの一部を、実際にリプレイ/シミュレーションサービスに移植(より正確には転記)していきます。ここで重要なのは、どうやってこれをおこなうかではなく、どのようにおこなうべきかという点です。

作者: Daniel Jose