MetaTrader 5 Python User Group - como usar o Python no Metatrader - página 63
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Estará disponível a próxima versão beta hoje à noite:
https://www.mql5.com/en/forum/306742/page16#comment_16148685
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
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
# 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')
# 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.
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
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
# 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. 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