[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 1070
Não. As mensagens privadas são apenas para comunicação pessoal. E os erros de código devem ser discutidos publicamente, para que outros não cometam os mesmos erros, ou alguém poderia então compartilhar um link para uma solução pronta.
Por favor, esclareça. Ao otimizar o Expert Advisor, notei que definindo diferentes TPs com algoritmo genético ativado, obtenho resultados diferentes, isto é, se eu defino TP=400, então otimizo em etapas de 1 a 400, então defino 350, então otimizo em etapas de 1 a 350 e assim por diante até TP=50. Então acontece que se eu correr apenas em TR = 400, então eu "pulo" os resultados que estão em TP mais baixo e melhor! É por causa da genética? (O artigo https://www.mql5.com/ru/articles/1347 (Criado em: 25.12.2009 Autor: Rider) diz: "...A genética é certamente uma coisa útil, mas dentro de limites razoáveis. O problema é que seu algoritmo pode jogar uma piada cruel - algumas vantagens, de seu ponto de vista, um conjunto de parâmetros será identificado, e toda otimização adicional irá "em torno dele" até o final. Acho que é claro quais são as conseqüências. A maioria das variantes realmente boas que funcionarão fora da área de otimização serão deixadas "fora" e não aparecerão na tabela "Resultados da Otimização".
Há várias maneiras de sair. Uma solução radical é rejeitar o uso de algoritmo genético na otimização. Mas esta nem sempre é uma boa solução por uma razão ou outra. As duas próximas são meias-medidas, mas pelo menos alguma coisa:
- Conduzir a otimização não uma, mas duas ou mais vezes. A primeira vez, digamos, por "Equilíbrio", a próxima por "Desdobramento Máximo" ou algo mais ..."). Então, para não obter o melhor resultado, eu deveria executá-lo com diferentes TPs + por diferentes "parâmetros otimizáveis" e mais, por exemplo, 9 testes avançados com 9 otimizações para cada teste de confiabilidade?
A quebra em seu caso aciona e interrompe o laço somente quando a condição é cumprida. Se a condição não for cumprida, o laço é infinito. Tente desta forma.
int sec=Seconds();
while(true)
{if(sec!=Seconds()) // new sec
{ int ms=GetTickCount(); }
break;
}
Para mudar o spread, por exemplo, existe um programa TakeMySpread, mas como ou com o que você pode mudar o "Stop Level " para testar o EA em condições diferentes. Socorro!
Mas não funciona :(
Então não funciona em outro lugar ou me escapou algo
Posso bater em sua porta pessoalmente?
Olá. este simples código funciona com um erro. Eu mesmo não consigo descobrir a razão.
A primeira ordem abre, modifica. A segunda abre e... Não modifica. Mantém-na até falhar.
No registro diz:
"01:23:22 MarkTrade começou para testes
01:23:22 2010.01.29 00:00 MarkTrade EURUSD,H1: abrir #1 comprar 1.00 EURUSD a 1.3965 ok
01:23:22 2010.01.29 00:00 MarkTrade EURUSD,H1: modificar #1 comprar 1.00 EURUSD a 1.3965 sl: 1.3935 tp: 0.0000 ok
01:23:22 2010.01.29 00:28 Testador: pare a perda #1 em 1.3935 (1.3935 / 1.3937)
01:23:22 2010.02.01 00:00 MarkTrade EURUSD,H1: abrir #2 comprar 1.00 EURUSD a 1.3877 ok
01:23:22 2010.05.05 13:17 MarkTrade: parado por causa de Stop Out
01:23:22 2010.05.05 13:17 Testador: o pedido nº 2 está fechado
Percebi meu erro! OrderSend devolve valor não-booleano!
boa tarde
Como criar um testador que trabalhe em diferentes reframes.
e fazer a história.
Bom dia!
Por favor, esclareça. Ao otimizar o Expert Advisor, notei que definindo diferentes TPs com algoritmo genético ativado, obtenho resultados diferentes, isto é, se eu defino TP=400, então otimizo em etapas de 1 a 400, então defino 350, então otimizo em etapas de 1 a 350 e assim por diante até TP=50. Então acontece que se eu correr apenas em TR = 400, então eu "pulo" os resultados que estão em TP mais baixo e melhor ! É por causa da genética? (O artigo https://www.mql5.com/ru/articles/1347 (Criado em: 25.12.2009 Autor: Rider) diz: "...A genética é certamente uma coisa útil, mas dentro de limites razoáveis. O problema é que seu algoritmo pode jogar uma piada cruel - algumas vantagens, de seu ponto de vista, um conjunto de parâmetros será identificado, e toda otimização adicional irá "em torno dele" até o final. Acho que é claro quais são as conseqüências. A maioria das variantes realmente boas que funcionarão fora da área de otimização serão deixadas "fora" e não aparecerão na tabela "Resultados da Otimização".
Há várias maneiras de sair. Uma solução radical é rejeitar o uso de algoritmo genético na otimização. Mas esta nem sempre é uma boa solução por uma razão ou outra. As duas próximas são meias-medidas, mas pelo menos alguma coisa:
- Conduzir a otimização não uma, mas duas ou mais vezes. A primeira vez, digamos, por "Equilíbrio", a próxima por "Desdobramento Máximo" ou algo mais ..."). Então, para não obter o melhor resultado, eu deveria executá-lo com diferentes TPs + por diferentes "parâmetros otimizáveis" e mais, por exemplo, 9 testes avançados com 9 otimizações para cada teste de confiabilidade?
o ciclo não é interrompido por algum motivo
A quebra em seu caso aciona e interrompe o laço somente quando a condição é cumprida. Se a condição não for cumprida, o laço é infinito. Tente desta forma.
apausa em seu caso só funciona se a condição for cumprida
Para mudar o spread, por exemplo, existe um programa TakeMySpread, mas como ou com o que você pode mudar o "Stop Level " para testar o EA em condições diferentes. Socorro!