MetaTrader 5 Strategy Tester e MQL5 Cloud Network - página 26

 
notused:

Com a genética, é compreensível - esperar que o resto da população devolva o resultado.

Ah, então esse poderia ser o objectivo. Então com agentes locais rápidos que trabalham com "nuvens" está contra-indicado?
 
Yedelkin:
Ah, então esse poderia ser o objectivo. A computação em nuvem está contra-indicada para agentes locais rápidos, então?
Depende de quantos agentes locais/remotos tiver - se tiver uma dúzia ou duas, é pouco provável que a nuvem faça a diferença, mas se tiver apenas um casal, a nuvem será mais rápida. Para especialistas que testam relativamente "depressa", a nuvem ajudará mesmo quando há muitos agentes locais/remotos
 
notused:

Ainda assim, algo tem de ser feito a esse respeito:

Preste atenção à resposta devolvida pela nuvem. Parece que não foi recebida uma única resposta correcta desde ontem (e os passes são 100% com transacções e sem erros). A utilidade da rede em tal caso é 0. E o caso - 12 instrumentos desde o início do ano. Embora há alguns dias atrás tenha havido, por vezes, resultados correctos, mas hoje - nenhum.

Tendo em conta que a nuvem em breve será paga, não gostaria de atirar dinheiro ao vento sem qualquer resultado (no modo de teste recebi $7 por ontem e hoje por utilizar a rede, embora, mais uma vez, não tenha recebido nada dela, e só ontem à noite utilizei a rede, porque não estava a funcionar durante o dia).

+ por vezes a nuvem entra num estado de acabamentos quando está cheia(!). Como pode isto acontecer quando ainda restam alguns milhares de passes?

Já tentou fazer um único passe sobre tais resultados num agente local?

Pode descrever os parâmetros de arranque, lista de agentes, parâmetros de optimização no seu pedido ao Service Desk + adicionar um perito (pelo menos ex5)? Os registos também seriam muito úteis.

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
alexvd:

Já tentou fazer um único passe com estes resultados num agente local?

Pode descrever parâmetros de lançamento, lista de agentes, parâmetros de optimização na aplicação ao Service Desk + anexar perito (pelo menos ex5)? E alguns troncos seriam realmente úteis.

A questão não é para mim, mas sim, já a experimentei. No agente local, o teste passa sem erros. Há uma suposição de que o problema está relacionado com o temporizador (EST = EventSetTimer(3600)), porque no meu caso o erro crítico de tempo de execução ocorreu no início dos testes (tempo de teste - 0 segundos). Texto literal do OnInit (não o posso inserir como fonte por alguma razão, IE8):

