MetaTrader 5 Python User Group - como usar o Python no Metatrader - página 75
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
Sim, estou a abri-lo em Excel. Até agora não é possível actualizar a cotação no ficheiro aberto EUR_USD_QUOTE.csv em tempo real.
Foi a ideia de olhar para a tabela e ver como a citação muda.
Atenciosamente, Vladimir.
Portanto, não tem nada a ver com Python ou Exel. O ficheiro foi aberto e os dados foram importados para o Exel. O programa que se tem de escrever nele, utilizando a VBA incorporada.
Não é necessário um programa Python, é mais fácil de usar VBA. Não tenho trabalhado muito com ele, mas tenho a certeza que pode fazer GET.
Portanto, não tem nada a ver com Python ou Exel. Abriu o ficheiro, os dados foram lidos no Exel e pronto. Depois tem de escrever um programa nele usando VBA incorporado
Não é necessário um programa Python, é mais fácil de usar VBA. Não tenho trabalhado muito com ele, mas tenho a certeza que pode fazer GET.
Olá Alexey!
É impossível escrever um código de programa em PYTHON da forma como o ficheiro EUR_USD_QUOTE.csv será fechado e reaberto imediatamente com uma nova citação?
Ainda não sei nada sobre VBA, mas obrigado pela dica.
Cumprimentos, Vladimir.
Abre o ficheiro com Excel? Depois abre o ficheiro de forma monopolística. Algures nas definições tem de permitir que outras aplicações/utilizadores possam modificar o ficheiro
Talvez http://blog.depit.ru/odnovremennaya-rabota-v-excel/ ajude.
Em geral, não se pode modificar um ficheiro aberto noutra aplicação.
Maxim, quão difícil é fazer abrir primeiro o ficheiro EUR_USD_QUOTE.csv, tal como foi implementado no código fonte, e depois, após um certo intervalo, fecha por um segundo sob a influência do código do programa finalizado e abre imediatamente de novo, mas com uma nova citação? E assim por diante até ao infinito...
Cumprimentos, Vladimir.
Maxim, quão difícil é tornar o ficheiro EUR_USD_QUOTE.csv primeiro aberto como foi implementado no código fonte, e após um certo intervalo de tempo, sob a influência do código do programa finalizado, fechar por um segundo e depois abrir novamente, mas com uma nova citação? E assim por diante até ao infinito...
Cumprimentos, Vladimir.
Experimente isto
Portanto, nem Python nem Exel tiveram nada a ver com isto. Abriu o ficheiro, os dados em Exel foram contados e pronto. É então necessário escrever um programa na VBA incorporada
E se assim for, o programa em Python não é necessário, é mais fácil fazer tudo de uma só vez na VBA. Não trabalhei muito com ele, mas tenho a certeza que ele pode fazer GET.
Nem sequer precisa de VBA. Tudo o que tem de fazer é usar excel inicialmente. Vou escrever instruções em inglês... Criar um novo livro de exercícios. Clique no separador Dados > Obter Dados > De Outras Fontes > Da Web, depois cole o endereço da Web no campo url. De seguida clique em actualizar todas as outras opções > Propriedades de ligação e configurar para actualizar automaticamente a cada n minutos.
Maxim, quão difícil é tornar o ficheiro EUR_USD_QUOTE.csv aberto primeiro, uma vez que foi implementado no código fonte, e em algum intervalo de tempo sob a influência de código modificado por um segundo fechado e imediatamente reaberto, mas com uma nova citação? E assim até ao infinito...
Com todo o respeito, Vladimir.
O ficheiro será bloqueado para escrita pelo excel se deixar a janela do excel aberta. Terá de acrescentar lógica para contabilizar um ficheiro bloqueado. Além disso, porque é que está a raspar a web para obter citações? Porque não está a usar o MetaTrader para recolher citações? Não faz sentido.
experimente isto.
Obrigado, Maxim!
Já estou a tentar. O ciclo já começou, mas o ficheiro ainda não está a abrir. Vou deixar o laço em funcionamento e esperar.
Cumprimentos, Vladimir.
P.S. Perdão! Não prestou atenção de imediato ao que vale uma hora. Mudei-o para o ficheiro EUR_USD_QUOTE.csv no minuto em que foi aberto, mas recebi esta mensagem no separador Run do Pycharm:
�訡��: �� 㤠����� ���� ������ "excel.exe".
Depois de mais ou menos um minuto, o ficheiro fechou e reabriu, mas em Exel apareceu uma aba no lado esquerdo da folha de cálculo pedindo-me para guardar o texto previamente aberto. Esperei um pouco mais para ver o que iria acontecer a seguir, mas depois o ciclo parou e uma mensagem como esta apareceu:
�ᯥ譮: ������ "EXCEL.EXE", � ������䨪��� 4208, � �������襭.
�ᯥ譮: ������ "EXCEL.EXE", � ������䨪�� 3168, ��� ������襭.
Traceback (última chamada):
Ficheiro "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py", linha 37, em <module>
get_data(save_file='EUR_USD_QUOTE.csv')
Ficheiro "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py", linha 23, em get_data
com open(save_file, 'w') as save:
PermissionError: [Errno 13] Permission denied: 'EUR_USD_QUOTE.csv')
Este é o resultado até agora, mas eu já fiz progressos!
Cumprimentos, Vladimir.
O ficheiro será bloqueado para escrita pelo excel se deixar a janela do excel aberta. Terá de acrescentar lógica para contabilizar um ficheiro bloqueado. Além disso, porque está a raspar a web para obter citações? Porque não está a usar o MetaTrader para recolher citações? Não faz sentido.
O ficheiro será bloqueado para escrita no Excel, se deixar a janela do Excel aberta. Terá de acrescentar lógica para contabilizar o ficheiro bloqueado. Além disso, porque é que procura citações na Internet? Porque não usa o MetaTrader para recolher citações? Isso não faz sentido. (De mim pessoalmente: Desculpa, nicholish en, não falo inglês, por isso usei o Google Translate)
Quero aprender a tirar citações da Internet usando a linguagem Python, para que as possa ver não em terminal, mas em algum ficheiro, por exemplo csv . Pensei que era uma tarefa elementar, mas afinal não é. Talvez eu esteja no caminho errado, mas aquele que não procura nada, não encontra nada.
Passemos agora ao código que sugeriu. Depois de ter lançado o código em Pycharm , vi a seguinte mensagem:
Traceback (última chamada):
Ficheiro "C:/Users/Vladimir/PycharmProjects/My_Python_Project/10.py", linha 25, em <módulo>
main()
Ficheiro "C:/Users/Vladimir/PycharmProjects/My_Python_Project/10.py", linha 13, no principal
eurusd_bid = soup.find('td', 'pid-1-bid').text.text.replace(',', '.')
AttributeError: O objecto 'NoneType' não tem atributo 'text'
Processo terminado com o código de saída 1
O que devo mudar para ver como funciona o código?
O meu respeito, Vladimir.
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
MetaTrader 5 Python User Group - Como usar Python em Metatrader
MrBrooklin, 2020.08.19 22:05
Obrigado, Maxim!
Já estou a experimentá-lo. O laço está a correr, mas o ficheiro ainda não está a abrir. Vou deixar o laço em funcionamento e esperar.
Cumprimentos, Vladimir.
P.S. Perdão! Não prestou atenção de imediato, que valia uma hora. Mudei-o para o ficheiro EUR_USD_QUOTE.csv no minuto em que foi aberto, mas recebi esta mensagem no separador Run do Pycharm:
�訡��: �� 㤠����� ���� ������ "excel.exe".
Depois de mais ou menos um minuto, o ficheiro fechou e reabriu, mas em Exel apareceu uma aba no lado esquerdo da folha de cálculo pedindo-me para guardar o texto previamente aberto. Esperei um pouco mais para ver o que iria acontecer a seguir, mas depois o ciclo parou e uma mensagem como esta apareceu:
�ᯥ譮: ������ "EXCEL.EXE", � ������䨪��� 4208, � �������襭.
�ᯥ譮: ������ "EXCEL.EXE", � ������䨪�� 3168, ��� ������襭.
Traceback (última chamada):
Ficheiro "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py", linha 37, em <module>
get_data(save_file='EUR_USD_QUOTE.csv')
Ficheiro "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py", linha 23, em get_data
com open(save_file, 'w') as save:
PermissionError: [Errno 13] Permission denied: 'EUR_USD_QUOTE.csv')
Este é o resultado até agora, mas eu já fiz progressos!
Atenciosamente, Vladimir.
Maxim, não sei o que aconteceu mas tentei novamente o teu código e, oh meu Deus! O processo de looping já começou, mas com uma advertência. Como antes, apareceu um separador em Excel no lado esquerdo a pedir-me para guardar o ficheiro, mas não é nada de especial. Em anexo, encontra-se uma imagem de ecrã. Esperei que os seis ciclos passassem e abandonei o programa. Agora vou estudar cada linha de código e tentar compreender o que escrevi e a que se destina. Muito obrigado!
Atenciosamente, Vladimir.
P.S. Surgiu uma ideia, porque é que aparece uma aba do lado esquerdo a sugerir que se guarde o ficheiro. Só o código de programação fecha o ficheiro sem guardar, é provavelmente por isso que a Exel oferece e continuará a oferecer para guardar o ficheiro.
Leitura do pager chinês. A pensar muito...
Este é o meu ponto de vista sobre a integração do Python e do MQL. Ambas as línguas são próximas, mas o MQL é simples e o Python é primitivo, como o BASIC. Todos os que programam em MQL podem facilmente construir algo em Python e vice versa. Qual é o interesse neste assunto? Em primeiro lugar, é para pessoas muito preguiçosas. Bem, escreve algo numa língua muito semelhante... O interesse poderia estar em duas componentes: bibliotecas, das quais existem muitas em Python, e interfaces, pelas quais a MQL é famosa. Então porque não fazer o acesso de interfaces Python para MQL e o acesso de MQL para bibliotecas Python? É isso mesmo.