MT5 Python Indicator Exporter Free
- Utilitários
- Joao Paulo Euko
- Versão: 1.20
- Atualizado: 11 novembro 2020
Versão paga com 38 indicadores:
https://www.mql5.com/en/market/product/58056
Eu acredito que o desenvolvimento em PYTHON seja muito mais fácil na criação de Expert Advisor ou qualquer outra ferramenta que facilite a automação de tomada de decisão no mercado financeiro.
Sendo assim eu criei uma biblioteca em Python que possa ser utilizada para criar robôs de forma mais simples e rápida, pode ser encontrada aqui:
https://github.com/Joaopeuko/Mql5-Python-Integration
Este MQL5 Service utiliza a comunicação por meio de Sockets.
Este MQL5 é o “Client Side”, portanto ele só funcionará se existir um server side. Um exemplo pode ser visto aqui:
Porém, há algumas barreiras como o uso de indicadores no código em Python.
Para esse problema as soluções são:
-
Recriar todos os indicadores em Python.
-
Usar uma biblioteca existente que forneça algum ou todos os indicadores.
-
Buscar os valores diretamente da plataforma Metatrader 5.
A solução que este Serviço MQL5 busca é buscar os valores diretamente da plataforma Metatrader 5.
Este serviço tem suporte apenas para os indicadores:
-
Bollinger Bands
-
MACD
-
Moving Average
-
OBV On Balance Volume
-
Stochastic
Toda a estrutura dos indicadores segue o padrão e nome usados pelo Metatrader.
https://www.mql5.com/en/docs/indicators
O endereço e a porta devem ser o mesmo, tanto no MQL5 Service como na seção de indicadores do código em python.
Para usar um serviço basta ir em serviço e adicionar um serviço.
Imagem 1
Você pode adicionar quantos serviços você quiser até o limite de “Activations”.
Imagem 2
Serviços com mesma porta entrarão em conflito, é só mudar.
Para exportar os dados é preciso liberar o “localhost” em:
-
Tools -> Options -> Expert advisors -> WbRequest (checkbox)
Imagem 3
Vale lembrar que eu criei esse “Utilities” para funcionar na maquina local, em “localhost”.
Caso tenha duvidas, foi criado usando “Sockets.”
Você pode chamar o mesmo indicador com diferentes configurações quantas vezes quiser, mas vale lembrar que quanto mais indicadores você chamar, poderá resultar em uma perda de desempenho.
Você pode dar uma olhada neste exemplo:
Todos os indicadores estão definidos como padrão o período temporal de 1 minuto.
Para mudar é só alterar o “time_frame” só indicador.
Todos os indicadores possuem comentários para facilitar a vida:
https://github.com/Joaopeuko/Mql5-Python-Integration/blob/master/Include/indicator_connector.py
Imagem 4
Se você estiver obtendo algum erro, por favor, me envie uma mensagem pessoal, serei grato em responder.
I've developed the same project based on sockets, but sockets have a limit on how much data they transmit, and it loses data every time I request a large amount of data.Have you ever had the same problem?
I tested your program and you are getting individual indicator data every time. Have you ever tested to obtain batch indicator data? For example, I want to get all the indicator data of the EURUSD 1 minute time frame within 1 year at one time.
I have tried to return a huge batch of data of EURUSD, but when the size is big (300000) the indicator starts to crash. Also, a request of one million minutes returns the maximum amount for EURUSD an array of 419431 minutes. For now, I was not able to find a solution, not yet.