Прежде чем ценовые данные будут доступны в терминале MetaTrader 5, их необходимо получить и обработать. Для получения данных требуется подключение к торговому серверу MetaTrader 5. Данные поступают с сервера по запросу терминала в виде экономно упакованных блоков минутных баров. Механизм обращения к серверу за данными не зависит от того, каким...
Прежде чем ценовые данные будут доступны в терминале MetaTrader 5, их необходимо получить и обработать. Для получения данных требуется подключение к торговому серверу MetaTrader 5. Данные поступают с сервера по запросу терминала в виде экономно упакованных блоков минутных баров. Механизм обращения к серверу за данными не зависит от того, каким...
from datetime import datetime
import MetaTrader5 as mt5
# выведем информацию о версии MetaTrader 5
print(mt5.version())
# установим подключение к терминалу MetaTrader 5if not mt5.initialize():
print("initialize() failed, error code =",mt5.last_error())
quit()
# подключимся к торговому счету без указания пароля и сервера
account=17245465
authorized=mt5.login(account) # пароль будет взят из базы терминала, если указано помнить данные для подключения
if authorized:
# выведем данные о торговом счете как есть
print(mt5.account_info())
# выведем данные о торговом счете в виде списка
print("Show account_info()._asdict():")
account_info_dict = mt5.account_info()._asdict()
for prop in account_info_dict:
print(" {}={}".format(prop, account_info_dict[prop]))
else:
print("failed to connect at account #{}, error code: {}".format(account, mt5.last_error()))
# запросим статус и параметры подключения
print(mt5.terminal_info())
# получим информацию о версии MetaTrader 5
print(mt5.version())
x= mt5.symbols_total()
print('количество всех финансовых инструментов в терминале MetaTrader 5=', x)
# получим все символы
symbols=mt5.symbols_get()
print('symbols=', symbols)
# получим бары с разных инструментов разными способами
eurusd_rates = mt5.copy_rates_from("EURUSD", mt5.TIMEFRAME_M30, datetime(2020, 1, 28, 13), 1000)
# DATA
print('eurusd_rates', eurusd_rates )
# завершим подключение к MetaTrader 5
mt5.shutdown()
Признак отрисовки ценового графика. Если установлено значение false, то отключается отрисовка любых атрибутов ценового графика и устраняются все отступы по краям графика: шкалы времени и цены, строка быстрой навигации, метки событий Календаря, значки сделок, тултипы индикаторов и баров, подокна индикаторов, гистограммы объёмов и т.д. Значение...
@Almaz
copy_xxx_xxx 関数を初めて実行するとき、端末がしばらく起動していない場合、
関数は履歴スワップの同期を待たずに、利用可能な結果を欠落した履歴で即座に返します。
これは、最初の関数呼び出しが、履歴を欠いた結果を返すことを意味します。
履歴を入れ替えた場合、その後の呼び出しでのみ正しい結果が返されます。
この問題を解決することは可能ですか?また、関数 copy_xxx_xxx は、最初の呼び出しで履歴がスワップされるのを待ちます。
copy_ticks or copy_rates? ターミナルのビルドは何ですか?
@Almaz
copy_xxx_xxx 関数を初めて実行するとき、端末がしばらく起動していない場合、
関数は履歴スワップの同期を待たずに、利用可能な結果を欠落した履歴で即座に返します。
これは、最初の関数呼び出しが、履歴を欠いた結果を返すことを意味します。
履歴を入れ替えた場合、その後の呼び出しでのみ正しい結果が返されます。
この問題を解決することは可能ですか?また、copy_xxx_xxx関数は、最初の呼び出しで履歴がスワップされるのを待ちます。
続きを読むデータアクセスの整理、Pythonライブラリは関係ない。これは標準的な動作で、このような状況に対応し、端末がスワップした後に履歴を再要求する必要があります。
これは1回だけなので、致命的ではありません。常にスクリプトから端末を操作していれば、既存の履歴を常に最新に保つことができます。
copy_ticksかcopy_ratesか? ターミナルのビルドはどちらか?
copy_ratesを使用しましたが、copy_ticksも同じになると思いますが、確認していません。
ビルド2470
Organize Data Accessを 読むと、Pythonのライブラリとは関係ないことがわかります。これは標準的な動作で、このような状況を処理し、端末がバウンスした後に履歴を再要求する必要があります。
これは1回だけなので、致命的ではありません。常にスクリプトから端末を操作していれば、既存の履歴を常に最新に保つことができます。
また、一般的には、履歴の入れ替えを待たずに、Copy関数に不正なデータを受け取らせ、その結果を与えるのはおかしいと思います。それとも、CheckLoadHistoryを 同じように整理する必要があると言いたいのでしょうか。
なぜ、この機能を標準搭載しないのか?MqlとPyのライブラリ用。
このセクションを読むと、Mql5について言及しています。
また、一般的に、Copy関数で不正なデータを許可し、履歴の入れ替えを待たずに結果を出すのはおかしいと思います。それとも、CheckLoadHistoryを 同じように整理する必要があると言いたいのでしょうか?
この機能を標準で導入してはどうだろうか。MqlとPyのライブラリ用。
MQL5で作業する場合、 データへのアクセスを整理する セクションの問題はそれほど特別なものではありません。私たちはこのセクションを広く研究してきました。そして、それを利用するのです。
Pythonの場合は、なぜ違うのでしょうか?
やはり、メインコアはMQL5で、それを知っていないとダメですね。そして、その後に初めてPythonを適用する必要があるのです。
このセクションを読むと、Mql5について言及しています。
また、一般的にCopy関数で不正なデータを許可し、履歴の読み込みを待たずに結果を返すのはおかしいと思います。それとも、CheckLoadHistoryを 同じように整理する必要があると言いたいのでしょうか?
この機能を標準で導入してはどうだろうか。MqlとPyのライブラリ用。
Pythonライブラリは、手動、MQL5、またはPythonからのスクリプトを使用して、それが要求された方法に関係なく、一般的にMetaTrader 5ターミナルから データを要求することができます。
MQL5プログラムやPythonスクリプトの開発者は、データを扱う際のロジックや構成に責任を持ちます。
午後
PowerShellでターミナルに接続するオプションはありますか? もし方法をご存知の方がいらっしゃいましたら、情報を頂けると幸いです。
pythonの経験がないので、私が一番知っているものを使いたい))
ごきげんよう。
ライブラリを接続し、PythonはMt5と通信しており、アカウント情報を 取得していますが、相場は一切読み込まれません。助けていただけますか?
Pythonバージョン3.7.6
結果
ごきげんよう。
ライブラリを接続し、pythonはMt5と通信し、アカウント情報も 取得していますが、相場が一切読み込まれません。助けていただけますか?
Pythonバージョン3.7.6
結果
コードを正しく挿入してください(ボタン使用 )。
コードを正しく挿入してください(ボタンを使用してください)
デザインありがとうございます、参考にさせていただきます。