Tudo sobre Arquitetura de Robôs - página 3

 
Visualização do histórico de negociação multimoeda em relatórios em HTML e CSV
Visualização do histórico de negociação multimoeda em relatórios em HTML e CSV
  • www.mql5.com
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...
 
What is Data Lake and How to Improve Data Lake Quality
What is Data Lake and How to Improve Data Lake Quality
  • www.datasciencecentral.com
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...
 
Estudo de técnicas de análise de velas (parte IV): Atualizações e adições ao Pattern Analyzer
Estudo de técnicas de análise de velas (parte IV): Atualizações e adições ao Pattern Analyzer
  • www.mql5.com
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...
 
Biblioteca para o desenvolvimento fácil e rápido de programas para a MetaTrader (parte IV): eventos de negociação
Biblioteca para o desenvolvimento fácil e rápido de programas para a MetaTrader (parte IV): eventos de negociação
  • www.mql5.com
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...
 

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(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


 

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.


 
EasyAndFastGUI - biblioteca para criar interfaces gráficas do usuário
EasyAndFastGUI - biblioteca para criar interfaces gráficas do usuário
  • www.mql5.com
Biblioteca EasyAndFastGUI possibilita a criação de interfaces gráficas para seus programas MQL.
 
Implementado OLAP na negociação (Parte 1): Noções básicas de análise multidimensional de dados
Implementado OLAP na negociação (Parte 1): Noções básicas de análise multidimensional de dados
  • www.mql5.com
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...
Razão: