позволяет получить код ошибки в случае неуспешного выполнения какой-либо функции библиотеки MetaTrader 5. Является аналогом GetLastError(), но используются свои коды ошибок. Возможные значения:
Python является современным высокоуровневым языком программирования для разработки сценариев и приложений. Содержит множество библиотек для машинного обучения, автоматизации процессов, анализа и визуализации данных. Пакет MetaTrader для Python предназначен для...
ありがとうございます。その例を見て、うまくいきました。
別の話なんですけどね。
positions_get - トレードポジションのリストを返します。原理的にはOKで、pandasに入れれば問題なく動作します。
でも、パンダ1匹に限らず、こういうのが欲しいというのがあれば。
positions_get の例では、複数の文字列を使用しています。
例
MetaTrader5 をmt5 としてインポート する。
pdとしてpandasをインポート する。
pd.set_option('display.max_columns',500)# 何列で 表示されるか
pd.set_option('display.width', 1500)# 表示されるテーブルの最大幅
# MetaTrader5パッケージのデータを表示します。
print("MetaTrader5パッケージの作者:",mt5.__author__)
print("MetaTrader5パッケージのバージョン: ",mt5.__version__)
print()
# ターミナル MetaTrader 5 への接続を設定します。
mt5.initialize() でない場合。
print("initialize() failed, error code =",mt5.last_error())
終了
# USDCHFのオープンポジションを受け取る
positions=mt5.positions_get(symbol="USDCHF")です。
ifpositions==None:
print("USDCHFのポジションがありません、エラーコード={}".format(mt5.last_error()))
elif len(positions)>0:
print("USDCHFの総ポジション数 =",len(positions))
# print all open positions
を、ポジションの中のポジションのために 使用します。
print(位置)
# 名前に "*USD*" を含むシンボルのポジション一覧を取得する
usd_positions=mt5.positions_get(group="*USD*")です。
usd_positions==None ならば。
print("No positions with group="*USD*", error code={}".format(mt5.last_error()))
elif len(usd_positions)>0:
print("positions_get(group="*USD*")={}".format(len(usd_positions))
# output these positions as a table using pandas.DataFrame
df=pd.DataFrame(list(usd_positions),columns=usd_positions[0])._asdict().keys())
df['time'] = pd.to_datetime(df['time'], unit=s')
df.drop(['time_update', 'time_msc', 'time_update_msc', 'external_id'], axis=1, inplace=True)
print(df)
# ターミナル MetaTrader 5 への接続を終了します。
mt5.shutdown()
結果
MetaTrader5パッケージの作者:MetaQuotes Software Corp.
MetaTrader5パッケージバージョン:5.0.29
position_get(group="*USD*")=5
チケット時間型マジック識別子理由出来高 価格_始値 sl tp 価格_現在 スワップ 利益 シンボル コメント
0 548297723 2020-03-18 15:00:55 1 0 548297723 3 0.01 1.09301 1.11490 1.06236 1.10101 -0.10 -8.00 ユーゴスラビア
1 548655158 2020-03-18 20:31:26 0 0 548655158 3 0.01 1.08676 1.06107 1.12446 1.10098 -0.08 14.22 ユーゴスラビア
2 548663803 2020-03-18 20:40:04 0 0 548663803 3 0.01 1.08640 1.06351 1.11833 1.10098 -0.08 14.58 ユーゴスラビア
3 548847168 2020-03-19 01:10:05 0 0 548847168 3 0.01 1.09545 1.05524 1.15122 1.10098 -0.06 5.53 ユーゴスラビア
4 548847194 2020-03-19 01:10:07 0 0 548847194 3 0.02 1.09536 1.04478 1.16587 1.10098 -0.08 11.24 EURUSD
ヘルプに3つの新機能の説明が追加されました。
また、多くの機能については、改良に伴い説明を変更しています。新機能を反映させるため、ほぼ全てのサンプルを書き直しました。ただし、以下の機能の例は、まだホームページで更新されていませんので、もう少し後になる予定です。
諸君、次スレの連中はリブについて質問しているのだよ。
URL:https://www.mql5.com/en/forum/306742/page11#comment_15595095
応援をお願いします。
そのスレッドで回答
positions_get の例では、いくつかの文字列が使用されています。
ありがとうございました。
そのスレッドで回答
Rashidさん、教えてください、MetaTrader5でテスターを使用することは可能でしょうか?
テスターでモデリングを行う場合、非常に効果的な要素があります。それは、ローカルネットワークファームまたはテスターでシミュレーションタスクを並列化することです。
MetaTrader5でテスターのリソースを使いたいのですが、どうすればいいですか?
なぜこれが必要なのか?Pythonで計算できないの?驚きました。
ヘルプには、ライブラリのインストールとアップデートの方法が記載されています -https://www.mql5.com/ru/docs/integration/python_metatrader5
Установка пакета в командной строке:
pip install MetaTrader5
コマンドラインからパッケージをアップグレードする。
pip install --upgrade MetaTrader5
ヘルプには、ライブラリのインストールとアップデートの方法が記載されています -https://www.mql5.com/ru/docs/integration/python_metatrader5
正直なところ、よくわからないんです。なぜなら、VSなしでは動かないし、VSから一体何が必要なのか - は明確ではないからです(必要ないからといって、スタジオ全体をインストールするのは嫌ですからね)。
明確にしていただけると助かります。
正直なところ、よくわからないんです。なぜなら、VSなしでは動かないし、VSから一体何が必要なのか - は明確でないからです(必要ないからといって、スタジオ全体をインストールするのは嫌なので)。
詳しく説明してくれると、とてもうれしいです。
なぜVSが必要なのか?PythonはVSを必要としない。
window pythonとかでググれば出てくるよ。
開発者の皆さん、次のスレッドで良い指摘がありました。
これは、テストを書く場合、**kwargsの 処理にも適用されます- これは非常に重要なポイント です。
https://www.mql5.com/en/forum/306742/page12#comment_15660939