【連載】

シストレでテクニカルを学ぼう!

14 "指数平滑移動平均"で求められるテクニカル指標 MACD~実践編~

    高田純平  [2011/03/22]

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

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

    前回お届けした<知識編>では、直近の値に重きを置くテクニカル指標「MACD」をご紹介しました。日本語で"移動平均収束拡散法"と訳される同指標は、トレンド系とオシレーター系の両方の特性を持ち、直近の値に重きをおく指数平滑移動平均(EMA)を使用して求められています。

    ■プログラミング内容

    [ラインの構築]

    MACDは短期と長期の2つのEMAから求められます。また、MACDをさらにn日指数平滑化することによって作成されるトリガーラインを使用することによって、相場(上昇・下落)の短期的な行き過ぎを計る手法や、トレンドの変化を判断する手法など、用途は様々となっています。

    <1>
    まずは指数平滑移動平均(EMA)を計算します。
    EMA1日目 :n日間の終値の平均
    EMA2日目以降 :前日EMA +(2÷(n日間+1))×{当日終値-前日EMA}
    <2>
    MACD = 短期EMA - 長期EMA
    [※短期・長期の日数は任意ですが、12日間と26日間が一般的とされています。]
    <3>
    MACDのトリガーライン = MACDをさらにn日指数平滑化
    [※トリガーラインの日数も任意です。9日間などが一般的とれています。]

    [売買ルールの構築]

    使用方法の一つとしては、底値圏に下がった位置でのゴールデンクロスにおいて買いポイントとなることが挙げられます。売りはその逆です。MACD自体のトレンドは、価格トレンドに先行して変化が起こるとされるので、相場とは逆の動きをしはじめたとき、トレンドの転換点を示すといわれています。

    ■買いシグナル:MACD値が、トリガーラインを上抜いたとき、新規買い
    ■売りシグナル:MACD値が、トリガーラインを下抜いたとき、新規売り

    ■サンプル・プログラム

    {① プログラムの概要}
    Meta:Synopsis(" トレンド系とオシレーター系の両方の特性をもつ分析指標で、
        直近の値に重きをおく2つの指数平滑移動平均(EMA)から算出されます。
        このMACDをさらに指数平滑化することによって出来るラインより
        売買のポイントを判断します。
        ■買いシグナル : MACD値が、トリガーラインを上抜いたとき、新規買い
        ■売りシグナル : MACD値が、トリガーラインを下抜いたとき、新規売り" ),
        ShortCode( "MACD" ),SubChart( True );
    
    {② プログラム内で使用される変数の定義}
    Variables:  result , TriggerLine , longSig , shortSig ;
    
    
    {③ MACD作製プログラム}
    //* 今回使用の関数は、MACD指標を表示するための関数【MACD】です。
    //* 対象となる価格と変数の数値指定により値が算出されます。
    result = MACD( Close , 12 , 26 );//(12日と26日からなるMACD指標を算出)
    
    //MACD指標を使用したトリガーラインの算出(9期間を使用)
    //(MACDをさらに指数平滑化しています。)
    TriggerLine = XAverage( result , 9 );
    
    
    {④ エントリープログラム}
    //トリガーラインを上抜いたら買い,下抜いたら売りシグナル
    If result Crosses Over TriggerLine Then
        Buy( "MACD" ) 1 Contracts Next Bar at Market
    Else If result Crosses Under TriggerLine Then
        Short( "MACD" ) 1 Contracts Next Bar at Market;
    
    
    {⑤ 各ラインを描画するプログラム}
    DrawLine(TriggerLine,"トリガーライン",StyleSolid,2);//トリガーライン
    DrawLine(result,"MACD",StyleSolid,2);//MACD
    

    ※ここで記載のプログラムは過去データによる検証用として書かれています。実際の自動売買用プログラムとしては、口座やツールの仕様上、このままではお使いいただけません。
    ※さらに詳しいプログラミング言語「エキーラ」の解説ガイドは、こちら

    ■検証プログラム適用後

    MACD指標を適用させた日経平均チャート(日足データ)

    参考URL

    『トレードシグナル』

    ― 第14回 MACD 編 おわり―

    関連サイト

    新着記事

    特設サイトの情報

      人気記事

      一覧

      2012年5月28日の運勢

      新着記事

      特別企画

      マイナビニュースマガジン