技術資料

目次 

0. 売買ルールの基礎知識 

【ゴールデンクロスとデッドクロス】 

ゴールデンクロスとは、短期の単純移動平均線が、長期の単純移動平均線を下から上に突き抜けるケースのこと。買いシグナルの一つ。

g.jpg

デッドクロスは、逆に短期の単純移動平均線が、長期の単純移動平均線を上から下に突き抜けるケースのこと。売りシグナルの一つ。

d.jpg

参考ページ https://money-campus.net/archives/4024

【MACD】 

MACD(マックディー)は日本語で、移動平均収束拡散法。

単純移動平均ではなく指数平滑移動平均を使い取引していく。

また、指数平滑移動平均は新しい価格の比重が高いのが特徴。

MACDという線(短期平均-長期平均)とシグナルという線(MACDの単純移動平均)の二本の線の推移でマーケットの判断を行う。

m.png

参考ページ https://www.jibunbank.co.jp/products/foreign_deposit/chart/help/macd/

      https://orekabu.jp/view-of-macd/

【ストキャスティクス】 

ストキャスティクスは一定期間の高値と安値を活用して、買われ過ぎなのか売られ過ぎなのかを判断する指標の一つ。

ストキャスティクスの種類は、動きの速い「ファースト」(%K・%D)と動きの緩やかな「スロー」(SLOW%D)がある。

s.png

参考ページ https://www.jibunbank.co.jp/products/foreign_deposit/chart/help/stochastic/

【ボリンジャーバンド】 

ボリンジャーバンドは、標準偏差と正規分布の概念が用いられている。

ある一定の確率で値動きが収まりやすいレンジを『σ(シグマ)』と呼ぶ。

平均値からみて上のレンジを+1σ、下のレンジを-1σと呼び、これを二倍したものが+2σ・-2σになる。

b.png

正規分布のグラフも参考にすると、値動きが異常なのかσの範囲を見ることで判断しやすい。

b2.PNG
b3.PNG

参考ページ https://www.jibunbank.co.jp/products/foreign_deposit/chart/help/bollinger_band/

1. 目標 

FXのTick情報を収集すると同時に,ゴールデンクロスというテクニカル分析を行い,オンラインのデモトレードで利益や損失を確定していく。

また、単純移動平均のほかにストキャスティクスも用意してある。

今回、動作確認をする時間を長く設けられないため、短期移動平均を20秒、長期移動平均を50秒に設定し、動作確認をするものとする。

一般的には短期の場合でも、移動平均は5日、6日、12日などの期間で行う。

2. 【Windows】pythonのパッケージとMT5のインストール 

以下のサイトを参考にして行った。

pythonは予めインストールされているものとする。

また、プログラムの見やすさや、実行のしやすさにおいて、visual stdio codeを使ってpythonを書くのがおすすめ

Win10ではコマンドプロンプトを起動し、pip install MetaTrader5を入力してインストールする。

※MetaTrader5 5.0.8までのバージョンを使わないと、プログラムが動かないので、pip show MetaTrade5のコマンドをしてLocationのアドレスをコピーして、そのディレクトリーに下記のZIPファイルを解凍して入れる。

また、今回は、時間関連処理も行うのでpip install pytzもインストールしておく。

その他にも、pandas、numpy、mpl_finance、pytiも同じようにインストールしておく。

その後、デモ口座を開設するためにXMのアカウントを作る。

XMの指示に従いMT5のモジュールのダウンロードとインストールを行う。

3. 【Mac】pythonとMT5のインストール、Playonmacをインストールする必要がある 

※Playonmacとは、Mac環境内にWindowsアプリを入れられるようにする物である 動作確認もしていないので、できるか不明。 Macは以下を参考にし、インストールし、2番と同じ手順でMT5を入れることが出来る

https://www.metatrader5.com/ja/terminal/help/start_advanced/install_mac

4. MT5で自動取引を行う~準備~ 

