技術資料

システムの概要 

  1. MT5からTickデータを取得,指定した時間足ごとにリサンプリングし,csvファイルに保存.
    detaget.png
  2. csvファイルから時間足データを取得し,15個のインジケーターそれぞれを同時に最適化,最適なパラメータをそれぞれ保存.
    paraopt.png
  3. 全てのパラメータにおける最適な値をファイルから取得,そのパラメーターを使用し直交表に基づいた16個のルールについてバックテスト,そのときの評価指標を取得.
    直交表と評価指標を回帰分析しそれぞれのインジケーターの主効果を算出し,それらをもちいて2^15通りの組み合わせに対して評価の予測値を算出.
    全ての評価値を用いて最適なルールの組み合わせを選択する.
    ruleselect.png
  4. 最適なルールの組み合わせで実際に売買を行う.

動作を確認している環境 

以下の環境で,動作を確認している.

OS:Windows 10 Home(Version 20H2)
Python:Version 3.8.10

準備する 

MetaTrader 5 

「MetaTrader 5」(以下,「MT5」)は,外国為替市場(FX)などを取引するためのプラットフォームである.

ダウンロードとインストール 

【公式サイト】からインストーラをダウンロードし,インストールする.

Python 

「Python」は,インタープリタ型のプログラミング言語であり,ほかのプログラミング言語よりも,「ライブラリ」と呼ばれる拡張機能を簡単にダウンロード,インストールし,自身のプログラムに組みこめることが特徴である.

ダウンロードとインストール 

【公式サイト】から,適切なインストーラをダウンロードし,インストールする.

バージョンは,サポート期間中のものであればどれでもよいと思われるが,
この記事を執筆したときのバージョンは,前述のとおり「3.8.10」である.

くわしい手順は,【このページ】あたりを参考にするとよいだろう.

正しくインストールされていれば,コマンドプロンプトで「py -V」とコマンドを実行すると,
インストールされているバージョンが表示されるはずである.

Pythonのライブラリ 

以下は,プログラムで使用しているPythonのライブラリである.

みどりで書かれたライブラリは,コマンドプロンプトで「py -m pip install [パッケージ名]」を実行すると,Pythonに標準で付属しているソフトウェア「pip」が,便利なことに,インターネットから勝手にダウンロードしてインストールしてくれる.

あかで書かれたライブラリ(talib)は,「pip」でもインターネットから拾ってこられないため*1,手動でダウンロードする必要がある.

TA-Lib(talib)のダウンロードとインストール 

【公式サイト】から,適切なものをダウンロードする.

例外もあるが,基本的には以下のようなファイル名になっている.

TA_Lib-x.x.x-cpyy-cpyy-winz.whl

x.x.x:TA-Libのバージョン(「0.4.21」など)
yy:Pythonのバージョン(たとえば,「3.8.10」であれば「38」)
z:Windows OSのビット数(64ビットであれば「_amd64」,32ビットであれば「32」)

Pythonのバージョン,およびWindows OSのビット数は,コマンドプロンプトで,
それぞれ「py -V」,「echo %PROCESSOR_ARCHITECTURE%」を実行することで,確認できる.

ダウンロードしたら,コマンドプロンプトで,
py -m pip install .\Downloads\TA_Lib-x.x.x-cpyy-cpyy-winz.whl
を実行する.正しくインストールされれば,「Successfully installed~~~」と表示される.

プログラム 

以下のフォルダに,卒論に記載されているシステムのプログラムなどがある.

――――――――――

――――――――――

ダウンロードののち,解凍して,「C:\Users\[ユーザ名]\」など,
分かりやすいところに置くとよいだろう.

フォルダのなかは,以下のようになっている.


プログラムを修正する 

上記であかで書かれているプログラム(まあ,ぜんぶであるが…)は,
csvファイルを書きこんだり,読みこんだりする,一部修正が必要である.

MT5の準備 

以下のファイルをダウンロードする

ただし,Trade.csvは以下の手順で保存する.
「右クリック」→「名前を付けてリンク先を保存」
ファイル名は変えずにそのまま保存する.
各ファイルの配置を以下に示す.
MQL5→includeにinitmq4.mqh, stdlib.mqh, stderror.mqhの三つを入れる.

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

MQL5→FilesにTrade.csvを入れる.

次に,以下のファイルをダウンロードする.

プログラムを実行する 

このプログラムは,

実行前の準備 

実行では,PCが2台必要になる.1台目のPCは短期を担当し,もう片方のPCが長期を担当することになる.また,今回は短期を基準とした実行方法を示す.
まず,短期,長期の両方が同じWi-fiのアクセスポイントに接続されていることを確認する.

短期側の場合 

以下は,短期における実行方法を示す.
common.csvを開き,「Trend_flag」の項目に「0」を入力する.
次に,data_shortの値を「10S」に変更する.
長期側にファイルを共有させる必要があるため,
エクスプローラー→MT5のファイル右クリック→アクセスを許可する→特定のユーザー→everyoneを選択
これによって長期側にファイルの共有が可能になる.

長期側の場合 

以下は,長期における実行方法を示す.
common.csvを開き,「Trend_flag」の項目に「1」を入力する.
次に,data_shortの値を「10S」に変更し,usedataを「long」に変更する.
windowsキー+Rで「ファイル名を指定して実行」を起動→短期側のパスを入力
短期側の以下のファイル

プログラムの実行 

以下のプログラムを記述されている順番に実行させる.


*1 厳密にいうと,「pip」でダウンロードできるライブラリは,「Python Package Index(PyPI)」に登録されているものだけであり,「talib」はそこに登録されていない.

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