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










0 件のコメント:

コメントを投稿