Testador de estratégia. - página 8

 
<br / translate="no"> no log selecione o menu de contexto para abrir. abra o arquivo de log correspondente e veja se foi ou não de saída. a aba de log emite dados de forma assíncrona, em um temporizador para não atrasar o testador, para que os dados possam se perder na aba (e não no log, ou seja, não no próprio log).

Ainda bem que você me disse :) Logo tudo teria começado a cair. O arquivo de log já tem cerca de 2Gb.
 
Muito freqüentemente em diferentes Expert Advisors, o testador gera dados de saída em branco (vazios) quando otimiza, passando por todos os ciclos, mas não realizando nenhuma operação. Alguém sabe por que isso acontece?
 
Acho que encontrei o "bicho" novamente! :)
Não me lembro se já escrevi sobre isso...
No final, o problema era este:
if(CurTime()-OrderOpenTime()<900) return(0);


Por alguma razão, o otimizador não zera o contador (ou seja lá o que for). E, provavelmente, conta o tempo global, não o tempo de teste. Em geral, não sei o que e como isso não é feito corretamente, mas gastei muitos nervos, enquanto pego. :) Se alguém tem o mesmo problema, tome nota!

 
Ao testar a estratégia, há entradas em locais onde, ao que parece, isso não deveria acontecer de forma alguma. Desperdicei três dias de minha vida. E para quê? Você vê números acima da barra? A primeira figura é o valor do indicador (linha vermelha). É 1.3014. E o segundo número é o baixo valor da barra devolvida ao programa. Podemos ver no gráfico que a baixa está abaixo da linha do indicador. E o mínimo desta barra é 1.3012. Mas o programa recebe o valor 1.3015. Agora vejo por que isso aciona aqui.
 
Explicar o que há de errado comigo?

Aqui está o programa:
//+------------------------------------------------------------------+ int i; //+------------------------------------------------------------------+ int init () { return(0); } int deinit() { return(0); } int start() { i++; CreateArrow(DoubleToStr(i,0),Time[0],High[0],108,Aqua); i+++;
  CreateArrow(DoubleToStr(i,0),Time[0],Low[0],108,Yellow); return(0); } void CreateArrow(string name, datetime time1, double price1, int code_arrow, int clr) { ObjectCreate(name,OBJ_ARROW,0,time1,price1);
  ObjectSet(nome,OBJPROP_ARROWCODE,code_arrow); ObjectSet(nome,OBJPROP_COLOR,clr); }



Aqui estão os resultados do teste

 
Veja a resposta no fórum Alpari, preguiçoso demais para escrever duas vezes.
 
Veja a resposta no fórum Alpari, preguiçoso demais para escrever duas vezes.

Jogue no link
 
Смотри ответ на форуме Альпари , два раза лень писать.

Jogue no link


http://forum.alpari-idc.ru/viewtopic.php?p=220941#220941
 
É tudo muito simples. A meu ver, os testes estão em modo de abertura de bar.
O que é o Alto e o Baixo da barra apenas emergindo iguais?
Dica: Aberto=Alto=Baixo=Fechado, Volume=1

A propósito, é por isso que a primeira flecha com a cor Aqua está logo abaixo da segunda Amarela.
 
É muito simples. A meu ver, os testes estão em modo de abertura de bar. <br / translate="no"> O que é o Alto e o Baixo da barra que acaba de ser aberta?
Dica: Aberto=Alto=Baixo=Fechado, Volume=1

A propósito, é por isso que a primeira flecha com a cor Aqua está logo abaixo da segunda Amarela.

Obrigado pelo esclarecimento.