大学生でもできるPythonで自動取引BOTの作成講座(MACDを導入)

2019年1月18日

スポンサードリンク
スポンサードリンク

自動取引BOT作成講座入門

今回も自動取引BOTを作っていきましょう。

今回は、少し毛色を変えて、MACDと言われるテクニカル指標を使った自動取引BOTを作成していきましょう。

この記事もどうぞ↓

大学生が儲けるためにPythonで自動取引BOTを作成してみた(ボリバンとRSIを導入)

取引環境について

取引を行うFx会社はOANDAを使用します。理由としては、OANDAは無料で為替情報にアクセスできるAPIを公開しており、

それをPythonで扱えるパイソンのモジュールもあります。

自分はパイソンを使って自動取引BOTを作成するため、非常に都合が言い訳です。なので、今回はOANDAを使用することにしました。

OANDAをPythonで使用するためのガイドラインは以下の記事にあります。

参考記事↓

PythonでOANDA APIを使って、過去レートを5000件以上取得する方法

 

また、今後の長期利用のためにも作成した取引BOTを外部サーバーで実行できるように、Xサーバーを使用しました。

Xサーバーでパイソン環境を整える記事は以下にあります。

参考記事↓

SSH接続の仕方とXサーバー上でPythonを動かそう!

 

上記の環境で取引BOTを作成していきます。Pythonのバージョンは最新のものを使用しています。

 

スポンサードリンク

取引BOTの仕組み

今回はMACDと呼ばれるテクニカル指標を用いて、取引条件の指定を行う取引BOTを作成します。

MACDとは??

簡単に話すと、短期と長期の指数平滑移動平均線の差の値から、市場の売られ過ぎ変われ過ぎを判断するテクニカル指標です。

大まかに二つの値で構成されており、詳しい計算式はググってください。

実際に為替市場の場で使う場合では、MACDラインとsignalラインの二つの値をみて判断していきます。

MACDラインとは、先ほど紹介した、短期(12)長期(26)の指数平滑移動平均線の差の値

signalラインとは、指定した期間におけるMACDの平均値です。(通常9本分)

 

MACDの使い方

実際に市場で使う場合、MACDとsignalの値の位置関係から売買の判断をします。

・買いポジションを持つ条件:MACDとsignalの値が0より小さく、MACDラインがsignalラインを下から突き抜けた場合

・売りポジションを持つ条件:MACDとsignalの値が0より大きく、MACDラインがsignalラインを上から突き抜けた場合

これらの条件が発生した時に、トレンドが発生するというメジャーなテクニカル指標です。

 

取引条件

以上のことを踏まえて、取引の条件を以下の表に記します。

このような条件で取引BOTを作成します。

今回は、ドル円の1時間足を使用して行うのと、上記で紹介している内容も踏まえており、それらを考慮した上で下記のコードを参照してください。

基本的には、この記事(PythonでOANDA APIを使って、過去レートを5000件以上取得する方法)の通りに環境を整えていれば、コードをコピペするだけで使用することが可能です。

 

自動取引BOTの作成

それでは、BOTの中身のコードを下記に記します。

コードの説明は随時コメントにて記してありますが、それでも分からないという方、

または、間違いがあるよ!やこうする方がもっと上手くいくよ!っていうのがある方は、

ツイッターなどでコンタクトを取っていただけると幸いです。

 

総括

この手のモデルはありふれていますが、実際に自分で書いて動かしてみるということを体験してみると、

理解が深まったり、実際に利益が出るのかどうかなどを体感することができ、バックテストだけでは味わえない面白さというものがあります。

 

ぜひ、皆さんも今回を機に自動取引BOTの作成にチャレンジしてみてはいかがでしょうか?!?!?

 

ではでは、以上マスオカでした。

報告!!実際に利益の出たプログラムをnoteにて販売中!!

自分が長いこと研究して実際に1週間に3%ほどの利益を上げれている自動取引BOTを下記のリンク先にて公開中です!気になるかたはぜひご覧ください!

FxトレーダーでOANDA使ってる方、Pythonで作ったこの自動売買BOTを試して欲しいです。

スポンサードリンク