本連載は、まだ取引を開始して間もない方や、現在勉強中だという方を対象に、毎回、ある1つのテクニカル指標をピックアップし、知識編・実践編の2回に分けてご紹介しています。実践編では、知識編でご紹介したテクニカル指標を売買ルールとして用いて、システムトレードのプログラミングに挑戦していきます。

なお、本連載内で使用されるプログラミングのプラットホームには、ひまわり証券が提供しているシステムトレード用チャートツール「トレードシグナル」を使用します。

今回はプログラムに挑戦する実践編です。前回お届けした≪知識編≫より、トレンド系テクニカル指標の代表格であり、チャート分析の基本でもある「単純移動平均線」を用いて、[ゴールデンクロス(短期移動平均線が長期移動平均線を上抜けたとき)で買い・デッドクロス(短期移動平均線が長期移動平均線を下抜けたとき)で売り]となる売買ルールの検証プログラムを作製していきます。

■プログラム構築ルール

長期線と短期線からなる 2本の異なる期間の移動平均線からトレンドを判断し、それに追随する手法として、「ゴールデンクロス」「デッドクロス」と呼ばれるポイントで売買を実行する。

  • 仮に、短期線の期間を 5 日。長期線の期間を 38 日とする。(※日足チャートを使用)
  • 買いシグナル[ゴールデンクロス(短期移動平均線が長期移動平均線を上抜けたとき)]
  • 売りシグナル[デッドクロス(短期移動平均線が長期移動平均線を下抜けたとき)]
  • 買い(売り)シグナルが発生した翌日に保有ポジションを決済して新規買い(売り)
単純移動平均(n日) = 当日を含む直近n日間の終値の総和 ÷ n日間
※一般的には終値を使用しますが、始値・高値・安値などでも作成は可能です。

■プログラム内容

 {① プログラムの概要}
Meta:   Synopsis( " 2本の異なる期間の移動平均線からトレンドを判断し、それに追随する手法として、
        「ゴールデンクロス」「デッドクロス」と呼ばれるポイントで売買を実行する。" );

{② プログラム内で使用される変数の定義}
Variables:    fast, slow;


{③ 移動平均線 計算式}

//トレードシグナルの専門言語エキーラには、頻繁に使用されるプログラムが、
//予め関数として定義されており、必要に応じて呼び出すことができるのでとても便利です。
//計算式を展開して書くことはせずに、容易にプログラムを書くことができます。

//今回使用の関数は、[SummationFC(直近足の価格の総和を算出する関数)]です。

 fast = SummationFC(close, 5)/ 5;   // 5日単純移動平均線(短期線)
 slow = SummationFC(close,38)/38; //38日単純移動平均線(長期線)

//短期線が長期線を下から上へクロスしたとき、次のバーで"買い"
//1 Contractsとは、取引枚数を指定しています。(下記の場合、1枚)
 If fast Crosses Over slow Then
  Buy  ("買") 1 Contracts  Next Bar at Market;

//短期線が長期線を上から下へクロスしたとき、次のバーで"売り"
 If fast Crosses Under slow Then
  Short("売") 1 Contracts  Next Bar at Market;


{④移動平均線 ライン表示プログラム}
//DrawLineは、ラインを描くための関数です。StyleSolidは、"直線"と指定しています。
//ライン関数(出力する値(変数名),線の名称,線の形,線の幅,線の色)
 DrawLine( fast, "短期線",StyleSolid,2,Darkblue);
 DrawLine( slow, "長期線",StyleSolid,2,DarkMagenta );

{以上でプログラム作成終了です。説明文を省けば、たった9行で作成出来てしまいますね。}


//****≪ちょっと応用≫****
//* 今回はSummationFC関数を使用して、"n日間の総和 ÷ n日 " という計算式を作成しました。
//* しかし、エキーラではもっと簡単に単純移動平均線を表す関数があります。 ⇒ 【AverageFC】関数
//* SummationFC(price,period)/period = AverageFC(price,period)
※ここで記載のプログラムは過去データによる検証用として書かれています。実際の自動売買用プログラムとしては、口座やツールの仕様上、このままではお使いいただけません。
※さらに詳しいプログラミング言語「エキーラ」の解説ガイドは、こちら

■検証プログラム適用後

プログラム適用チャート : 日経平均(日足)の2010年データ


参考URL

『トレードシグナル』

― 第2回 移動平均線 編 おわり―