Grande EA no backtest! - página 112

 
BrazilianTrader:
de que adianta tomar conlusões sobre relatórios de baixa qualidade de modelagem?

pple devem saber que devem melhorar sua qualidade de modelagem antes de tomar decisões sobre resultados virtuais;

mesmo os backktests com 90% não são muito dignos de confiança;

parece sábio que os comerciantes mecânicos deveriam trabalhar desta forma:

1. Voltar a testar com 90%;

2. Conta de demonstração por um par de meses;

3. Conta real;

4. Lucro;

5. Risos.

Acho que não devemos dar todos os créditos a uma EA que "funciona muito bem" em um relatório de qualidade de modelagem de 50%.

Ponto positivo

 
BrazilianTrader:
qualidade de modelagem 50,00% que não soa bem.

Nem mesmo 90% é bom o suficiente, mas se o teste de avanço atrai bons resultados é o que precisamos para continuar.

 

Precisando de ajuda para codificar...

Preciso de ajuda aqui... Não entendo porque isto está sendo tão difícil.

Tudo o que eu quero é uma ordem simples e próxima, baseada em algumas condições.

Esta é a pequena metade. Há outra Metade Longa que corresponde a ela.

Mas por que este código...

int ExitMarket() // -------------------- Working the open orders -------------------

{

total = OrdersTotal();

for(int cnt = 0; cnt < OrdersTotal(); cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

// We search for orders opened by this code on our currency

if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)// if this code has an open order on this currency

{

if(OrderType() == OP_SELL) // If the obtained order is by the selling of the currency

{

if(Ask >= OrderStopLoss())// Closing order if it reached the level of the stoploss

{

OrderClose(OrderTicket(), OrderLots(), MODE_ASK , SlipPage, Violet); // Close the order

}

else

{

// We close when the direction reverses

if(ADX DIplus1 || Closing > LowerE)

{

total = OrdersTotal();

OrderClose(OrderTicket(), OrderLots(), MODE_ASK , SlipPage, Violet); // Close the order

Print("Patient1 closed short ticket ",OrderTicket()," on a reverse @: ",Ask," Orders remaining open: ",total," BECAUSE cls: ",Closing," > lwrE: ",LowerE," or ADX: ",ADX," DI+1: ",DIplus1);

total = OrdersTotal();

Print(" Orders remaining open: ",total);

}

else

{

Print("stays open");

}

}

}//ifsell

}//if order is open

}//fororders

return(0);

}//exitmarket [/PHP]

why does it produce this output?

[PHP]2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.272 Orders remaining open: 1 BECAUSE cls: 1.2718 > lwrE: 1.2715 or ADX: 30.0152 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.2719 Orders remaining open: 1 BECAUSE cls: 1.2717 > lwrE: 1.2715 or ADX: 30.0152 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:10 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:10 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.272 Orders remaining open: 1 BECAUSE cls: 1.2718 > lwrE: 1.2715 or ADX: 30.0152 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:10 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:08 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:08 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.2718 Orders remaining open: 1 BECAUSE cls: 1.2716 > lwrE: 1.2715 or ADX: 31.5632 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:08 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:07 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:07 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.2717 Orders remaining open: 1 BECAUSE cls: 1.2715 > lwrE: 1.2715 or ADX: 31.5632 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:07 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

QUEM nunca cumpre a condição de inversão e ainda assim imprime a linha de inversão?

e mesmo que imprima a linha de inversão, ele nunca fecha a posição?

 

Por que as pessoas perdem seu tempo com esta EA? Ela não vai funcionar com uma conta ativa. Você não vai ter esse tipo de preenchimento.

 
aegis:
Por que as pessoas perdem seu tempo com esta EA? Ela não vai funcionar com uma conta ativa. Você não vai ter esse tipo de preenchimento.

Falta algo melhor?

Pessoalmente estou aqui para aprender, estou adquirindo muita experiência e prática de codificação. Se o objetivo é aprender, então há muito valor para mim. Entretanto, se você tiver uma EA melhor para eu 'desperdiçar meu tempo em' ....i'm all ears.

btw sinta-se livre para resolver este problema de codificação se você puder.

https://www.mql5.com/en/forum/174700/page75

 
aegis:
Por que as pessoas perdem seu tempo com esta EA? Ela não vai funcionar em uma conta real. Você não vai ter esse tipo de preenchimento.

Conclusão interessante, "Dr. Especialista EA"...

Perguntamo-nos sua experiência real com esta EA para nos dizer que não funcionou...

Ou, pelo menos, com qualquer EA...

Talvez, e isso parece ser o mais provável, você não tenha nenhuma experiência com qualquer EA nos "3 passos clássicos", e tenha medo de inventar suas esperanças com uma "fórmula mágica para a riqueza" e ficar decepcionado; então o que é mais fácil... bloquear nossa mente e dizer que esta EA não funciona em nada, é claro.

