MQL4プログラミングにおけるsinput修飾子について

以下の記事ではユーザー向けの外部パラメータを作成する方法として「extern」を付ける方法と「input」を付ける方法をご紹介いたしました。
MQL4で外部パラメータを用意する方法

外部パラメータを作成する方法にはもう一つ「sinput」を付ける方法があります。

sinput int MagicNumber = 12345;


「sinput」と「input」の違いは、バックテストでの最適化時に現れます。

MT4のバックテストではパラメータの範囲を「スタート」、「ステップ」、「ストップ」の3つの値で指定することで、パラメータを変えながら連続して複数回テストを実行することが可能です。
この機能を利用することで最適な損切り値や、テクニカル指標のパラメータを求めることが可能です。

一方でマジックナンバーなどの一部のパラメータは、バックテストの成績に対する影響がありません。このようなパラメータを誤って最適化するパラメータへ加えてしまうと、その分余計なテストが実行されてしまいます。
「sinput」を利用して作成されたパラメータは、この最適化を実行することができなくなります。

sinput int MagicNumber = 12345;
input double Lots = 0.1;
input int Slippage = 10;
extern double StopLoss = 100;
extern double TakeProfit = 100;

動作サンプル画像


「sinput」の代わりに「static input」と指定することでも同じ扱いになります。

static input int MagicNumber = 12345;
TwitterでシェアFacebookでシェアGoogle+でシェアはてなブックマークに追加

TOPへ