注意点として、口座番号は上記で作ったXMの口座IDである。

今回使うファイルは5つあり、一つ目がpythonのファイルで、残りはMT5用のファイルである。

[pythonのファイル]

#ref(): File not found: "program.py" at page "MetaTrader5とPythonによる自動売買"

[MT5のファイル]

MT5用のファイルの置き場所を下記に示す

まず、MT5を起動し、左上のファイルからデータフォルダを開くを押す。

1.png

そのあと、開いたフォルダの

MQL5→includeにinitmq4.mqh、stdlib.mqh、stderror.mqhの三つを入れる。

MQL5→scriptsにTradeAI.mq5を入れる。

これでファイルの配置は終了。

※念のため、自動売買を実行したとき正常に動かなかった場合下にMQL5のフォルダをzip形式に圧縮したものがある。

なので解凍したMQL5と元からあったMQL5のフォルダを置き換えるとよい。

次に、TradeAI.mq5のコンパイルを行う。

以下の画像に従う。

2.png
3.png

これでファイルのコンパイルは終了

次にUSDJPYのチャートを表示する

11.png

次にTradeAIをUSDJPYに入れる。

※もし、ウィンドウが出てきたらで自動売買の許可にチェックを入れる。

12.png

その後、上のタブからツール→オプションで下記の画像の箇所にチェックを入れ、OKを押す。

5.png

これでMT5の設定は終わり。

次にpythonのprogram.pyをメモ帳などで開き、Trade.csvのディレクトリを書き換える。

下記の画像の場所を自分に合ったディレクトリに変更する。

6.png

5. MT5で自動取引を行う~プログラムの説明~ 

#ref(): File not found: "14.png" at page "MetaTrader5とPythonによる自動売買"

Tickデータの取得と格納方法。【キーワード】データフレーム、Pandas、MT5 python

#ref(): File not found: "15.png" at page "MetaTrader5とPythonによる自動売買"

買い(売り)シグナルは、このページの上部、【ストキャスティクス】参照

#ref(): File not found: "16.png" at page "MetaTrader5とPythonによる自動売買"

買い(売り)シグナルは、このページの上部、【ゴールデンクロスとデッドクロス】参照

6. MT5で自動取引を行う~実行~ 

MT5を起動した状態でprogram.pyをコマンドプロンプトから実行することで、自動売買が開始される。

上記写真で用いている、Visual Studio Codeで実行する場合右上の緑△ボタン押すことで自動でターミナルが起動され、プログラムを実行できる。

※また、取引が行われたときに効果音が鳴る。短期と長期の間隔が小さすぎると小さい間隔で取引が行われるので、音が連続で鳴り続けてしまう。デフォルトでは短期が200秒、長期を500秒にしてあるため、連続で音は鳴らないようになっている。

模試気になる場合は、MT5画面上のツールタブ→オプション→イベントの音声アラートを有効にするのチェックを外す。

実際に動作している状態の画像を下記に載せる。

7.png
8.png

Ctrl+T上記写真の赤線で囲われた取引履歴などを見るツールボックスが表示される 

7. MT5で自動取引を行う~結果~ 

【単純移動平均ゴールデンクロスの実行結果】 

9.png

2020/1/8の1:00~2020/1/8の16:00の間動かした結果 525.86円の損失だった。

10.png

また、短期と長期の間隔を20秒、50秒から100秒、200秒に変更し同じ期間自動売買を行った結果、損失を421.5円減らすことができた。

【ストキャスティクスの実行結果】 

13.png

半日自動売買を行った結果損失はゴールデンクロスに比べ低くなった。

7.2. 実行結果(2020/2/6追記、渡辺) 

MQL5ファイルを上記のものに置き換え、支障なく動作することを確認できました。

z1.PNG

期間:2020.02.05 17:19 ~20:30 (3時間10分) 結果:-130.33 (損失)

z2.PNG

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS