Inverti o sinal do EA, mas não tenho resultados invertidos. Por que? - página 2

 
Trader_Patinhas:

Se vc efetua as compras e vendas A MERCADO, um dos motivos é o spread, pois vc compra pelo preço ASK e vende pelo preço BID. 

Outra razão, dependendo do volume, pode ser o slippage.

Há também os custos operacionais.

Certamente nao eh apenas isso @Trader_Patinhas,

No mercado de capitais, F(x)^(-1) nem sempre vai resultar em 1/F(x).

Sem falar no mito dos mercados racionais, etc etc etc.

Mas deixa este papo pro boteco.

 
Joscelino Celso de Oliveira:

Certamente nao eh apenas isso @Trader_Patinhas,

No mercado de capitais, F(x)^(-1) nem sempre vai resultar em 1/F(x).

Sem falar no mito dos mercados racionais, etc etc etc.

Mas deixa este papo pro boteco.

Compreendo e concordo, dado que a dinâmica do mercado é não-estacionária (uma forma mais técnica e matematicamente formal de dizer que "rentabilidade passada não é garantia de rentabilidade futura").

Mas, no caso do OP, caso eu tenha entendido certo, ele repetiu o mesmo backtest, no mesmo período (foi isso mesmo, Diego?), apenas trocando BUY por SELL e vice-versa. Num experimento como esse, acredito que o resultado do segundo backtest deveria ser próximo ao resultado do primeiro backtest com sinal trocado, sendo a diferença explicada pelo somatório das perdas com spread, slippage e custos operacionais (que pode ser uma diferença grande, dependendo de como ele opera, podendo perfeitamente ter um belo prejuízo nos dois testes).  

Ressalto a premissa que estou assumindo de que os dois testes tenham sido feitos sobre o mesmo período histórico, caso contrário concordo completamente com o @Joscelino Celso de Oliveira, pois nesse caso nem sequer F(-x) = -F(x), muito menos F(x)^(-1) = 1/F(x).

Mas, se tiver sido no mesmo período, eu acredito que F(x) = -F(-x) - perdas por slippage - perdas por spread - custos operacionais ... se eu não tiver me esquecido de mais alguma perda.
 
Trader_Patinhas:

Compreendo e concordo, dado que a dinâmica do mercado é não-estacionária (uma forma mais técnica e matematicamente formal de dizer que "rentabilidade passada não é garantia de rentabilidade futura").

Mas, no caso do OP, caso eu tenha entendido certo, ele repetiu o mesmo backtest, no mesmo período (foi isso mesmo, Diego?), apenas trocando BUY por SELL e vice-versa. Num experimento como esse, acredito que o resultado do segundo backtest deveria ser próximo ao resultado do primeiro backtest com sinal trocado, sendo a diferença explicada pelo somatório das perdas com spread, slippage e custos operacionais (que pode ser uma diferença grande, dependendo de como ele opera, podendo perfeitamente ter um belo prejuízo nos dois testes).  

Ressalto a premissa que estou assumindo de que os dois testes tenham sido feitos sobre o mesmo período histórico, caso contrário concordo completamente com o @Joscelino Celso de Oliveira, pois nesse caso nem sequer F(-x) = -F(x), muito menos F(x)^(-1) = 1/F(x).

Mas, se tiver sido no mesmo período, eu acredito que F(x) = -F(-x) - perdas por slippage - perdas por spread - custos operacionais ... se eu não tiver me esquecido de mais alguma perda.

Caro Trader Patinhas... meus testes foram realizados em períodos passados como muito bem disseste e percebeste... fiz um robô de médias bem simples, exclusivamente, para testar estas diferenças e mesmo assim obtive resultados inesperados, no mesmo período, TF, no mesmo ativo (WINQ19), com TP e SL idênticos (100 e 100, respectivamente), e os resultados foram bem diferentes do esperado... não sei se pode ser algo referente ao histórico carregado ou coisa assim... o EA realiza as operações nos mesmos pontos de cruzamento da médias, porém não obtêm resultados invertidos no que se refere aos ganhos/perdas... 

Em alguns casos, como exemplo, tive um ganho de mil reais em um dia, entretanto ao inverter o sinal, nas mesmas condições de temperatura e pressão, tive um ganho de quinhentos reais, quando, na minha modesta opinião, o resultado deveria ser mil reais negativo... não entendo por que isso acontece e por isso o meu questionamento aqui no fórum. 

Se achares relevante Patinhas, publico aqui a programação envolvida no EA e os pertinentes backtests que demonstram o que estou falando... acredito que pode ser relevante para as pessoas que não são tão iluminadas, humildes, profissionais, competentes e experientes como os srs. Joscelino e Fabio.

Desde já agradeço!

 
DIEGO N SILVA:

Em alguns casos, como exemplo, tive um ganho de mil reais em um dia, entretanto ao inverter o sinal, nas mesmas condições de temperatura e pressão, tive um ganho de quinhentos reais, quando, na minha modesta opinião, o resultado deveria ser mil reais negativo... não entendo por que isso acontece e por isso o meu questionamento aqui no fórum. 

Ganhar nos dois sentidos certamente é impossível, pois, se numa determinada transação vc lucrou comprando, é porque a sua contraparte perdeu vendendo, e vice-versa. Na matemática isso é chamado de "jogo de soma zero" ("zero sum game"). Isso sem considerar que há vários tipos de perdas que afetam as duas partes (spread, slippage, custos operacionais), de modo que seria plausível ambas (parte e contraparte) perderem, mas seria impossível ambas lucrarem numa mesma transação.

Portanto com certeza há algum erro: ou vc não está "invertendo" corretamente o sinal, ou é falha (algorítmica ou de modelagem) do testador nativo do MT5.

Eu, particularmente, não uso o testador nativo do MT5, pois meus algoritmos trabalham com informações do book, que não estão disponíveis no backtest nativo, então não sei dizer muito sobre a ferramenta. 

 
DIEGO N SILVA:

Caro Trader Patinhas... meus testes foram realizados em períodos passados como muito bem disseste e percebeste... fiz um robô de médias bem simples, exclusivamente, para testar estas diferenças e mesmo assim obtive resultados inesperados, no mesmo período, TF, no mesmo ativo (WINQ19), com TP e SL idênticos (100 e 100, respectivamente), e os resultados foram bem diferentes do esperado... não sei se pode ser algo referente ao histórico carregado ou coisa assim... o EA realiza as operações nos mesmos pontos de cruzamento da médias, porém não obtêm resultados invertidos no que se refere aos ganhos/perdas... 

Em alguns casos, como exemplo, tive um ganho de mil reais em um dia, entretanto ao inverter o sinal, nas mesmas condições de temperatura e pressão, tive um ganho de quinhentos reais, quando, na minha modesta opinião, o resultado deveria ser mil reais negativo... não entendo por que isso acontece e por isso o meu questionamento aqui no fórum. 

Se achares relevante Patinhas, publico aqui a programação envolvida no EA e os pertinentes backtests que demonstram o que estou falando... acredito que pode ser relevante para as pessoas que não são tão iluminadas, humildes, profissionais, competentes e experientes como os srs. Joscelino e Fabio.

Desde já agradeço!

Fala Diego !

Já me deparei com isso. Fiz varios robos, imagino que voce tenha feito o mesmo. Um deles tinha uma estrategia pessima que doi. Dai inverti a entrada achando que estava milhonario, me desculpem os genios mas as 3h da madrugada nem sempre somos nós mesmos rsrs

O que eu conclui era que spreed era um problema, se sua estrategia depender de scalper vai destruir muito do resultado. Mas o que mais fazia diferença, era a saida ... Se com o robo A voce comprou em um ponto X (tempo) e stopou no ponto Y (tempo), no robo 1/A ele certamente vai vender no mesmo ponto X (tempo), porem, o stop dessa ordem pode não ser nesse lugar ... Se voce usa um stop movel baseado em resistencia e suporte, vai mudar muito o resultado. Sacou ?

 
rodrigoabrao:

Fala Diego !

Já me deparei com isso. Fiz varios robos, imagino que voce tenha feito o mesmo. Um deles tinha uma estrategia pessima que doi. Dai inverti a entrada achando que estava milhonario, me desculpem os genios mas as 3h da madrugada nem sempre somos nós mesmos rsrs

O que eu conclui era que spreed era um problema, se sua estrategia depender de scalper vai destruir muito do resultado. Mas o que mais fazia diferença, era a saida ... Se com o robo A voce comprou em um ponto X (tempo) e stopou no ponto Y (tempo), no robo 1/A ele certamente vai vender no mesmo ponto X (tempo), porem, o stop dessa ordem pode não ser nesse lugar ... Se voce usa um stop movel baseado em resistencia e suporte, vai mudar muito o resultado. Sacou ?

Olá Rodrigo... sim isto o Patinhas tinha sugerido e acho que pode ser isto mesmo... nos testes que fiz, sempre na saída era onde as diferenças apareciam.. 

Obrigado pela resposta!

Grande Abraço!

 
DIEGO N SILVA:

Meus amigos, gostaria de perguntar para vocês se existe alguma explicação racional, matemática, estatística ou filosófica; para explicar por que ao invertermos o sinal (compra/venda) de um EA, mesmo mantendo a mesma configuração, inclusive com TP e SL idênticos (100 e 100, por exemplo); não obtemos os mesmos resultados, porém opostos?

Já realizei diversos testes e não consigo entender por que isso acontece.

Alguém consegue me ajudar?

Olá  DIEGO N SILVA, boa questão para reflexão.
Meus dois centavos são que, por regra, as estratégias não são simétricas, mesmo se você tiver S/L e T/P simétricos, pelos vários problemas já apontados pelos colegas aqui, como spread, algoritmos, custos/taxas, etc. Além disso, no mundo real, e não em backtesting ou conta demonstração essas diferenças são bem mais críticas, principalmente em ambientes de alta volatilidade e baixa liquidez.
Na verdade, esse impacto é tão severo que em condições assim, mesmo sem inversão e até mesmo se você colocar diversas plataformas com as mesmas estratégias, dificilmente obterá os mesmos resultados, pois cada uma terá sua própria latência e ambiente operacional.
Além de tudo isso, na minha opinião o mais importante é que mesmo que se consiga uma estratégia simétrica, que são as exceções da regra, o futuro raramente repete o passado e portanto escolher o lado certo é sempre um desafio, e, portanto, uma estratégia a mais, em outro nível, e ainda mais complexa.
Sds.,
Rogério Figurelli

 
Rogerio Figurelli:

Olá  DIEGO N SILVA, boa questão para reflexão.
Meus dois centavos são que, por regra, as estratégias não são simétricas, mesmo se você tiver S/L e T/P simétricos, pelos vários problemas já apontados pelos colegas aqui, como spread, algoritmos, custos/taxas, etc. Além disso, no mundo real, e não em backtesting ou conta demonstração essas diferenças são bem mais críticas, principalmente em ambientes de alta volatilidade e baixa liquidez.
Na verdade, esse impacto é tão severo que em condições assim, mesmo sem inversão e até mesmo se você colocar diversas plataformas com as mesmas estratégias, dificilmente obterá os mesmos resultados, pois cada uma terá sua própria latência e ambiente operacional.
Além de tudo isso, na minha opinião o mais importante é que mesmo que se consiga uma estratégia simétrica, que são as exceções da regra, o futuro raramente repete o passado e portanto escolher o lado certo é sempre um desafio, e, portanto, uma estratégia a mais, em outro nível, e ainda mais complexa.
Sds.,
Rogério Figurelli

Boa noite Rogério... Agradeço desde já a sua colaboração e te digo que sugeri este tópico porque para mim nunca tinha ficado claro qual seria a causa destas diferenças nos resultados de backtesting quando se inverte o sinal mesmo mantendo o TP e SL simétricos, e acreditei que seria algo relevante de se sugerir como ponto de discussão.

No primeiro momento, depois de alguns feedbacks que recebi, achei que estava perguntando algo muito estúpido, entretanto depois de algumas respostas nas mensagens privadas e de colaborações úteis ao tópico, como a sua, tive a confirmação de que a questão proposta é sim relevante e pode sim dirimir duvidas que alguns, que, como eu, não tinham uma visão clara sobre o tema.

Afora isso, a despeito do futuro inserto que nos espera, como muito bem pontuaste, gosto de pensar que a estatística (formada a partir do backtesting e/ou da análise gráfica) é a maior arma que temos a nossa disposição para se tentar prever o futuro, não talvez nas próximas operações, mas a longo prazo.

O André Akkari, jogador de poker profissional, sempre fala que não importa se você ganhou ou perdeu determinada mão, o importante é se você fez a melhor jogada com as informações que tinha a sua disposição, pois é este pensamento que vai te levar a ser lucrativo a longo prazo; e talvez por isso que eu sempre foque as minhas estratégias em momentos passados para "tentar" prever o futuro, com base puramente estatista dos eventos, extraída da análise gráfica e dos resultados de backtesting. 

Por fim, aproveito a oportunidade para dizer que estou muito satisfeito com as respostas úteis que recebi e agradeço a todos que colaboram positivamente com o tópico

Seguimos os estudos.

Grande abraço!


      

 
DIEGO N SILVA:

Boa noite Rogério... Agradeço desde já a sua colaboração e te digo que sugeri este tópico porque para mim nunca tinha ficado claro qual seria a causa destas diferenças nos resultados de backtesting quando se inverte o sinal mesmo mantendo o TP e SL simétricos, e acreditei que seria algo relevante de se sugerir como ponto de discussão.

No primeiro momento, depois de alguns feedbacks que recebi, achei que estava perguntando algo muito estúpido, entretanto depois de algumas respostas nas mensagens privadas e de colaborações úteis ao tópico, como a sua, tive a confirmação de que a questão proposta é sim relevante e pode sim dirimir duvidas que alguns, que, como eu, não tinham uma visão clara sobre o tema.

Afora isso, a despeito do futuro inserto que nos espera, como muito bem pontuaste, gosto de pensar que a estatística (formada a partir do backtesting e/ou da análise gráfica) é a maior arma que temos a nossa disposição para se tentar prever o futuro, não talvez nas próximas operações, mas a longo prazo.

O André Akkari, jogador de poker profissional, sempre fala que não importa se você ganhou ou perdeu determinada mão, o importante é se você fez a melhor jogada com as informações que tinha a sua disposição, pois é este pensamento que vai te levar a ser lucrativo a longo prazo; e talvez por isso que eu sempre foque as minhas estratégias em momentos passados para "tentar" prever o futuro, com base puramente estatista dos eventos, extraída da análise gráfica e dos resultados de backtesting. 

Por fim, aproveito a oportunidade para dizer que estou muito satisfeito com as respostas úteis que recebi e agradeço a todos que colaboram positivamente com o tópico

Seguimos os estudos.

Grande abraço!


      

Boa noite  DIEGO N SILVA, perfeito, obrigado por compartilhar, na verdade como o mercado é uma competição, eu complementaria a frase do André Akkari com uma constatação simples: a estratégia que erra menos, ganha!
Para seus estudos, sugiro um teste simples: comparar sua estratégia com S/L e T/P simétricos mas com valores em diferentes grandezas, como por exemplo 10 pontos, 100 pontos e 1.000 pontos. Pela lógica, e em ambiente de backtesting, quanto maior a grandeza, mais simétrico deveria ser.
Senão, é possível que realmente exista algum problema de codificação.
Sds.,
Rogério Figurelli

 
Rogerio Figurelli:

Boa noite  DIEGO N SILVA, perfeito, obrigado por compartilhar, na verdade como o mercado é uma competição, eu complementaria a frase do André Akkari com uma constatação simples: a estratégia que erra menos, ganha!
Para seus estudos, sugiro um teste simples: comparar sua estratégia com S/L e T/P simétricos mas com valores em diferentes grandezas, como por exemplo 10 pontos, 100 pontos e 1.000 pontos. Pela lógica, e em ambiente de backtesting, quanto maior a grandeza, mais simétrico deveria ser.
Senão, é possível que realmente exista algum problema de codificação.
Sds.,
Rogério Figurelli

Boa noite Rogério... farei estes testes sim e postarei aqui... mas adianto que tinha previsto isso e já estava fazendo os meus testes com 100 pontos de TP e SL no mini índice, para evitar que uma pequena variação na abertura ou fechamento da minha operação pudesse prejudicá-la... mas farei com pontuações maiores e vou publicar aqui os meus resultados e as minhas conclusões parciais sobre o assunto. 

Entretanto, sinceramente, acredito que o spread pode causar a "não inversão" dos resultados quando invertemos o sinal de compra/venda no EA, mas penso que isso pode ocorrer em poucas e isoladas operações e não na maioria delas como eu venho observando nos meus testes.

Mas irei realizar os testes e apresento aqui.

Grande Abraço!

Razão: