Scanner de mercado

 

Gostaria de saber qual a melhor forma de fazer um scanner para localizar ativos (Script, EA, Indicador). Algo como um Explorer do MetaStock.

Por exemplo: localizar todos os ativos que  fechou fora e depois fechou dentro das bandas de  bollinger no último pregão.

 
lucrdr:

Gostaria de saber qual a melhor forma de fazer um scanner para localizar ativos (Script, EA, Indicador). Algo como um Explorer do MetaStock.

Por exemplo: localizar todos os ativos que  fechou fora e depois fechou dentro das bandas de  bollinger no último pregão.

Olá Luciano,

a plataforma MetaTrader é bastante flexível, de forma que, teoricamente, um scanner de mercado poderia ser implementado tanto através de scripts, EA's ou indicadores. De acordo com a própria documentação, scripts e EA's podem executar tanto funções analíticas quanto de operação, enquanto que os indicadores são limitados apenas às funções analíticas.

Entretanto, dada a facilidade de acesso a dados de múltiplos ativos presente nos indicadores e sua especificidade, eu ficaria com esse último caso quisesse desenvolver um scanner para MetaTrader 5.

Acho que aqui cabe muita discussão, mas, já que temos aqui um certo espaço para opiniões, eu ficaria mesmo com os indicadores se precisasse desenvolver um scanner de mercado.

Abraços,
Malacarne 

 
Malacarne:

Olá Luciano,

a plataforma MetaTrader é bastante flexível, de forma que, teoricamente, um scanner de mercado poderia ser implementado tanto através de scripts, EA's ou indicadores. De acordo com a própria documentação, scripts e EA's podem executar tanto funções analíticas quanto de operação, enquanto que os indicadores são limitados apenas às funções analíticas.

Entretanto, dada a facilidade de acesso a dados de múltiplos ativos presente nos indicadores e sua especificidade, eu ficaria com esse último caso quisesse desenvolver um scanner para MetaTrader 5.

Acho que aqui cabe muita discussão, mas, já que temos aqui um certo espaço para opiniões, eu ficaria mesmo com os indicadores se precisasse desenvolver um scanner de mercado.

Abraços,
Malacarne 

 

Malacarne, obrigado por sua dica! Sou novo como MT, não consigo entender como um indicador poderia fazer um scanner nos ativos e retornar os que se enquadram em determinada situação.

Um script eu consigo entender, acho que faz sentido.

Já o EA eu confesso que tenho certa dificuldade de entender.

Por isto abri este tópico! Eu conheço programação, mas não estou habituado a arquitetura do MT. Então dicas e exemplos, são bem vindos. 

 
lucrdr:

Olá Luciano, o fórum MQL5.com é exatamente o lugar correto para discutir esse tipo dúvida!

Caso você forneça maiores informações sobre o quê exatamente você gostaria de implementar, ou, melhor ainda, caso você forneça um "minimum working example" (em forma de código), seria possível aprofundar um pouco mais no que você deseja implementar, de forma que nossa ajuda seria mais focada e específica.

Entretanto, antes disso, eu sugiro fortemente que você dê uma olhada nos Artigos do site MQL5.com e nos códigos gratuitos disponíveis na Base de Código. Eventualmente um destes exemplos poderá ser de grande valia para você!

Dê uma olhada, apenas a título de curiosidade, nesses exemplos: 12, 3 e 4.

Vale a pena também dar uma olhada nesses artigos: 1 e 2.

Espero ter ajudado.

Abraços,
Malacarne 

 

Vou tentar te ajudar baseado no que eu entendi do seu problema. Você gostaria de saber todos os ativos que fecharam em um determinado ponto de acordo com um indicador certo? Você poderia fazer uma função onde informa: o indicador e seus parâmetros, o ativo que vc quer verificar e por ultimo o ponto de comparaçao (por exemplo: se fechou ABAIXO das bandas de bollinger) e gerar uma lista com os resultados. Estes resultados podem ser gravados em um arquivo caso vc necessite deles mais tarde. Você vai usar a mesma função para todos os ativos.

Espero ter ajudado.

 Abraços 

 
lucrdr:

Gostaria de saber qual a melhor forma de fazer um scanner para localizar ativos (Script, EA, Indicador). Algo como um Explorer do MetaStock.

Por exemplo: localizar todos os ativos que  fechou fora e depois fechou dentro das bandas de  bollinger no último pregão.

