記事「リプレイシステムの開発 - 市場シミュレーション(第16回):新しいクラスシステム」についてのディスカッション

 

新しい記事「リプレイシステムの開発 - 市場シミュレーション(第16回):新しいクラスシステム」はパブリッシュされました:

もっと仕事を整理する必要があります。コードはどんどん大きくなっており、今やらなければ不可能になります。分割して征服しましょう。MQL5では、このタスクを実行するのに役立つクラスを使用することができますが、そのためにはクラスに関する知識が必要です。おそらく初心者を最も混乱させるのは継承でしょう。この記事では、これらのメカニズムを実用的かつシンプルな方法で使用する方法を見ていきます。

実際には、コードを書くことに関連した余分な仕事があります。しかし、長年の経験を持つC++/Cプログラマーとしては、上の図のようなコードを見ると、ポインタを指していることが理解しやすくなります。そして、MQL5はC++/Cと同じようにこれを理解しているので、この表記法を使うことに問題はないと思います。上図のような表記のコードを見ても、単なるポインタなので心配する必要はありません。

新しいクラスシステムを探求し続けることができます。これらの変化だけが起こったと考える読者はかなり楽観的です。このような変更を加えるということは、クラスが特定の時間に生成され、破棄されることを明示的に保証するということであり、コードにさらにいくつかの変更を加える必要があります。コンストラクタとデストラクタは値を返しません。しかし、クラスが正しく作成されているかどうかは、どうにかして知らなければなりません。

この方法を理解するには、C_Replayクラスのブラックボックスの中を見る必要があります。これはヘッダーファイルC_Replay.mqhにあります。その内部構造を下の画像に示します。

図01:C_Replay.mqh


作者: Daniel Jose