Que patético.

Alguns estão aqui para perder, pode-se dizer. Mas eles estão aqui para aprender e melhorar, definitivamente.

Nós, diferentemente do que você, como você, preferimos testar, perder, melhorar, mudar, repetidamente, redefinir nossos pontos de vista e acreditar em estratégias sólidas ou flexíveis, o que definitivamente inclui "aceitar mudanças".

Esta EA poderia parecer não funcionar em uma conta real, mas estamos aqui para que ela o faça.

 

Parece que eu resolvi meu problema de codificação anterior.

Isto agora me deixa com um novo conjunto de problemas e perguntas para responder.

Concluí que, devido à forma como esta EA negocia, é muito improvável que qualquer um dos indicadores tradicionais realmente ajude muito. Ele coloca uma grande maioria se for comercializado dentro da mesma barra, então nenhum indicador de tendência irá rastreá-lo dentro da barra. Ser um indicador de tendência típico do operador inverso não o ajuda muito de qualquer maneira.

No entanto, ainda há um caminho para filtrar as negociações que ainda não foi explorado, ou seja, os programas possuem uma lógica única de tomada de decisão. Embora seja uma tarefa bastante assustadora, acredito que existe uma recompensa potencial no desenvolvimento de um perfil de dados do que os parâmetros cibernéticos compõem um negócio vencedor e do que constitui um negócio perdido, EM CYBERIA LOGIC.

Para isso, proponho utilizar o backtester para gerar na revista os parâmetros determinantes que a cibéria aceita quando abre cada ordem, depois ordenar todos os negócios vencedores e perdedores em seus respectivos grupos e depois ver, a partir de uma análise desses dois grupos, se existe algo de natureza distinta que seja prontamente aparente que possa ser instalado e utilizado como parâmetro de filtro.

Acho que o clipe do filme anterior que publiquei há algum tempo atrás, cerca de 212 graus de temperatura da água, se aplica aqui. Neste momento, isto comercializa em torno de 70 - 72%. o que é bom, mas agora ainda é bastante vapor. É quente mas é como água a 211 graus, é um grau de falta de utilidade. Meu objetivo é conseguir esse grau. Isso pode significar apenas acrescentar mais alguns por cento à sua relação de ganho/perda. se o fizesse a 80% apenas mais dez por cento, seria incrível. Como é um programa difícil de se manter, porque parece que nunca decola. (minha experiência de qualquer forma)...

se eu seguir este curso, eu me pergunto se alguém mais gostaria de me ajudar nele. Eu criei uma versão do código que imprime os dados no momento em que a EA abre o pedido. Isto irá emitir cerca de 7 a 14 pedidos por vez no diário antes que o diário comece a comprimir a saída e os dados sejam perdidos. isso significa que para reunir qualquer quantidade substancial de dados o testador precisa ser reiniciado muitas vezes... a menos que alguém me ensine a imprimir toda esta informação em um arquivo em vez.....I sei que é possível que eu simplesmente não sei como fazer isso.

De qualquer forma, estou procurando pessoas com uma mini-conta IBFX que gostariam de servir como coletores de dados sobre este projeto enquanto eu desenvolvo uma planilha para analisar os dados. Se você estiver interessado, me avise até a tarde e me dê seu endereço de e-mail e eu lhe enviarei a versão EA que eu modifiquei para emitir os dados. Ainda tenho mais uma modificação a fazer nela, mas está quase pronta para começar a trabalhar.

Os dados nos quais estou mais interessado são os que ocorrem dentro da mesma barra nos padrões da torre que já identifiquei. Quero primeiro coletar dados de teste suficientes sobre o que está acontecendo dentro da lógica da Cyberia durante estes tempos em particular. Não que eu ache que a outra situação comercial deva ser ignorada, mas eles não parecem ter tanto potencial, então estou me concentrando na área de maior retorno provável primeiro....

Acho que tenho trabalhado com a cybeira o suficiente para que algumas dessas coisas de probabilidade comecem a me afetar.

 

também aqui está uma amostra de escrita de arquivo, que sai do editor MT.

Isto permitirá que você se conecte a um arquivo csv, modifique para sua saída que desejar.

int handle;

datetime orderOpen=OrderOpenTime();

handle=FileOpen("c:\cyberia_log.csv", FILE_CSV|FILE_WRITE, ';');

if(handle>0)

{

FileWrite(handle, Close[0], Open[0], High[0], Low[0], TimeToStr(orderOpen));

FileClose(handle);

}

Eu estou no IBFX ao vivo, posso encaminhar o teste ao vivo para você em micro lotes. No entanto, tenho outras negociações ao vivo na conta, então eu teria que retirar os resultados do CT separadamente.

Me informe o endereço de e-mail

 

engenheiro para locação !!!!

Aaragorn:
Parece que eu resolvi meu problema de codificação anterior.

Isto me deixa agora com um novo conjunto de problemas e perguntas a serem respondidos.

Concluí que, devido à forma como esta EA negocia, é muito improvável que qualquer um dos indicadores tradicionais realmente ajude muito. Ele coloca a grande maioria das profissões dentro da mesma barra, portanto nenhum indicador de tendência irá rastreá-la dentro da barra. Ser um indicador de tendência típico do operador inverso não o ajuda muito de qualquer maneira.

No entanto, ainda há um caminho para filtrar as negociações que ainda não foi explorado, ou seja, os programas possuem uma lógica única de tomada de decisão. Embora seja uma tarefa bastante assustadora, acredito que existe uma recompensa potencial no desenvolvimento de um perfil de dados do que os parâmetros cibernéticos compõem um negócio vencedor e do que constitui um negócio perdido, EM CYBERIA LOGIC.

Para isso, proponho utilizar o backtester para gerar na revista os parâmetros determinantes que a cibéria aceita quando abre cada ordem, depois ordenar todos os negócios vencedores e perdedores em seus respectivos grupos e depois ver, a partir de uma análise desses dois grupos, se existe algo de natureza distinta que seja prontamente aparente que possa ser instalado e utilizado como parâmetro de filtro.

Acho que o clipe do filme anterior que publiquei há algum tempo atrás, cerca de 212 graus de temperatura da água, se aplica aqui. Neste momento, isto comercializa em torno de 70 - 72%. o que é bom, mas agora ainda é bastante vapor. É quente mas é como água a 211 graus, é um grau de falta de utilidade. Meu objetivo é conseguir esse grau. Isso pode significar apenas acrescentar mais alguns por cento à sua relação de ganho/perda. se o fizesse a 80% apenas mais dez por cento, seria incrível. Como é um programa difícil de se manter, porque parece que nunca decola. (minha experiência de qualquer forma)...

se eu seguir este curso, eu me pergunto se alguém mais gostaria de me ajudar nele. Eu criei uma versão do código que imprime os dados no momento em que a EA abre o pedido. Isto irá emitir cerca de 7 a 14 pedidos por vez no diário antes que o diário comece a comprimir a saída e os dados sejam perdidos. isso significa que para reunir qualquer quantidade substancial de dados o testador precisa ser reiniciado muitas vezes... a menos que alguém me ensine a imprimir toda esta informação em um arquivo em vez.....I sei que é possível que eu simplesmente não sei como fazer isso.

De qualquer forma, estou procurando pessoas com uma mini-conta IBFX que gostariam de servir como coletores de dados sobre este projeto enquanto eu desenvolvo uma planilha para analisar os dados. Se você estiver interessado, me avise até a tarde e me dê seu endereço de e-mail e eu lhe enviarei a versão EA que eu modifiquei para emitir os dados. Ainda tenho mais uma modificação a fazer nela, mas está quase pronta para começar a trabalhar.

Os dados nos quais estou mais interessado são os que ocorrem dentro da mesma barra nos padrões da torre que já identifiquei. Quero primeiro coletar dados de teste suficientes sobre o que está acontecendo dentro da lógica da Cyberia durante estes tempos em particular. Não que eu ache que a outra situação comercial deva ser ignorada, mas eles não parecem ter tanto potencial, então estou me concentrando na área de maior retorno provável primeiro....

Acho que tenho trabalhado com a cybeira o suficiente para que algumas dessas coisas de probabilidade comecem a me afetar.

Estou pronto para ajudar a Arrragorn. Verifique seu p.m. para meu endereço de e-mail

 

Testes de retorno

Aaragorn,

Há alguma chance de consertar a cibéria, de modo que você possa fazer um backtest sobre os preços abertos do bar. Isto atualmente não funciona.

Esta é a maneira mais confiável de fazer o backtest.

Leia este artigo.

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

Os resultados do backtest não serão sempre confiáveis se um pedido for preenchido e saído na mesma barra, a menos que a entrada esteja em aberto ou a saída no fechamento. Isto porque é impossível dizer a ação do preço dentro da barra. Um backtest fará uma estimativa do que aconteceu durante a barra. Às vezes, a estimativa pode resultar em um preenchimento a um preço que se estima que ocorra antes da saída, mas em imóveis ocorridos depois. Isto pode resultar em preenchimentos a preços impossíveis, especialmente quando o mercado se move rapidamente em uma direção. Algumas estratégias explorarão inadvertidamente estes preços impossíveis para produzir resultados impossíveis.