Luciano, bom tópico e questão, acredito que os maiores problemas de fazer esse tipo de scanner estejam relacionados à utilização de múltiplos instrumentos em um mesmo aplicativo.

Afinal, espera-se que um bom scanner seja capaz de varrer preços, volumes e indicadores a partir desses dados em grande volume e velocidade.

Se o teu objetivo é construir algo para poucos ativos, o problema não é tão crítico. 

Entretanto, o MT5 não parece muito eficaz quando começa a tratar dados de vários ativos, e é importante fazer uma gestão eficaz do acesso deles para evitar problemas, como deixar a plataforma muito lenta. 

 
figurelli:

Luciano, bom tópico e questão, acredito que os maiores problemas de fazer esse tipo de scanner estejam relacionados à utilização de múltiplos instrumentos em um mesmo aplicativo.

Afinal, espera-se que um bom scanner seja capaz de varrer preços, volumes e indicadores a partir desses dados em grande volume e velocidade.

Se o teu objetivo é construir algo para poucos ativos, o problema não é tão crítico. 

Entretanto, o MT5 não parece muito eficaz quando começa a tratar dados de vários ativos, e é importante fazer uma gestão eficaz do acesso deles para evitar problemas, como deixar a plataforma muito lenta. 

Caro figurelli, acha que a plataforma perderia agilidade na busca de uma ou duas variáveis específicas (ex: preço fechamento, volume diário) apenas quando se trabalha com um vasto acervo de símbolos?
 
achaa:

Vou tentar te ajudar baseado no que eu entendi do seu problema. Você gostaria de saber todos os ativos que fecharam em um determinado ponto de acordo com um indicador certo? Você poderia fazer uma função onde informa: o indicador e seus parâmetros, o ativo que vc quer verificar e por ultimo o ponto de comparaçao (por exemplo: se fechou ABAIXO das bandas de bollinger) e gerar uma lista com os resultados. Estes resultados podem ser gravados em um arquivo caso vc necessite deles mais tarde. Você vai usar a mesma função para todos os ativos.

Espero ter ajudado.

 Abraços 

Caro achaa, não entendi sua última colocação: "Você vai usar a mesma função para todos os ativos.". Está sugerindo que ele rode um indicador para cada gráfico? Não ficaria mais fácil criar um único indicador que fizesse a varredura dos símbolos presentes na Observação de Mercado e gerasse estes dados?
Confesso que cairia exatamente no caso em que figurelli sitou de queda de desempenho caso fossem manipuladas muitas variáveis de vários símbolos.
 
LeoAndriolo :
Caro achaa, não entendi sua última colocação: "Você vai usar a mesma função para todos os ativos.". Está sugerindo que ele rode um indicador para cada gráfico? Não ficaria mais fácil criar um único indicador que fizesse a varredura dos símbolos presentes na Observação de Mercado e gera-se estes dados?
Confesso que cairia exatamente no caso em que figurelli sitou de queda de desempenho caso fossem manipuladas muitas variáveis de vários símbolos.

Desculpem a má Português, estou usando a ferramenta de tradução automática.

Não há nenhum problema de desempenho com vários (dezenas) de símbolos se o seu programa está devidamente codificada. Pelo menos, eu nunca encontrei tal problema de desempenho.

 
angevoyageur:

Desculpem a má Português, estou usando a ferramenta de tradução automática.

Não há nenhum problema de desempenho com vários (dezenas) de símbolos se o seu programa está devidamente codificada. Pelo menos, eu nunca encontrei tal problema de desempenho.

Agradeço a resposta angevoyageur! Só queria uma confirmação de pessoas que já fizeram este teste. Estou trabalhando com alguns indicadores que possuem elementos gráficos (ex: buttons e panels) e manipulam um grande número de dados de vários ativos e também não obtive nenhum problema com desempenho.

Pode ser que alguns computadores mais antigos venham apresentar tais problemas, mas essa é uma outra questão. 

 
LeoAndriolo:
Caro figurelli, acha que a plataforma perderia agilidade na busca de uma ou duas variáveis específicas (ex: preço fechamento, volume diário) apenas quando se trabalha com um vasto acervo de símbolos?
Olá Leo, como eu disse, vai depender de fazer uma gestão eficaz, para compensar as limitações da plataforma.
Razão: