本章に関しても、本書掲載のコードや説明で修正が必要となった箇所はありません。
ただ、マルチポジションシステムに関して、本書ライブラリ特有のコードの書き方があり、ちょっと注意が必要です。
同時にオープンするポジションが一つの場合、ポジション番号は省略できたのですが、同時にオープンするポジションが複数ある場合、ポジション番号を指定する必要があります。
ただ、これは意外と忘れがちです。ポジション番号を省略しても0と見なされるだけで、エラーにならないからです。
プログラムにバグは付き物ですが、できればバグの出にくいコード、あるいはバグが出てもデバッグしやすいコードが望ましいです。
そういう意味で、ポジション番号を多用するコードは避けたいところです。
例えば、トレイリングストップのコードでは、いくつかのポジション情報を取得する必要があるので、各関数でポジション番号を指定しなくてはいけません。一か所でもポジション番号を書き忘れると、おかしな結果になってしまいます。
そこで、アップデートしたライブラリでは、トレイリングストップのようなよく利用する機能については、独自の関数**SetTrailingStop()**を追加しています。それを使えば、ポジション番号の指定は1か所だけなので、ポジション番号の抜けのミスを減らすことができます。
バグの出にくいコードのためのライブラリ関数活用の一例です。
詳しくは、『MQL4/MQL5共通ライブラリCodeBase』をご覧ください。