MetaTrader 5 Python User Group - как использовать Python в Метатрейдере - страница 63
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Will be available next beta version tonight:
https://www.mql5.com/en/forum/306742/page16#comment_16148685
Пробую запустить стартовый скрипт - все выполняется, печатает массив с данными по торговым парам из примера, запускает окно на котором рисует график
Но попробовал заменить ""EURAUD" на "DAX30" например - скрипт после запуска выдает Failed to select DAX30
Подскажите пожалуйста в чем может быть проблема? Версия терминала 2402
Причем делаю подключение с логином паролем и сервером к демо счету своего брокера через mt5.initialize
https://www.mql5.com/ru/docs/integration/python_metatrader5
Пробую запустить стартовый скрипт - все выполняется, печатает массив с данными по торговым парам из примера, запускает окно на котором рисует график
Но попробовал заменить ""EURAUD" на "DAX30" например - скрипт после запуска выдает Failed to select DAX30
Подскажите пожалуйста в чем может быть проблема? Версия терминала 2402
Причем делаю подключение с логином паролем и сервером к демо счету своего брокера через mt5.initialize
# попробуем включить показ символа DAX30 в MarketWatch
selected = mt5.symbol_select("DAX30", True)
if not selected:
print("initialize() failed, error code = ", mt5.last_error())
mt5.shutdown()
quit()
вот такую ошибку (-1, 'Terminal: Call failed')
# попробуем включить показ символа DAX30 в MarketWatch
selected = mt5.symbol_select("DAX30", True)
if not selected:
print("initialize() failed, error code = ", mt5.last_error())
mt5.shutdown()
quit()
вот такую ошибку (-1, 'Terminal: Call failed')
Вы уверены, что символ DAX30 есть на вашем торговом счете?
Покажите скриншот обзора рынка с этим символом на вашем торговом счете, пожалуйста.
Вы уверены, что символ DAX30 есть на вашем торговом счете?
Покажите скриншот обзора рынка с этим символом на вашем торговом счете, пожалуйста.
***
вот беру этот код - https://www.mql5.com/ru/docs/integration/python_metatrader5/mt5copyratesrange_py, инициализацию провожу с подключением к демо счету своему. Если запустить с парой USDJPY из примера-все ок, выводит табличку. Если ее заменить на DAX30 - то
for rate in rates:
TypeError: 'NoneType' object is not iterable
https://prnt.sc/sbapam
вот беру этот код, инициализацию провожу с подключением к демо счету своему. Если запустить с парой USDJPY из примера-все ок, выводит табличку. Если ее заменить на DAX30 - то
for rate in rates:
TypeError: 'NoneType' object is not iterable
# попробуем включить показ символа DAX30 в MarketWatch
selected = mt5.symbol_select("DAX30", True)
if not selected:
print("initialize() failed, error code = ", mt5.last_error())
mt5.shutdown()
quit()
вот такую ошибку (-1, 'Terminal: Call failed')
Дакс30 у Вас в квадратных скобках. Правильно ошибку Вам выдают.
Ухх, никогда не обращал внимание на это, спасибо
И спасибо разработчикам за возможность перенести логику на сторонний ЯП, в частности на Питон.
По ходу разбора и реализации логики возможно будут вопросы или предложения, постараюсь оставлять фидбек здесь
Hi All,
I hope you don't mind an English man here. Looking for some guidance after spending lots of time searching the web without success.
I am using the MetaTrader5 Python library after some inspiration from Maxiums articles. I have noticed a problem with memory handling.
When I make a Dataframe using mt5 lib the resultant dataframe works as expected. I have done this within a function that collects the ticks and then performs various analysis before outputting the manipulated df.
However, if I rerun the function that creates the DataFrame I have noticed that the memory just keeping accumulating from the previous instance.
I get the same problem using mt5.copy_ticks_range () and mt5.copy_rates_range (). I have to reset the kernel in order to clear out the memory.
I get the same problem even after removing all code except the line creating the dataframe. For instance:
def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size):
ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), datetime (end_date.year, end_date.month, end_date.day), mt5.COPY_TICKS_ALL), columns = [ 'time', 'bid', 'ask', 'last', 'volume', 'time_msc', 'flags', 'volume_real'])
If I run this several times the memory usage goes up 27MiB each time:
Line # Mem usage Increment Line Contents ================================================== 126.3 MiB 126.3 MiB def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size): 153.3 MiB 26.9 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), ...
Line # Mem usage Increment Line Contents