EA criar media movel sem uso de indicador

 

Bom Dia,


é possível o EA a partir de algum calculo criar uma "media móvel" sem o uso do indicador de media móvel? se sim como?

Procurei nos artigos só encontro sendo usado o OBJ_trend e não é oque procuro  

 
gustavo.alonso:

boa tarde,


é possível o EA a partir de algum calculo criar uma "media móvel" sem o uso do indicador de media móvel? se sim como? 

Quando você fala em "...sem uso de indicador..." eu entendo que é sem uso de Indicador Terceiros. Se é isso a resposta é SIM. Mas se a pergunta é que fazer sem utilizar um Indicador mesmo que próprio a resposta é NÃO. 

O princípio de média móvel tem como base uma sequencia de valores temporal, independente se você utilizar média móvel simples, adaptiva, ponderada, não importa, mas você vai precisar uma (ou mais de uma) leitura sequencial seja dos últimos minutos, horas, dias semanas. Então apesar de não haver impedimentos de você digitar o código tudo num lugar só dentro do seu EA,  vai facilitar a sua vida e muito se você desenvolver isso separado do seu EA e tratando como um Indicador seu. Uma vez pronto é super-simples você inserir isso no seu EA utilizando #include e MQLRates/CopyRates

Para quem gosta de cálculos é gostoso isso, já fiz, mesmo existindo vários indicadores prontos eu no passado já exercitei criar minha própria média móvel. Vale a pena, no mínimo vai exercitar um pouco de matemática e códigos.

Então, resumidamente, você vai precisar saber qual será a sequencia que vai ser lida e qual tipo de média móvel você vai utilizar (e claro entender da equação da média móvel). Depois converter isso em código num Indicador seu mesmo. Dá umas testadas e por fim inclua no seu EA.

 
Ruy Christian Hoffmann:

Quando você fala em "...sem uso de indicador..." eu entendo que é sem uso de Indicador Terceiros. Se é isso a resposta é SIM. Mas se a pergunta é que fazer sem utilizar um Indicador mesmo que próprio a resposta é NÃO. 

O princípio de média móvel tem como base uma sequencia de valores temporal, independente se você utilizar média móvel simples, adaptativa, ponderada, não importa, mas você vai precisar uma (ou mais de uma) leitura sequencial seja dos últimos minutos, horas, dias semanas. Então apesar de não haver impedimentos de você digitar o código tudo num lugar só dentro no mesmo EA,  vai facilitar a sua vida e muito se você desenvolver isso separado do seu EA e tratando como um Indicador seu. Uma vez pronto é super-simples você inserir isso no seu EA utilizando #include e MQLRates/CopyRates. 

Para quem gosta de cálculos é gostoso isso, já fiz, mesmo existindo vários indicadores prontos eu no passado já exercitei criar minha própria média móvel. Vale a pena, no mínimo vai exercitar um pouco de matemática e códigos.

Então, resumidamente, você vai precisar saber qual será a sequencia que vai ser lida e qual tipo de média móvel você vai utilizar (e claro entender da equação da média móvel). Depois converter isso em via código num Indicador seu mesmo. Dá umas testadas e por fim inclua no seu EA.

Tipo a parte do calculo já tenho em mente vou criar uma linha VWAP porem do dia atual sem buscar dados passados. fiz um desenho(linha Azul) para mostrar onde quero chegar.


exemplo

 
gustavo.alonso:

Tipo a parte do calculo já tenho em mente vou criar uma linha VWAP porem do dia atual sem buscar dados passados. fiz um desenho(linha Azul) para mostrar onde quero chegar.


Legal, o caminho é esse mesmo que falei. E sua sequencia de leitura histórica será somente os intervalos do seu timeframe do dia. Tranquilo de fazer Gustavo, mas o código em sí você vai ter que escrever. Não parece complexo, o meu primeiro Indicador que criei na vida usei uma Video-Aula de Indicadores no youtube. Assisti, rascunhei, bati um pouco de cabeça e cheguei lá. :)  Mas a cada linha que eu digitava, cada comando que eu colocava, copiava/colava aqui para ler a Documentação e entender o que eu estava aprendendo. 

Lembro mais não de cabeça os comandos que utilizei, mas lembro-me que não tive dificuldades e olhe que sou meio ruim de aprender viu, eu demoro para aprender. Bom que depois você faz o que quiser sem depender de Indicadores Terceiros.

 
Ruy Christian Hoffmann:

Legal, o caminho é esse mesmo que falei. E sua sequencia de leitura histórica será somente os intervalos do seu timeframe do dia. Tranquilo de fazer Gustavo, mas o código em sí você vai ter que escrever. Não parece complexo, o meu primeiro Indicador que criei na vida usei uma Video-Aula de Indicadores no youtube. Assisti, rascunhei, bati um pouco de cabeça e cheguei lá. :)  Mas a cada linha que eu digitava, cada comando que eu colocava, copiava/colava aqui para ler a Documentação e entender o que eu estava aprendendo. 

