動的,時間的データ利活用(FX長短期)

目次 

MetaTrade5とPythonによる自動売買 

MT5長短期 

1.今回動作させた環境 

OS:Windows 11 Pro
Python:3.9.13

MetaTrader5とPythonによる自動売買を先に行っていた場合、

「2.準備するもの」

「4.MT5の準備」

前回行っているので飛ばしてもよい。

2.準備するもの  

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

〈Mac〉

Python入門|Macにダウンロード・インストールする基礎知識

VS CodeでPythonを始めよう!【Mac】

Visual Studio CodeでMacにPython開発環境を整える

〈Windows〉

PythonインストールWindows10(64bit)編

Python+VScode+Windows11の環境構築

(うまくPythonがインストールできない事例があったのでインストールの流れ書いておきます)
リンク先確認:Pythonのインストール方法(Windows)

ubuntuの場合,pipが初期でインストールされていない?からインストールしなきゃいけない.

sudo apt install python3-pip

でインストール。

次にコマンドプロンプトを起動させ必要なライブラリをインストールする。

pip install MetaTrader5

のように

・MetaTrader5
・datetime
・pandas
・numpy
・mplfinance
・backtesting
・scikit-learn
・pulp

をインストールする。

【Mrta Trader 5】

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

下記のリンクでインストールするものはアプリ

MetaTrader 5をダウンロードしましょう

PythonとMT5を連携させる

PythonとMT5を連携する方法を現役エンジニアが解説【初心者向け】

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

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

【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 ~~~
    と表示されたら完了。

3.プログラム 

以下のフォルダに、システムのプログラムなどがある。

----------

----------

ダウンロードしたら、解凍して

C:\Users

の中に「xi」というフォルダを作りそこに解凍したものを置いておく。

フォルダの中は


プログラムを修正する 

上記であかで書かれているプログラムは、 「in_dat」内や「out_dat」内のcsvファイルを書き込んだり、読み込んだりするときに、絶対パスを使ってある。

C:\Users\xi\MT5\

となっているので、先ほど「xi」というフォルダを置いた場所と同じになっているはずである。

4.MT5の準備 

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

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

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

1.png

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

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

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

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

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

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

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

以下の画像のものを立ち上げる。

2.png

ナビゲーターのscriptsからTradeAI.mql5を開く。

3.png

また、修正が2か所あるため以下に示す。

①17行目から25行目までの「extern」を消す。

4.png

②402行目と420行目の{0}の中の0を消す。

5.png

以下の画像のようになればコンパイルを行う。

6.png

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

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

7.png

次にTradeAIをUSDJPYに入れる。

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

8.png

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

9.png

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

次にpythonのdemo.pyをテキストエディタなどで開き、Trade.csvのディレクトリを書き換える。

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

10.png

システムを実行する~ 

1台のPCで実行する 

common.csvを確認する 

common.csv」は,システムの動作を設定するものである.
そのままでは,以下のようになっているはずである.

#ref(): File not found: "common.jpg" at page "MT5長短期"

以下の項目の値が,次のようになっているか確認する.異なっているときは,変更する.

・「use_data」:「short」または「long
インジケータを計算する期間を選択する

・「data_short」/「data_long」:「10S」,「1T」など
「use_data」が「short」のときは,「data_short」の値を,
「long」のときは,「data_long」の値を期間として,インジケータの計算を行う

・「indi_number」:「7」または「15
計算を行うインジケータの数
インジケータの計算には,ある程度の処理能力を必要とする.
「15」個は,相当のマシンパワーを必要とするので,基本的には「7」個でよい.

・「trend_frag」:「2

1台のPCで実行するときは,上記の画像のままでよい.

各プログラムを実行する 

各プログラムを,以下のとおり,順番に実行する.

――――――――――――――

1. tick_data.py

2. 各インジケータを計算するプログラム(順不同)

 「indi_number」が「7」のとき

 ・indi_EMA.py
 ・indi_BBAND.py
 ・indi_MACD.py
 ・indi_RSI.py
 ・indi_STOCH.py
 ・indi_DMI.py
 ・indi_ULTOSC.py

 「indi_number」が「15」のとき

 ・indi_AROON.py
 ・indi_BBAND.py
 ・indi_CCI.py
 ・indi_DMI.py
 ・indi_EMA.py
 ・indi_MACD.py
 ・indi_MFI.py
 ・indi_MOM.py
 ・indi_ROC.py
 ・indi_RSI.py
 ・indi_STOCH.py
 ・indi_TRIX.py
 ・indi_TSF.py
 ・indi_ULTOSC.py
 ・indi_WillR.py

3. rule_generator.py

4. auto_trade.py

――――――――――――――


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