PRO口座が操作できない

 

Pythonを使っており、Standard+では問題なく操作できているのですが、PRO口座ではエラーとなってしまいます。

具体的には、以下のようなコードを発行した際、Standard+では正しくTickが取得できますが、PRO口座ではエラーになります。
なお、MT5アプリ上にて「アルゴリズム取引」はともにOnにしています。

PRO口座でも操作できるにはどうすればよいでしょうか。解決策のアドバイスをいただけると助かります。

#---<Standard+へのアクセス>-------------------#
#こちらは問題なく実行できます
import MetaTrader5 as mt5

if not mt5.initialize():
    print(f"initialize() failed, error code = {mt5.last_error()}")
else :
    print(f"MetaTrader5 package version {mt5.__version__}")

# MT5にログイン
authorized = mt5.login(
    123456, password='xxxxxxxx', server='FXGT-Live' #Standard+口座
)
if not authorized:
    print(f"User Authorization Failed")
else :
    print("logged in")

# tick表示
tick = mt5.symbol_info_tick('USDJPY')
print(tick)
print("error code={}".format(mt5.last_error()))

<実行結果>
MetaTrader5 package version 5.0.37
logged in
Tick(time=1673261124, bid=132.137, ask=132.159, last=0.0, volume=0, time_msc=1673261124600, flags=6, volume_real=0.0)
error code=(1, 'Success')

#---<PROへのアクセス>-------------------#
#こちらが動きません
import MetaTrader5 as mt5

if not mt5.initialize():
    print(f"initialize() failed, error code = {mt5.last_error()}")
else :
    print(f"MetaTrader5 package version {mt5.__version__}")

# MT5にログイン
authorized = mt5.login(
    654321, password='xxxxxxxx', server='FXGT-Live', #PRO口座、変更した所はここだけ
)
if not authorized:
    print(f"User Authorization Failed")
else :
    print("logged in")

# tick表示
tick = mt5.symbol_info_tick('USDJPY')
print(tick)
print("error code={}".format(mt5.last_error()))

<実行結果>
MetaTrader5 package version 5.0.37 ・・・Initializeは問題なくできている
logged in ・・・Loginもできている
None ・・・Tickが取得できていない
error code=(-4, 'Terminal: Not found') ・・・エラーになっている

以上、よろしくお願いいたします。

 

シンボルはUSDJPYで間違いないですか?

USDJPY.xxxのように添え字がついていませんか?

ソースコードを投稿するときは編集パネルの tool、またはAlt+Sを使ってください。

この種の質問は「 テクニカル指標 」に投稿してください。

MQL5フォーラム: テクニカル指標
MQL5フォーラム: テクニカル指標
  • www.mql5.com
MQL5言語でユーザーにより開発されたテクニカル指標はここでディスカッションされます
 

アドバイスありがとうございます。

シンボルはUSDJPYで間違いないはずです。

MT5アプリ画面にも「USDJPY」となっており、またStandard+口座のアカウントではこのシンボルでデータが取得できます。

※ 改めてこの投稿を「テクニカル指標」に投稿させていただきます。

 

先ほどHPを確認してみたところPRO口座のシンボル名は USDJPY. でした。ピリオドが必要と違いますか?

多分モデレーターが 「テクニカル指標」 に移動してくれると思います。

投稿の右下にカーソルを置くと「編集 (edit)」が出てきませんか? それをクリックしてソースコードを編集してください。

 

ご指摘の通り、「USDJPY.」とピリオドを付けたら、うまく通り、無事解決できました。

改めてMT5アプリ画面で銘柄部分を確認すると、「Standard+口座では“USDJPY”」「PRO口座では“USDJPY.”」となっておりました。

symbolが唯一の引数なのでそこを疑えばよかったですが、まったく気づきませんでした。。。

非常に的確なアドバイス大変助かりました。ありがとうございました。


また、投稿に関してもアドバイスありがとうございます。実は初めての投稿でして、非常に助かります。

ソースコードは修正済みで、セクション移動はそのままにしておこうと思います。

重ねてお礼申しあげます。ありがとうございました。

理由: