EA Comunitário com Correlação de Moedas - Vamos Construir Juntos - página 5

 

Como as postagem vão aumentado, vou fazendo um índice dos comentários mais importantes para o objetivo deste tópico. Este índice vai crescendo na medida que formos evoluindo.

ÍNDICE 

1 - Post Inicial

2 - Ideia do sistema e estratégia para o 1º Modulo do EA Comunitário

3 -  Disponível para download da Primeira Versão do EA "Sistema Fractal", comentários do desenvolvedor Rodrigo Malacarne, e uma síntese do setup

4 - Primeiros Resultados : Anexo dois relatórios que correram durante 6 anos com lucro e constância no gráfico de crescimento

5 - Primeira Opinião com uma crítica construtiva e a resposta

6 - Primeira Sugestão de Atualização e uma inconsistência encontrada no EA a ser verificada

 
PauloBrasil:

Na realidade o sistema que idealizei de certa forma ele trabalha com suportes e resistência pontuais, após a confirmação dos fractais.

Acrescentar também  suportes e resistências através de outros sistemas para confirmar uma entrada e também os alvos é muito interessante, andei lendo alguma coisa a respeito e temos alguns métodos para isto, tipo: Clássico, Fibonacci,  Camarilla,  Woodie's e DeMark's . Seria utilizado um destes, Figurelli,  ou você tem outro método?


Paulo, minha ideia seria identificar quando um fractal está muito próximo de uma linha de suporte ou resistência, pode ser o método clássico para início.

O mais relevante é detectar quando o fractal está próximo à um ponto de ruptura podermos fazer um ajuste do lote ou até decidir não enviar nenhuma ordem pendente. 

