質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

2348閲覧

コピペで 実行しましたが 一行目のpip でエラーが出ました。

perikan_windy

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2021/05/22 04:18

前提・実現したいこと

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回目です。 何か間違っているのでしょうか?

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2021/05/22 04:31

> 今回 VSコードに コピペで実行試して見ましたが 引用元はどこでしょうか?
guest

回答1

0

どこまでがソースなのか良くわかりませんが、タイトルから考えると、

pip install MetaTrader5
pip install matplotlib
pip install pandas

の三行をpythonのソースに入れているようです。そもしそうなら消してください。

そして、シェルのプロンプトでその三行を先に実行してください。それでモジュールがインストールされます。

そのあと、pythonnのコードを実行してみてください。

投稿2021/05/22 04:28

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

perikan_windy

2021/05/22 13:32

ご返答 ありがとうございます。 コマンドプロンプト、ターミナルともに pip..3行を入力してみました "audusd": Unknown word.などの羅列は消えませんでした MT5立ち上げて 実行してもだめで ログイン行がないのが 原因かと思っています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問