2022年10月28日金曜日

MT5をPYTHONで操作しよう②

 前回はPythonでMT5にログインをしました

MT5TOKIO MT5をPYTHONで操作しよう①

今日はMT5からデーターを取得しグラフにします。

①初期設定

#pip install MetaTrader5

import MetaTrader5 as mt5

from datetime import datetime

import matplotlib.pyplot as plt

mt5.initialize()

詳しくは前回の記事を御覧ください。

②過去データーの取得

copy_rate_range()に通貨ペア 時間足 取得開始日時 取得終了日時を与えます。

usdjpy = mt5.copy_rates_range("USDJPY.ps01",mt5.TIMEFRAME_M1,datetime(2022,10,15,20), datetime(2022,10,24,12))

※通貨ペアはUSDJPYだけでなくサフィックス(今回はフィリップ証券を使用していますので.ps01)が必要です。
時間足の記述はmt5.TIMEFRAME_xxです。
取得開始日時、取得終了日時はdatatime を使用します。

作画についてはmatplotlibを調べてください。

MT5はスプレッドが記録されるのが特徴ですので、介入時のスプレッドを見てみます。

赤線:USDJPYレート
青線:スプレッド

介入時にスプレッドがおもしろい上がり方をしています。
Pythonはデーターの扱いが簡単ですので、MT5では苦労することも簡単にできますね

全コード

#pip install MetaTrader5
import MetaTrader5 as mt5
from datetime import datetime
import matplotlib.pyplot as plt
mt5.initialize()
usdjpy = mt5.copy_rates_range("USDJPY.ps01",mt5.TIMEFRAME_M1,datetime(2022,10,15,20), datetime(2022,10,24,12))
close=[]
spread=[]
for i in list(usdjpy):
    close.append(i[1])
    spread.append(i[5])
fig = plt.figure()
ax1 = fig.subplots()
ax2 = ax1.twinx()
ax1.plot(close,color="red")
ax2.plot(spread,color="blue",lw=1)
plt.show()
mt5.shutdown










2022年10月26日水曜日

MT5をPYTHONで操作しよう①

MT5はEA開発者にとって最適化が複数のコアででき時間短縮のメリットがありますが、コードがややこしいことは大きなハードルになっていると思います。

そのためかMT5にはcTrader ライブラリーが標準で組み込まれていたり、Pythonで操作できるパッケージが用意されています。

今回はPythonをつかってMT5にログインをします。


環境

MT5(フィリプ証券)build 3446
Windows 11 Pro 21H2 22000.1098
Jupyter Lab 3.2.9
Python 3.8.10


準備①

MT5の設定

「ツール(T)」→「オプション(O)」



アルゴリズム取引を許可にチェックを入れる
外部Python APIを介したアルゴリズム取引を無効にするのチェックを外す




準備② ライブラリーのインストール

pip install MetaTrader5

※pipが古くつまずきました うまくいかない特はアップグレードしてください。


MT5の接続

import MetaTrader5 as mt5

mt5.initialize()


initialize()でMT5と接続されます。成功したときはTrueが表示されます。

※MT5が起動していないときは最後に起動したMT5が起動します。

PCに複数のMT5をインストールしてあり、起動したいMT5を指定する場合

mt5.initialize('C: ~フルパス~')


MT5 バージョンの確認

mt5.version()

結果は(500, 3446, '24 Sep 2022')が返ってきました。


MT5 ログイン 

mt5.login( xxxxxxx, password="yyyyyyy", server="trading.phillip-mt5.jp:443")

ログイン情報を入れてください。 xxxxxxxx はログイン:に入れる値 yyyyyyはパスワード:に入れる値 serverはサーバー:に入れる値です。


※ログインしなくても価格などは取得できるようです。
ログインすることで取引ができるようになります。












2022年10月25日火曜日

為替介入について

 最近為替介入で相場が楽しくなってきています。

あらためて介入ってなんだろうと思い整理をしてみました。


為替介入とはなんですか 日銀

目的:為替相場の急激な変動を抑え、その安定化を図ること

※目的は価格操作ではなく、ボラティリティを抑えることです。

誰がする:財務大臣の判断で日銀、もしくは海外の通貨当局が実行します。

資金は?:円安の場合 外為特会の保有するドル資金を売却して、円を買い入れる

※資金は無限ではないようです。19兆円(日経新聞)程度との予測もあります。
9/22 2.8兆円(Bloomberg) 10/21 5.5兆円(毎日新聞
残り10.7兆 22日も大きな動きがありましたのでもう資金が底をついているかもしれません。


過去の介入状況は?

ドル買いの日別介入日回数です。
報告は1日に複数回介入してもまとめられますので日別でだしています。


輸入業者は支払い日までにドルを手に入れる必要があります。
締め日が多い25日に介入が少ないのは日銀の配慮でしょうか

今回のような円買いの介入は32回しかありませんので、データとして貧弱です。

曜日別

※月金が多いようです。


今回も10/21(金) 10/25(月)でしたね。