Como é sabido, desde seu lançamento, o MetaTrader 5 vem oferecendo testes multimoedas. Essa função é procurada pela maioria dos traders, mas, infelizmente, não é tão universal quanto gostaríamos. Em particular, após o teste, o usuário pode abrir um gráfico com as operações de negociação concluídas, mas apenas para o símbolo selecionado nas...
Building data pipelines is a core component of data science at a startup. In order to build data products, you need to be able to collect data points from millions of users and process the results in near real-time. Today, many organizations nowadays are struggling with the quality of their data. Data quality (DQ) problems can arise in various...
Nos artigos anteriores desta série, nós criamos um aplicativo MetaTrader 5, que testou a relevância dos padrões de velas existentes. Uma versão posterior mostrava a possibilidade de criar padrões personalizados baseados nos tipos simples de velas, como velas curtas e longas, doji, spining top, etc. Na última parte, nós desenvolvemos uma...
No primeiro artigo, nós começamos a criar uma grande biblioteca multi-plataforma simplificando o desenvolvimento de programas para a MetaTrader 5 e MetaTrader 4. Nos artigos subsequentes, nós continuamos o desenvolvimento da biblioteca e completamos concluímos o objeto base da biblioteca Engine e a coleção de ordens e posições de mercado. Neste...
Olá Josemar Goncalves, existe uma série de funções para operações nos gráficos, sendo que provavelmente você está procurando a função https://www.mql5.com/en/docs/chart_operations/chartsetsymbolperiod que permite trocar, de forma assíncrona, o símbolo e o período de um gráfico específico. Entretanto, é importante notar que você não precisa necessariamente trocar o período do gráfico, pois pode definir todos períodos utilizados pelo seu robô de forma programática, internamente. Por exemplo, para ficar mais claro o que quero dizer, analise as duas linhas abaixo:
double close=iClose(ativo,periodo,shift);
double close=iClose(NULL,PERIOD_CURRENT,shift);
No primeiro caso, seu programa está definindo o ativo e o período para a função específica (iClose), conforme o valor das respectivas variáveis, e independentemente do gráfico utilizado, e no segundo caso você está utilizando o ativo e período do gráfico onde seu robô está instalado. Sds., Rogério Figurelli
Essa pergunta é quase tão genérica quanto perguntar para um médico "como faço para diagnosticar e tratar uma doença?" e esperar que ele consiga resumir 6 anos de curso universitário e 2 anos de residência hospitalar em uma resposta de 2 ou 3 frases ... mas vou tentar te dar uma luz inicial ...
Para baixar o histórico de ticks do servidor vc pode usar as funções CopyTicks e CopyTicksRange. Com elas vc obterá todos os eventos (ticks) ocorridos em um determinado intervalo. Estes eventos são todas as mudanças do melhor preço de venda (ASK) e do melhor preço de compra (BID) e todos os negócios executados, com preço, volume e indicação se foi agressão de venda ou de compra. Cada tick vem no formato MqlTick.
Se vc não tiver familiaridade com MQL5, vc pode gravar tudo em um arquivo binário ou csv (use as funções de manipulação de arquivo) e depois processar o arquivo usando o ambiente e a linguagem de programação da sua preferência.
Bom, estamos falando de arbitragem, certo? Nesse contexto, a microestrutura do mercado (livro de ofertas, filas, gerenciamento de ordens, leilões, etc.) tem que ser simulada com precisão e não há como conseguir isso no Strategy Tester e nem mesmo operando numa conta demo (há várias diferenças entre conta demo e conta real: na conta demo não tem fila de ordens, a liquidez é ilimitada e a execução das ordens é sempre perfeita, sem delay, sem slippage, etc. - pra quem opera em gráfico de velas fazendo operações com vários minutos de duração, essas coisas fazem pouca diferença e a conta demo dá resultados muito próximos da conta real, mas pra arbitragem a diferença é enorme e a conta demo dá resultados muito mais otimistas que a realidade).
Então, pra você entrar nessa, 2 pré-requisitos são imprescindíveis:
1) Ter um sólido conhecimento de como funciona a microestrutura do mercado (pregão, livro de ofertas, tipos de ordem e como elas são processadas, leilões, etc.)
2) Ter uma sólida experiência em algoritmos e programação.
O requisito 2 pode ser mitigado se vc contratar um bom profissional para colaborar contigo nessa parte (nesse caso basta vc ter uma noção suficiente para conseguir avaliar o trabalho do profissional e não ser "enrolado" por ele).
Já o requisito 1 é indispensável vc mesmo ter, senão vc não vai nem saber o que especificar para ser programado e testado e o mercado vai te engolir vivo na primeira tentativa de operar numa conta real.
As séries contínuas não são ativos de verdade. São apenas uma sequência de preços correspondentes ao contrato que está com vencimento mais próximo (ou com maior liquidez) a cada momento.
É por isso que elas não têm preço Bid nem Ask.
Não há como operá-las. Ordens de compra ou venda para um ticker de série contínua serão rejeitadas, pois esse ticker não existe no mercado, existe apenas no histórico armazenado pela plataforma.
Para emitir ordens de compra ou de venda válidas, o robô terá sempre que escolher o ticker de um contrato futuro que ainda não tenha vencido (preferencialmente o mais próximo do vencimento, por causa da maior liquidez).
Para fazer um robô capaz de operar ininterruptamente por mais de 2 meses, vc tem que incluir no código do robô um processamento lógico para, a cada abertura do pregão, verificar a data corrente e, em função dessa data, determinar automaticamente o ticker mais adequado para operar.
Os traders geralmente precisam analisar quantidades significativas de dados que, normalmente, são números, isto é: cotações, leituras de indicadores, resultados de relatórios de negociação. Devido ao grande número de parâmetros e condições de que esses números dependem, é melhor lidar com eles segundo o princípio de dividir e conquistar, isto...
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
What is Data Lake and How to Improve Data Lake Quality
https://www.datasciencecentral.com/profiles/blogs/what-is-data-lake-and-how-to-improve-data-lake-quality
Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
Como mudar o time frame do replay de mercado?
Rogerio Figurelli, 2019.06.05 09:26
Olá Josemar Goncalves, existe uma série de funções para operações nos gráficos, sendo que provavelmente você está procurando a função https://www.mql5.com/en/docs/chart_operations/chartsetsymbolperiod que permite trocar, de forma assíncrona, o símbolo e o período de um gráfico específico.
Entretanto, é importante notar que você não precisa necessariamente trocar o período do gráfico, pois pode definir todos períodos utilizados pelo seu robô de forma programática, internamente. Por exemplo, para ficar mais claro o que quero dizer, analise as duas linhas abaixo:
double close=iClose(NULL,PERIOD_CURRENT,shift);No primeiro caso, seu programa está definindo o ativo e o período para a função específica (iClose), conforme o valor das respectivas variáveis, e independentemente do gráfico utilizado, e no segundo caso você está utilizando o ativo e período do gráfico onde seu robô está instalado.
Sds.,
Rogério Figurelli
Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
Como Funciona um robo de arbitragem entre Mini Indice e Indice?
Trader_Patinhas, 2019.06.05 06:59
Essa pergunta é quase tão genérica quanto perguntar para um médico "como faço para diagnosticar e tratar uma doença?" e esperar que ele consiga resumir 6 anos de curso universitário e 2 anos de residência hospitalar em uma resposta de 2 ou 3 frases ... mas vou tentar te dar uma luz inicial ...
Para baixar o histórico de ticks do servidor vc pode usar as funções CopyTicks e CopyTicksRange. Com elas vc obterá todos os eventos (ticks) ocorridos em um determinado intervalo. Estes eventos são todas as mudanças do melhor preço de venda (ASK) e do melhor preço de compra (BID) e todos os negócios executados, com preço, volume e indicação se foi agressão de venda ou de compra. Cada tick vem no formato MqlTick.
Se vc não tiver familiaridade com MQL5, vc pode gravar tudo em um arquivo binário ou csv (use as funções de manipulação de arquivo) e depois processar o arquivo usando o ambiente e a linguagem de programação da sua preferência.
Bom, estamos falando de arbitragem, certo? Nesse contexto, a microestrutura do mercado (livro de ofertas, filas, gerenciamento de ordens, leilões, etc.) tem que ser simulada com precisão e não há como conseguir isso no Strategy Tester e nem mesmo operando numa conta demo (há várias diferenças entre conta demo e conta real: na conta demo não tem fila de ordens, a liquidez é ilimitada e a execução das ordens é sempre perfeita, sem delay, sem slippage, etc. - pra quem opera em gráfico de velas fazendo operações com vários minutos de duração, essas coisas fazem pouca diferença e a conta demo dá resultados muito próximos da conta real, mas pra arbitragem a diferença é enorme e a conta demo dá resultados muito mais otimistas que a realidade).
Então, pra você entrar nessa, 2 pré-requisitos são imprescindíveis:
1) Ter um sólido conhecimento de como funciona a microestrutura do mercado (pregão, livro de ofertas, tipos de ordem e como elas são processadas, leilões, etc.)
2) Ter uma sólida experiência em algoritmos e programação.
O requisito 2 pode ser mitigado se vc contratar um bom profissional para colaborar contigo nessa parte (nesse caso basta vc ter uma noção suficiente para conseguir avaliar o trabalho do profissional e não ser "enrolado" por ele).
Já o requisito 1 é indispensável vc mesmo ter, senão vc não vai nem saber o que especificar para ser programado e testado e o mercado vai te engolir vivo na primeira tentativa de operar numa conta real.
Abraços!
Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
WIN$ e séries contínuas: primeiros testes
Trader_Patinhas, 2019.06.06 01:20
As séries contínuas não são ativos de verdade. São apenas uma sequência de preços correspondentes ao contrato que está com vencimento mais próximo (ou com maior liquidez) a cada momento.
É por isso que elas não têm preço Bid nem Ask.
Não há como operá-las. Ordens de compra ou venda para um ticker de série contínua serão rejeitadas, pois esse ticker não existe no mercado, existe apenas no histórico armazenado pela plataforma.
Para emitir ordens de compra ou de venda válidas, o robô terá sempre que escolher o ticker de um contrato futuro que ainda não tenha vencido (preferencialmente o mais próximo do vencimento, por causa da maior liquidez).
Para fazer um robô capaz de operar ininterruptamente por mais de 2 meses, vc tem que incluir no código do robô um processamento lógico para, a cada abertura do pregão, verificar a data corrente e, em função dessa data, determinar automaticamente o ticker mais adequado para operar.
Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
Problemas para operar robôs scalp no mini-dólar
Joscelino Celso de Oliveira, 2019.06.07 02:04
Sugiro a leitura do artigo abaixo.