技術資料

卒業研究(大谷)

目次 

売買ルールの基礎知識 

1. 目標 

FXのTick情報を収集し、データを用いてテクニカル分析を行い、オンラインのデモトレードで利益や損失を確定していく。

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

以下のサイトを参考にして行った。
参考サイト第九回 MT5とPythonを連携してみよう!

pythonは予めインストールされているものとする。
また、プログラムの見やすさや、実行のしやすさにおいて、visual stdio codeを使ってpythonを書くのがおすすめ。

Win10ではコマンドプロンプトを起動し、必要なライブラリをインストールする。 インストールの仕方はコマンドプロンプトで

pip install MetaTrader5

のように入力してインストールする。

今回インストールが必要なのは、

(インジケータの計算に利用するTA-Libはインストールの仕方が特殊なため、後述する)

その後以下のサイトからMT5をインストールする。
※ここでのMT5は前述したpip install MetaTrader5のMT5とは名前が同じだけで別物。

下記のリンクでインストールするものはアプリ
MetaTrader 5をダウンロードしましょう

MT5での最低取引量は0.01lot(10000通貨)なので残高は大体10万以上にしておくべき

MT5の左上のファイル→デモ口座を開くから残高を増やすことができる

3. TA-Libのインストール 

参考サイトWindows環境のPythonでTA-Libを使えるようにする

  1. 環境の確認 まず、使っているパソコンが何ビットなのを確認する。
    「スタート」→「コントロールパネル」→「システムとセキュリティ」→「システム」
    ここに書いてある「システムの種類」が32ビットなのか64ビットなのかを覚えておく。
    次に、使っているpythonのバージョンを確認する。コマンドプロンプトを呼び出し、
    python -V
    と入力するとpythonのバージョンが確認できる。

  2. ダウンロード コンパイル済みのTA-Libをダウンロードします。
    Unofficial Windows Binaries for Python Extension Packages
    上記のURLの中に「TA-Lib」があるので探す。 TA-Libにもいろんなバージョンがあり、その中で自分の環境に合ったものをダウンロードする。PCは64ビット、pythonのバージョンは3.6.4の場合、
    TA_Lib‑0.4.17‑cp36‑cp36m‑win_amd64.whl
    これをダウンロードする。「win_amd64」がパソコンのビット数を指し、「cp36」がpythonのバージョンを指している。ここが自分の環境に合ったものをダウンロードする。
    その後、ダウンロードファイルを、さきほどコマンドプロンプトを開いた際に表示されたフォルダに保存する。例えば、C:\Users\user>と出たなら、user直下に保存する

  3. インストール ダウンロードしたので、インストールする。コマンドプロンプトを呼び出し、
    python -m pip install TA_Lib‑0.4.17‑cp36‑cp36m‑win_amd64.whl
    と打ち込む。(TA_Lib以下を自分がインストールしたものに書き換えるのを忘れずに)
    Successfully installed ~~~
    と表示されたら完了。

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→FilesにTrade.csvを入れる。

program.pyの場所は任意で大丈夫。

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

※念のため、自動売買を実行したとき正常に動かなかった場合下に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のディレクトリを書き換える。

下記の画像の場所を自分に合ったディレクトリに変更する。
↓(この写真は古い方のプログラムですが同じようにパスが書いてある部分がdemo.pyの中にもあるので同じようにしてください)↓

6.png

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

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓以下program.pyについて(新しい方できたら消します)↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

#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による自動売買"

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

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓以下demo.pyについて(作成中)↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

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