Pegando o exemplo da tua segunda figura (https://c.mql5.com/3/27/teste1.png) eu vejo como muito relevantes os fractais 4,6,10 e 11.

Mas, diante dos problemas que você levantou, acredito que o primeiro passo é debugar o software atual e resolver esses problemas.

Com todo respeito ao autor citado e à frase "não existe nenhum software sem erros, existem somente programas mal-testados", eu diria que, pelo menos na área financeira, a menos que seja um programa de alta complexidade, os bugs devem ser zerados e devemos ter isso como meta, pois senão perde-se a lógica e a ciência (e dinheiro, obviamente).

Talvez essa seja uma das grandes vantagens dos algoritmos na área financeira, eles necessitam de precisão para realmente fazerem o que se deseja. No caso do EA comunitário, com ainda 400 linhas de código, eu não vejo lógica de existir algum bug nele, ainda mais com a participação da comunidade nessa análise.

Já quanto aos bugs da plataforma, bem, ai como é um sistema bem mais complexo, a frase parece lógica, mas não é algo que faça parte desse tópico.

 
figurelli:

Paulo, minha ideia seria identificar quando um fractal está muito próximo de uma linha de suporte ou resistência, pode ser o método clássico para início.

O mais relevante é detectar quando o fractal está próximo à um ponto de ruptura podermos fazer um ajuste do lote ou até decidir não enviar nenhuma ordem pendente. 

Pegando o exemplo da tua segunda figura (https://c.mql5.com/3/27/teste1.png) eu vejo como muito relevantes os fractais 4,6,10 e 11.

Mas, diante dos problemas que você levantou, acredito que o primeiro passo é debugar o software atual e resolver esses problemas.

O método clássico que eu vi, são as seguintes fórmulas para cálculos dos preços de resistência e suportes:

R3 = H + 2( Pivot - L)

R2 = Pivot + ( H - L )

R1 = ( 2 x Pivot ) - L

Pivot = ( H + L + C ) / 3

S1 = ( 2 x Pivot ) - H

S2 = Pivot - ( H - L )

S3 = L - 2( H - Pivot ) 

Os timeframes do gráfico seriam configurados nos parâmetros do EA pelo trader para aplicação das fórmulas, ou usaríamos um pivot diário fixo para qualquer timeframe?

Eu acredito que o ideal é ter a flexibilidade de escolher o timeframe, por exemplo, se o EA for ser usado num timeframe M5, poderia ser utilizado um cálculo de pivot em cima do timeframe M30 ou H1 ou H2 e assim por diante,  mas creio, Figurelli, que você já tem bastante experiência neste tipo de sistema e poderá nos orientar adequadamente.

 
figurelli:

Com todo respeito ao autor citado e à frase "não existe nenhum software sem erros, existem somente programas mal-testados", eu diria que, pelo menos na área financeira, a menos que seja um programa de alta complexidade, os bugs devem ser zerados e devemos ter isso como meta, pois senão perde-se a lógica e a ciência (e dinheiro, obviamente).

Talvez essa seja uma das grandes vantagens dos algoritmos na área financeira, eles necessitam de precisão para realmente fazerem o que se deseja. No caso do EA comunitário, com ainda 400 linhas de código, eu não vejo lógica de existir algum bug nele, ainda mais com a participação da comunidade nessa análise.

Já quanto aos bugs da plataforma, bem, ai como é um sistema bem mais complexo, a frase parece lógica, mas não é algo que faça parte desse tópico.

Bem, não estamos num tribunal, mas vamos para a tréplica. O gostoso neste fórum é que as discussões tem sidos sadias, de alto nível e com muita educação, cujo único propósito é aprendermos e crescermos em conhecimento.

A frase acima que usei é muito plausível para mim na minha pequena experiência encomendando programas para MT4 e MT5.  No sentido que adquiri muita experiência, mas sem sucesso nos EAs,  pois não passaram da fase do Testador de Estratégia e contas demo, é claro que isto se deve pelas estratégias equivocadas, servindo apenas como aprendizado, o que já é um grande feito. Como exemplo vou pegar o primeiro EA que disponibilizei para este tópico, depois de alguns meses usando-o, descobri um bug básico nele dentro daquilo que encomendei, não que impedisse o seu uso, mas impossibilitava algumas configurações para o indicador x-bars_fractal. Se eu não tivesse tão ansioso e fizesse os testes que deveriam, eu teria plotado esta situação na fase de construção, porém o desenvolvedor, acredito que temporariamente, por problemas particulares não está fazendo mais programas. Então eu interpretei que o Autor desta frase está aconselhando aos traders que sejam muito detalhistas ao testar os protótipos quando encomendam os programas, pois o desenvolvedor pode em algum momento ter deixado passar algo. Eu comparo com as traduções que tenho feito, como não existe uma equipe de revisão, eu releio  várias vezes e comparo com o original, mas mesmo assim, depois quando estou lendo aqui no site, me deparo com algumas bizarrices que traduzi, então um código de computador é mais complicado que tradução e pode acontecer de passar alguma coisa desapercebido, por isto a necessidade de um feedback apurado do outro lado da linha.

Foi neste sentido que interpretei e quis colocar a frase!

Quanto a comparação com os bugs que estão acontecendo nesta fase de adaptação da Metatrader ao mercado brasileiro junto a Bovespa, eu tenho certeza que logo estarão resolvidos e realmente foi uma comparação infeliz, porque existe uma diferença muito grande na complexidade entre um EA e a Plataforma Metatrader, e ainda, concordo com você que não podemos desviar o objetivo deste tópico.

 
PauloBrasil:

Bem, não estamos num tribunal, mas vamos para a tréplica.

Paulo, todos teremos aqui altos e baixos, como o mercado ;-)

Mas isso só acontece com os que, como você,  ousam compartilhar suas opiniões e ideias nessa área tão complexa que é a construção de robôs para o mercado financeiro.

O importante é mantermos o espírito de equipe buscando o melhor possível para construção do EA comunitário, e vejo que todos temos muito a aprender nesse processo.

Abs.
 
PauloBrasil:

O método clássico que eu vi, são as seguintes fórmulas para cálculos dos preços de resistência e suportes.

Paulo, eu considero esse cálculo que você apresentou como o pivot clássico, sendo que desse pivot realmente derivam vários níveis de suporte e resistência.

Minha ideia é fazer algo mais simples, sem pivot, que é simplesmente calcular os máximos e mínimos dentro de um período e timeframe específico.

Por exemplo, o máximo/mínimo de 100 períodos no timeframe M1 seriam nossa resistência/suporte.

Nesse modelo simples, podemos fixar o timeframe em M1 e deixar o período sem limites (por exemplo, se variar de 1 a 60*24*10=14400, teremos o suporte/resistência de poucos minutos a 10 dias). A vantagem dessa abordagem é que adicionamos apenas um parâmetro no EA.

 
figurelli:
Paulo, eu considero esse cálculo que você apresentou como o pivot clássico, sendo que desse pivot realmente derivam vários níveis de suporte e resistência.

Minha ideia é fazer algo mais simples, sem pivot, que é simplesmente calcular os máximos e mínimos dentro de um período e timeframe específico.

Por exemplo, o máximo/mínimo de 100 períodos no timeframe M1 seriam nossa resistência/suporte.

Nesse modelo simples, podemos fixar o timeframe em M1 e deixar o período sem limites (por exemplo, se variar de 1 a 60*24*10=14400, teremos o suporte/resistência de poucos minutos a 10 dias). A vantagem dessa abordagem é que adicionamos apenas um parâmetro no EA.

Interessante, nunca havia pensado numa linha de suporte e resistência desta forma,  eu gostaria muito de visualizar estes níveis de suporte e resistência num indicador num gráfico, paralelo com a estrategia com x-bar_fractal.

Figurelli, não seria pedir muito para você disponibilizar um indicador free com esta característica, onde possamos escolher a cor das linhas de resistência e suporte, na seção de Base de Código em Português.  Eu já coloquei o nosso EA comunitário, estou apenas esperando a posição do Moderador. Assim vamos motivando outros programadores a compartilharem suas idéias.

Também possibilitaria nós visualizarmos este indicador trabalhando em conjunto com o x-bars_fractal! Que tal? 

 

Parabéns pela iniciativa Paulo Brasil! Espero em breve dar alguma sugestão que seja útil para o aprimoramento desse EA comunitário.

 
Iunctus:

Parabéns pela iniciativa Paulo Brasil! Espero em breve dar alguma sugestão que seja útil para o aprimoramento desse EA comunitário.

Obrigado João Alexandre,

Contamos com sua colaboração e a de todos os membros!

 
PauloBrasil:

Interessante, nunca havia pensado numa linha de suporte e resistência desta forma,  eu gostaria muito de visualizar estes níveis de suporte e resistência num indicador num gráfico, paralelo com a estrategia com x-bar_fractal.

Figurelli, não seria pedir muito para você disponibilizar um indicador free com esta característica, onde possamos escolher a cor das linhas de resistência e suporte, na seção de Base de Código em Português.  Eu já coloquei o nosso EA comunitário, estou apenas esperando a posição do Moderador. Assim vamos motivando outros programadores a compartilharem suas idéias.

Também possibilitaria nós visualizarmos este indicador trabalhando em conjunto com o x-bars_fractal! Que tal? 

Paulo, utilizo bastante esse tipo de abordagem direto no código do EA, mas existem alguns indicadores prontos bem similares como o abaixo:

https://www.mql5.com/en/code/1526

O único parâmetro WindowSize é praticamente o que eu apresentei como ideia, pois é o número de períodos que é utilizado para medir o suporte/resistência.

Evidentemente, quanto maior o nosso período, mais longos serão os níveis de suporte e resistência apresentados.

Publiquei uma tela em https://www.mql5.com/en/charts/1234941/eurusd-h1-metaquotes-software-corp-fractal-support-resistance com um exemplo juntando os dois indicadores (fractal+suportes).

Note que é possível identificar exatamente os fractais que estão próximos ou superaram as regiões de suporte (nesse caso, são os que considero fundamental ajustar o lote de forma proporcional).

Support-Resistance Indicator
Support-Resistance Indicator
  • votos: 15
  • 2013.02.18
  • www.mql5.com
The channel is drawn using Gauss Transform. Input parameter sets the width of the window within which the indicator is calculated.