FXのTick情報を収集し、データを用いてテクニカル分析を行い、オンラインのデモトレードで利益や損失を確定していく。
以下のサイトを参考にして行った。
参考サイト第九回 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の左上のファイル→デモ口座を開くから残高を増やすことができる
参考サイトWindows環境のPythonでTA-Libを使えるようにする
「スタート」→「コントロールパネル」→「システムとセキュリティ」→「システム」ここに書いてある「システムの種類」が32ビットなのか64ビットなのかを覚えておく。
python -Vと入力するとpythonのバージョンが確認できる。
TA_Lib‑0.4.17‑cp36‑cp36m‑win_amd64.whlこれをダウンロードする。「win_amd64」がパソコンのビット数を指し、「cp36」がpythonのバージョンを指している。ここが自分の環境に合ったものをダウンロードする。
python -m pip install TA_Lib‑0.4.17‑cp36‑cp36m‑win_amd64.whlと打ち込む。(TA_Lib以下を自分がインストールしたものに書き換えるのを忘れずに)
Successfully installed ~~~と表示されたら完了。
注意点として、口座番号は上記で作ったXMの口座IDである。
今回使うファイルは5つあり、一つ目がpythonのファイルで、残りはMT5用のファイルである。
[pythonのファイル]
↓こっち古いやつだから入れなくていいです(あとで消します)↓
#ref(): File not found: "program.py" at page "MetaTrader5とPythonによる自動売買"
↓こっちインストールしてください↓
[MT5のファイル]
MT5用のファイルの置き場所を下記に示す
まず、MT5を起動し、左上のファイルからデータフォルダを開くを押す。
そのあと、開いたフォルダの
MQL5→includeにinitmq4.mqh、stdlib.mqh、stderror.mqhの三つを入れる。
MQL5→scriptsにTradeAI.mq5を入れる。
MQL5→FilesにTrade.csvを入れる。
program.pyの場所は任意で大丈夫。
これでファイルの配置は終了。
次に、TradeAI.mq5のコンパイルを行う。
以下の画像に従う。
これでファイルのコンパイルは終了
次にUSDJPYのチャートを表示する
次にTradeAIをUSDJPYに入れる。
※もし、ウィンドウが出てきたらで自動売買の許可にチェックを入れる。
その後、上のタブからツール→オプションで下記の画像の箇所にチェックを入れ、OKを押す。
これでMT5の設定は終わり。
次にpythonのprogram.pyをメモ帳などで開き、Trade.csvのディレクトリを書き換える。
下記の画像の場所を自分に合ったディレクトリに変更する。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓以下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について(作成中)↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
MT5を起動した状態でprogram.pyをコマンドプロンプトから実行することで、自動売買が開始される。
上記写真で用いている、Visual Studio Codeで実行する場合右上の緑△ボタン押すことで自動でターミナルが起動され、プログラムを実行できる。
※また、取引が行われたときに効果音が鳴る。短期と長期の間隔が小さすぎると小さい間隔で取引が行われるので、音が連続で鳴り続けてしまう。デフォルトでは短期が200秒、長期を500秒にしてあるため、連続で音は鳴らないようになっている。
模試気になる場合は、MT5画面上のツールタブ→オプション→イベントの音声アラートを有効にするのチェックを外す。
実際に動作している状態の画像を下記に載せる。
Ctrl+T上記写真の赤線で囲われた取引履歴などを見るツールボックスが表示される
2020/1/8の1:00~2020/1/8の16:00の間動かした結果 525.86円の損失だった。
また、短期と長期の間隔を20秒、50秒から100秒、200秒に変更し同じ期間自動売買を行った結果、損失を421.5円減らすことができた。
半日自動売買を行った結果損失はゴールデンクロスに比べ低くなった。
MQL5ファイルを上記のものに置き換え、支障なく動作することを確認できました。
期間:2020.02.05 17:19 ~20:30 (3時間10分) 結果:-130.33 (損失)