関数の定義

Pocket

この後、バックテストのプログラムを書きたいと思っています。まず、テストの対象となるロジックを関数として外出しして定義したいと思います。特定のロジックを再利用し易くするための技法として部品化と言われるものになります。関数はインジケーターやショウミーなどから利用します。


まず関数を作成します。今回はゴールデンクロスとデッドクロスのシグナルを返す関数を定義します。ゴールデンクロスとデッドクロスは有名なシグナルですが、売買のシグナルとして単独で使うのは難しいので、そのままでは使用用途はないサンプルロジックと思ってください。

EasyLanguage側で以下の操作をして関数を新規作成します。

ファイル(F) → 新規作成(N) → 関数(F) → 名前(N)を”$cross_judge”と入力してOK

ゴールデンクロスとデッドクロスは短期と長期の移動平均値の大小から判断するみたいです。単純に大小だけだと騙しに合い易いので少し待ったり、待ったら待ったでエントリーが遅くて使えなかったりなかなか難しいようですが、ここでは関数の使い方をみたいだけなのであまり追及しません。コードを簡単に説明すると、入力引数として短期と長期の移動平均の期間を受け取ります。当日と前日の値の大小を比較してゴールデンであれば”1″をデッドであれば”-1″を返します。どっちでもない場合は”0″を返します。特性としてゴールデン(デッド)が発生した場合は次の足でもしばらくシグナルが出続けます。

検証(F3)をしてください。チャートに描画するのは次回行います。今日のプログラムはここからダウンロードできます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です