- www.mql5.com
I have checked that. The most strange part is when I use mt5.symbols_get(), I can find ' GBPCAD'. However, it cannot founded via mt5.symbol_info_tick('GBPCAD').
I write the code even without the mentioned class here:
import MetaTrader5 as mt5 path="C:/Program Files/Alpari MT5/terminal64.exe" account = 5555555 server="demo.ecn.mt5" password="a1a1a1a1a1" mt5.initialize(path=path, account=account, server=server, password=password) symbol = "GBPCAD" print(mt5.symbol_info(symbol))
output:
None
What should I do?
Run the symbol_info example
- www.mql5.com
I opened MetaTrader manually and added one by one all the symbols I needed into the watchlist and check their ticks. After that I rerun the code and interestingly, it works!
I do not have any explanation for this, but it seems first we should add the required symbols into the related account in MetaTrader5 and then open the account using python.
Do you have any idea about this situation?
I opened MetaTrader manually and added one by one all the symbols I needed into the watchlist and check their ticks. After that I rerun the code and interestingly, it works!
I do not have any explanation for this, but it seems first we should add the required symbols into the related account in MetaTrader5 and then open the account using python.
Do you have any idea about this situation?
Please read the main documentation - the documentation on the MQL5 language, and only then try to work with python.
An example of getting data by symbol: checking if there is a symbol in the Market Watch. If the symbol is in this window, you can get information on this symbol.
Highly recommend
Please read the main documentation - the documentation on the MQL5 language, and only then try to work with python.
An example of getting data by symbol: checking if there is a symbol in the Market Watch. If the symbol is in this window, you can get information on this symbol.
Highly recommend
Thank you very much. I would do this.
I slightly modified the help example - instead of the 'EURJPY' symbol, I requested the 'asdfer' symbol.
The code:
import MetaTrader5 as mt5 # display data on the MetaTrader 5 package print("MetaTrader5 package author: ",mt5.__author__) print("MetaTrader5 package version: ",mt5.__version__) # establish connection to the MetaTrader 5 terminal if not mt5.initialize(): print("initialize() failed, error code =",mt5.last_error()) quit() # attempt to enable the display of the asdfer symbol in MarketWatch selected=mt5.symbol_select("asdfer",True) if not selected: print("Failed to select asdfer") mt5.shutdown() quit() # display asdfer symbol properties symbol_info=mt5.symbol_info("EURJPY_") if symbol_info!=None: # display the terminal data 'as is' print(symbol_info) print("asdfer: spread =",symbol_info.spread," digits =",symbol_info.digits) # display symbol properties as a list print("Show symbol_info(\"asdfer\")._asdict():") symbol_info_dict = mt5.symbol_info("asdfer")._asdict() for prop in symbol_info_dict: print(" {}={}".format(prop, symbol_info_dict[prop])) else: print("Failed to symbol info asdfer") # shut down connection to the MetaTrader 5 terminal mt5.shutdown()
Result:
Failed to select asdfer
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
I use this code from gitub of Udemy course to order my trades. After login successfully, all methods of mt5 like symbol_info(), symbol_info_tick(), etc returns 'None' for some of symbols. In some symbols like 'AUDJPY', it returns correct values but in some cases like 'GBPCAD' it returns None. What should I do?
Thanks in advanced.