前提・実現したいこと
MT5のtickデータを取得したいので パイソンの勉強しています。
今回 VSコードに コピペで実行試して見ましたが
pip install MetaTrader5
pip install matplotlib
pip install pandas
from datetime import datetime
import matplotlib.pyplot as plt
import pandas as pd
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
import MetaTrader5 as mt5
connect to MetaTrader 5
if not mt5.initialize():
print("initialize() failed")
mt5.shutdown()
request connection status and parameters
print(mt5.terminal_info())
get data on MetaTrader 5 version
print(mt5.version())
request 1000 ticks from EURAUD
euraud_ticks = mt5.copy_ticks_from("EURAUD", datetime(2020,1,28,13), 1000, mt5.COPY_TICKS_ALL)
request ticks from AUDUSD within 2019.04.01 13:00 - 2019.04.02 13:00
audusd_ticks = mt5.copy_ticks_range("AUDUSD", datetime(2020,1,27,13), datetime(2020,1,28,13), mt5.COPY_TICKS_ALL)
get bars from different symbols in a number of ways
eurusd_rates = mt5.copy_rates_from("EURUSD", mt5.TIMEFRAME_M1, datetime(2020,1,28,13), 1000)
eurgbp_rates = mt5.copy_rates_from_pos("EURGBP", mt5.TIMEFRAME_M1, 0, 1000)
eurcad_rates = mt5.copy_rates_range("EURCAD", mt5.TIMEFRAME_M1, datetime(2020,1,27,13), datetime(2020,1,28,13))
shut down connection to MetaTrader 5
mt5.shutdown()
#DATA
print('euraud_ticks(', len(euraud_ticks), ')')
for val in euraud_ticks[:10]: print(val)
print('audusd_ticks(', len(audusd_ticks), ')')
for val in audusd_ticks[:10]: print(val)
print('eurusd_rates(', len(eurusd_rates), ')')
for val in eurusd_rates[:10]: print(val)
print('eurgbp_rates(', len(eurgbp_rates), ')')
for val in eurgbp_rates[:10]: print(val)
print('eurcad_rates(', len(eurcad_rates), ')')
for val in eurcad_rates[:10]: print(val)
#PLOT
create DataFrame out of the obtained data
ticks_frame = pd.DataFrame(euraud_ticks)
convert time in seconds into the datetime format
ticks_frame['time']=pd.to_datetime(ticks_frame['time'], unit='s')
display ticks on the chart
plt.plot(ticks_frame['time'], ticks_frame['ask'], 'r-', label='ask')
plt.plot(ticks_frame['time'], ticks_frame['bid'], 'b-', label='bid')
display the legends
plt.legend(loc='upper left')
add the header
plt.title('EURAUD ticks')
display the chart
plt.show()
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
invalid syntax (<unknown>, line 1)
"eurusd": Unknown word. が出ました
Anaconda。MT5 pypi、パンダス、python 3.9を入れています。
構築は3回目です。 何か間違っているのでしょうか?
ここにより詳細な情報を記載してください。