int OnInit()
{
Imprimir("hh=",hh," mm=",mm," MLEVEL=",MLEVEL," TP=",TP," SL=",SL," TS=",TS);
Print("OnInit inicia SymbolsTotal: ",SymbolsTotal(true),"/",SymbolsTotal(false));


// tombamento para iniciação no testador
for(uint i=0; i<maxsym; i++)
{
SymbolSelect(SymbolName(i,false),true);
}

EST = EventSetTimer(3600);
se (!EST) {\i1}
Comentário("Erro: EventSetTimer= ", GetLastError();
Imprimir("Error: EventSetTimer= ", GetLastError();

}

for(uint i=0; i<maxsym; i++)
{
e[i].init(SymbolName(i,true),PERÍODO_M1); // initialize expert
Imprimir(i,SymbolName(i,true));
}
// exemplo de inicialização
// ea.Init(Symbol(), PERIOD_M5); // por um período de tempo fixo
// ea.Init("USDJPY", PERÍODO_H2); // para um símbolo e um período de tempo fixos

Imprimir("OnInit termina SymbolsTotal: ",SymbolsTotal(true),"/",SymbolsTotal(false));

return(0);
}

 

Alguém me pode dizer como fazer isto?

Estou a tentar acelerar a optimização, não quero (por exemplo) resultados com um drawdown superior a 30%.

O que estou a fazer é isto:

input double Max_DD_EQ = 30;


double max_eq,max_dd,dd_percent;
bool dd_valid=true;

//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   if(!dd_valid) return; 
   if(MQL5InfoInteger(MQL5_OPTIMIZATION) || MQL5InfoInteger(MQL5_TESTING))
     {
      max_eq=MathMax(max_eq,AccountInfoDouble(ACCOUNT_EQUITY));
      max_dd=MathMax(max_eq-AccountInfoDouble(ACCOUNT_EQUITY),max_dd);
      dd_percent=max_dd/(max_eq*0.01);
      if(dd_percent>Max_DD_EQ) { ClosAllPos(); dd_valid=false; return; }
     }
// дальше идет блок открытия (закрытия) поз

Quero que a corrida termine após exceder o levantamento de crédito permitido.

Mas o testador, depois de atingir o máximo de drawdown, conta como antes. Não quero corridas vazias (inúteis).

Alguma outra opção? Ou aos criadores?

Ou mais curto: Como é que eu termino à força a corrida? (Em MT4 havia uma coisa assim).

 
ExpertRemove();
?
 
Vigor:
?

Muito obrigado! Funcionou!

Verifiquei-o. Agora foi muito mais rápido.

 
alexvd:

Já tentou fazer um único passe com estes resultados sobre o agente local?

Não utilizado:

Faço uma única passagem no núcleo local - tudo está bem (já tentei muitas vezes, com parâmetros diferentes). Suponho que talvez o agente de rede ou ficou sem espaço em disco ou memória não é suficiente (multicast) ou outra coisa qualquer.

alexvd:

Pode descrever os parâmetros de arranque, lista de agentes, parâmetros de optimização no seu pedido ao Service Desk + anexar um Expert Advisor (pelo menos ex5)? E os registos seriam muito úteis.

Enviado (#232346). Lamentamos que não haja registos - são escritos por cima do terminal. Mas penso que não terá problemas em reproduzi-la.
Cinzas:

A questão não é para mim, mas sim, já a experimentei. No agente local, o teste passa sem erros. Há uma suposição de que o problema está relacionado com o temporizador (EST = EventSetTimer(3600)), porque no meu caso o erro crítico de tempo de execução ocorreu no início dos testes (tempo de teste - 0 segundos).

De facto, o temporizador aplica-se. Só no meu caso se pode ver que os agentes de rede trabalham durante cerca de 5 minutos nos cálculos, e depois dão um resultado vazio.
 
notused:

como combatê-lo?


Por vezes recebo respostas como esta da rede em pacotes (Critical Runtime Error). Passagem de corrida no núcleo local - tudo está bem (já tentei muitas vezes, com parâmetros diferentes). Suponho que provavelmente o agente de rede ou ficou sem espaço em disco ou memória (multicast) ou o que mais. Mas, é uma pena que uma passagem geralmente lucrativa seja excluída de mais considerações. Embora, por outro lado, eu sinta que o problema não é resolúvel em princípio (como sei que o problema está com o agente e não com o ekspert?) . Ou talvez uma definição "Não utilize agentes que devolveram o Erro Crítico de Tempo de Execução nas últimas 24 horas na sua conta"?

Não é crítico para mim (núcleos remotos suficientes), mas geralmente um inconveniente.

Estamos em vias de tratar este problema.
 

Tal questão. Tenho um Core i7 de 8 núcleos, e depois de ter terminado a preparação para o campeonato, não preciso realmente dele. A menos que eu queira jogar um jogo ou algo parecido durante meio ano. Para não ficar inactivo, seria possível transferir alguma energia para uma nuvem, mas pergunto-me se o computador arrefecerá da mesma forma que arrefeceria se eu o optimizar localmente. Claro que um computador podia sobreviver 5 dias de optimização contínua com sobreaquecimento constante, mas mesmo assim tinha de estar de olho nele, arrefecê-lo, etc.

... A componente monetária não me interessa. Se o rendimento da nuvem for um cêntimo, pode fazê-lo de graça - NiVapros.