Lembro mais não de cabeça os comandos que utilizei, mas lembro-me que não tive dificuldades e olhe que sou meio ruim de aprender viu, eu demoro para aprender. Bom que depois você faz o que quiser sem depender de Indicadores Terceiros.

eu sei como coletar os dados necessários da formula, porém minha duvida ta na parte gráfica como vou criar essa linha através do EA, sendo que não estarei utilizando um handle de nenhum indicador? pensei nisso também de usar o MqlReste para alimentar as variáveis necessárias essa parte ai ta belezinha. Minha duvida é no plot mesmo

 
Ruy Christian Hoffmann:

Quando você fala em "...sem uso de indicador..." eu entendo que é sem uso de Indicador Terceiros. Se é isso a resposta é SIM. Mas se a pergunta é que fazer sem utilizar um Indicador mesmo que próprio a resposta é NÃO

Da sim, basta recuperar os dados de close, ou qq outra info como open e armazenar em uma matriz double e calcular.

Qualquer indicador pode ser calculado sem o uso de um programa indicador ou ate mesmo de um manipulador de indicador, logicamente que simplifica a vida e muito....Mas cada doido com suas doideras né!

 
Jonathan Pereira:

Da sim, basta recuperar os dados de close, ou qq outra info como open e armazenar em uma matriz double e calcular.

Qualquer indicador pode ser calculado sem o uso de um programa indicador ou ate mesmo de um manipulador de indicador, logicamente que simplifica a vida e muito....Mas cada doido com suas doideras né!

mas como faço o plot no grafico? é um obj?

 
Olá Gustavo, estou com a mesma dúvida que a sua. Quero desenhar uma linha aleatória na tela (Tipo uma vwap) só que com os meus dados X/Y. No OnCalculate com indicador sei da pra fazer, mas eu também NÃO QUERO fazer e/ou criar indicador para isso. Eu quero fazer na UNHA dentro do EA.
Você conseguiu achar uma solução? Pesquisei bastante e nada até o momento.
 
Marcel Carrera #:
Olá Gustavo, estou com a mesma dúvida que a sua. Quero desenhar uma linha aleatória na tela (Tipo uma vwap) só que com os meus dados X/Y. No OnCalculate com indicador sei da pra fazer, mas eu também NÃO QUERO fazer e/ou criar indicador para isso. Eu quero fazer na UNHA dentro do EA.
Você conseguiu achar uma solução? Pesquisei bastante e nada até o momento.
Olá... Desenho igual ao de um indicador (usando buffers e com a facilidade de recuperar rapidamente e facilmente - sem onerar o processamento) só mesmo em indicador...

Se vc precisa desenhar sem usar indicador, só resta usar objetos gráficos e... Não existe um objeto curva... Então precisa concatenar diversos segmentos...

Mas eu acho que não é interessante, vai onerar demais o processamento encher de objetos gráficos na tela.

Ah, vc não achou solução pq não tem... Até tem um artigo que fala como trazer um indicador para dentro do EA... Se fosse apenas os cálculos... Mas vc quer plotar, aí já era ..
 

Olá a todos. Em primeiro lugar, não vejo motivo nem vantagem em fazer o que está sendo proposto. Em segundo lugar. pode-se calcular a vwap do dia no indicador e deixa o indicator cuidar da plotagem. Do mesmo jeito que usar somente  os dados do dia no EA, pode-se fazer o mesmo no indicador, e ainda, fazer isso para cada dia e não apenas do dia atual.

Agora se insiste nessa ideia, a solução é usar Recursos. A maneira mais fácil é usar a classe CCanvas da biblioteca padrão.

Usando o método PolyLine e/ou outros métodos, onde é necessário converter o índice/time da barra e os preços/buffers em arrays de coordenadas x e y para usar como argumentos nos métodos da classe.

Para fazer isso vai ter estudar sobre as propriedades dos gráficos, como escala, quantidade de barras visíveis, largura e altura das janelas, etc. Em relação a CCanvas há inúmeros artigos que demostram seu uso.

Boa sorte.

Documentação sobre MQL5: Biblioteca Padrão / Gráficos personalizados / CCanvas / Polyline
Documentação sobre MQL5: Biblioteca Padrão / Gráficos personalizados / CCanvas / Polyline
  • www.mql5.com
Polyline(int&,int&,const uint) - CCanvas - Gráficos personalizados - Biblioteca Padrão - Referência MQL5 - Referência sobre algorítimo/automatização de negociação na linguagem para MetaTrader 5
Razão: