仕事の流儀~PART1

EAを作成する側からすれば、プログラミングに極力時間をかけたくないという本音があるのは事実です。

 

そのようなプログラマーのニーズに応えるために、メタトレーダーではさまざまなツールが用意されています。

 

たとえば短期(5本)と長期(25本)の2本の移動平均線の位置(上下)関係から現在のトレンドを判定したい場合、

通常は、スタート関数内に上のようなプログラムを書いて、TJの値が「1」か「-1」かによって、上昇トレンドなのか下降トレンドなのかを判定します。

 

しかし、上のような計算処理を一つのEAの中で一度だけ実行するのであればよいのですが、たとえば、計算期間の異なる移動平均線をいくつか算出して、上のような計算処理を何度か実行したい場合、スタート関数内に同じようなプログラムを何度も書くのはめんどうな上、見た目も煩雑になってしまいます。

 

そんなときに便利なのが、オリジナル関数の利用です。

上のように、まずスタート関数外(赤枠の中)に、あらかじめTrendJudge()というオリジナル関数を作っておいて、スタート関数内(青枠の中)では、そのオリジナル関数を呼び出してパラメーターだけを記入するようにすれば、楽ちんです。

 

また、別のEAでもよく使うオリジナル関数は、EA上ではなく、「libraries」という別のフォルダに保存しておいて、そこから都度呼び出すようにすればさらに楽ちんです。

まず、includeファイルに、上のようなオリジナル関数の宣言をして、そのファイルを「include」フォルダに保存します。

次に、libraryファイルに、そのオリジナル関数の中身を上のように記述し、そのファイルを「libraries」フォルダに保存します。

あとは、EA上でヘッダーファイルの読み込みをすれば、上のようにオリジナル関数を手軽に多用することができ、これをライブラリー関数といいます。 

 

 

しか~し!

上に述べたことは、あくまでもEAを作成する側の都合であって、作成を依頼する側、つまり、お客様にとってはそれでよいのかどうかは別問題です。

 

オリジナル関数やライブラリー関数を多用した、いわゆる ”インスタントEA” が、果たしてお客様にどんな不利益をもたらすかについて、次回の記事で考察してみたいと思います。