MetaTrader 5 Python User Group - como usar o Python no Metatrader - página 63

 
MetaQuotes:

Estará disponível a próxima versão beta hoje à noite:

https://www.mql5.com/en/forum/306742/page16#comment_16148685

MetaTrader 5 Python User Group - the summary
MetaTrader 5 Python User Group - the summary
  • 2020.04.24
  • www.mql5.com
The Main Study MetaTrader module for integration with Python - documentation Python Releases for Windows - website MetaTrader5 : Python Package...
 
Новая версия платформы MetaTrader 5 build 2360: Расширение интеграции с SQLite
Новая версия платформы MetaTrader 5 build 2360: Расширение интеграции с SQLite
  • 2020.05.03
  • www.mql5.com
В пятницу 6 марта 2020 года будет выпущена обновленная версия платформы MetaTrader 5...
 
https://www.mql5.com/ru/docs/integration/python_metatrader5
Tentei executar o guião de início - tudo corre, imprime uma série de dados sobre os pares de negociação a partir do exemplo, corre uma janela na qual desenha o gráfico
Mas tentei substituir "EURAUD" por "DAX30", por exemplo - depois de ter corrido o guião, diz Failed to select DAX30
Por favor, informe qual poderá ser o problema. Versão terminal 2402

Faço a ligação com o login e a senha e um servidor à conta demo do corretor através do mt5.initialize
Документация по MQL5: Интеграция / MetaTrader для Python
Документация по MQL5: Интеграция / MetaTrader для Python
  • www.mql5.com
Python является современным высокоуровневым языком программирования для разработки сценариев и приложений. Содержит множество библиотек для машинного обучения, автоматизации процессов, анализа и визуализации данных. Пакет MetaTrader для Python предназначен для...
 
Lol Kek:
https://www.mql5.com/ru/docs/integration/python_metatrader5
Tentei executar o guião de início - tudo corre, imprime um conjunto de dados sobre os pares de negociação a partir do exemplo, corre uma janela na qual desenha o gráfico
Mas tentei substituir "EURAUD" por "DAX30", por exemplo - depois de ter corrido o guião, diz Failed to select DAX30
Por favor, informe qual poderá ser o problema. Versão terminal 2402

Ligo-me com palavra-passe e servidor à conta de demonstração do meu corretor através do mt5.initialize
Verifique o que é devolvido em mt5.last_error() após chamada de função a trabalhar com DAX30
 

# vamos tentar activar a exibição do símbolo DAX30 no MarketWatch
seleccionado = mt5.symbol_select("DAX30", True)
se não seleccionado:
print("initialize() failed, error code = ", mt5 .last_error())
mt5 .shutdown()
quit()


este é o erro (-1, 'Terminal: Chamada falhada')
 
Lol Kek:

# vamos tentar activar o símbolo DAX30 no MarketWatch
seleccionado = mt5.symbol_select("DAX30", True)
Se não for seleccionado:
print("initialize() falhou, código de erro = ", mt5 .last_error())
mt5 .shutdown()
desistir()


Este é o erro (-1, 'Terminal: Chamada falhada')

Tem a certeza de que tem o símbolo DAX30 na sua conta de negociação?

Mostre uma imagem do mercado com este símbolo na sua conta de negociação, por favor.

 
Renat Fatkhullin:

Tem a certeza de que tem o símbolo DAX30 na sua conta de negociação?

Mostrar uma imagem do mercado com este símbolo na sua conta de negociação, por favor.

***
Tomo este código -https://www.mql5.com/ru/docs/integration/python_metatrader5/mt5copyratesrange_py, inicializo-o ligando-o à minha conta de demonstração. Se o correr com USDJPY a partir do exemplo - tudo está bem, mostra uma tabela. Se eu o mudar para DAX30


Para taxas em taxas:
TypeError: O objecto 'NoneType' não é iterável

 
Lol Kek:

https://prnt.sc/sbapam
Pego neste código e inicializo-o, ligando-o à minha conta de demonstração. Se o correr com USDJPY a partir do exemplo - tudo está bem, mostra uma tabela. Se eu o mudar para DAX30

Para taxas em taxas:
TypeError: O objecto 'NoneType' não é iterável

Lol Kek:

# vamos tentar activar a exibição do símbolo DAX30 no MarketWatch
seleccionado = mt5.symbol_select("DAX30", True)
se não for seleccionado:
print("initialize() falhou, código de erro = ", mt5 .last_error())
mt5 .shutdown()
desistir()


erro como este (-1, 'Terminal: Chamada falhada')
Tem Dax30 entre parênteses rectos. Esse é o erro certo que estás a receber.
 
Dmitriy Skub:
Tem Dax30 entre parênteses rectos. O erro que lhe está a ser dado está correcto.

Ugh, nunca prestou atenção a isso, obrigado
E graças aos criadores pela oportunidade de transferir a lógica para uma linguagem de terceiros, especificamente Python.
Tentarei dar aqui o meu feedback à medida que a lógica estiver a ser analisada e implementada.

 

Olá a todos,


Espero que não se importe com um homem inglês aqui. Procura alguma orientação depois de passar muito tempo a pesquisar a web sem sucesso.

Estou a utilizar a biblioteca MetaTrader5 Python após alguma inspiração dos artigos do Maxiums. Notei um problema com o manuseamento da memória.

Quando faço um Dataframe utilizando mt5 lib, o dataframe resultante funciona como esperado. Fi-lo dentro de uma função que recolhe as carraças e depois efectua várias análises antes de emitir o df manipulado.

No entanto, se eu voltar a executar a função que cria o DataFrame, reparei que a memória está apenas a acumular-se a partir da instância anterior.

Tenho o mesmo problema usando mt5.copy_ticks_range () e mt5.copy_rates_range (). Tenho de reiniciar o núcleo a fim de limpar a memória.

Tenho o mesmo problema mesmo depois de remover todo o código, excepto a linha que cria o quadro de dados. Por exemplo:

def vel (símbolo, lookback, lookforward, start_date, end_date, quantile_size):

ticks = pd.DataFrame (mt5.copy_ticks_range (símbolo, data_data.ano, data_de_início.mês, data_de_início.dia), data hora (fim_data.ano, fim_data.mês, fim_data.dia), mt5.COPY_TICKS_ALL), colunas = [ 'hora', 'lance', 'perguntar', 'último', 'volume', 'hora_msc', 'bandeiras', 'volume_real'])

Se executar isto várias vezes, o uso de memória sobe 27MiB de cada vez:

Linha # Mem usage Increment Line Contents ================================================== 126.3 MiB 126.3 MiB def vel (símbolo, lookback, lookforward, start_date, end_date, quantile_size): 153.3 MiB 26.9 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (símbolo, data_de_início.ano, data_de_início.mês, data_de_início.dia), .


Linha # Utilização de Mem Conteúdo da Linha de Incremento

================================================== 140.9 MiB 140.9 MiB def vel (símbolo, lookback, lookforward, start_date, end_date, quantile_size): 166.5 MiB 25.7 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (símbolo, data_de_início.ano, data_de_início.mês, data_de_início.dia), ...