Erros, bugs, perguntas - página 2320

 
fxsaber:

Compreenderam-me mal.


Referia-me à fórmula citada de C++.

Não compreendi absolutamente nada - porque deveria eu compreender essa citação? Fez uma suposição - eu verifiquei-a e publiquei-a. Uma vez que muitas pessoas apenas acreditam no que está escrito na cerca. Ninguém vai verificar o que está escrito, tem de ser você mesmo a fazê-lo antes de ir demasiado longe.

 
Rashid Umarov:

Não compreendi absolutamente nada - porque deveria eu compreender essa citação? Fez uma suposição - eu verifiquei-a e afixei-a. Como muitas pessoas apenas acreditam no que está escrito na cerca. Ninguém vai verificar o que está escrito, é preciso que o faça você mesmo antes de ir longe demais.

Descobriu o código C++ e escreveu um exemplo do mesmo. Se não houvesse proibição, seria interessante ouvir a resposta ao dado exemplo de divergência Sharpe para TCs idênticos.


Resumo:

  • A fórmula em MT dá o mesmo resultado para TCs idênticos.
  • A fórmula do código C++ mostra resultados diferentes para TCs idênticos.
 

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Insectos, insectos, perguntas

fxsaber, 2018.11.06 18:16

ZS E na fórmula utilizada em MT, é claro, não se subtrairia nada. Então o exemplo proposto, não importa quantos intervalos de 144 são observados, Sharpe seria sempre o mesmo.

Devido a esta unidade, a diferença seria claramente visível com um pequeno número de ofícios. Por exemplo, 5 e 5*10.

 
fxsaber:

Descobriu o código C++ e escreveu um exemplo do mesmo. Se não houvesse proibição, seria interessante ouvir a resposta ao dado exemplo de divergência Sharpe para TCs idênticos.


Resumo:

  • A fórmula em MT dá o mesmo resultado para TCs idênticos.
  • A fórmula do código C++ mostra resultados diferentes para TCs idênticos.

Encontrei este problema há um ano, não sei se já foi resolvido até agora.

O loop FOR em MT5 não funcionava correctamente se eu utilizasse o operador de pré-incrementação para uma variável.

A questão é que em C++ em muitos casos o pré-incremento em tais laços dá um pequeno ganho de desempenho, mas em MT5 causou apenas cálculos incorrectos.

 
Ilham Djumatov:

Encontrei este problema há um ano atrás, não sei se foi resolvido neste momento.

No MT5 loop FOR não funcionava correctamente se o operador de pré-incrementação de uma variável fosse utilizado nele.

A questão é que em C++ em muitos casos o pré-incremento em tais laços dá um pequeno ganho de desempenho, mas em MT5 causou apenas cálculos incorrectos.

Tais declarações devem ser apoiadas por pormenores técnicos.

Mostrar um exemplo para ilustrar o problema

 

Provavelmente uma pergunta para o ramo dos novatos. Existe outra forma de descobrir a hora actual no Testador?

input int inTimer = 1;
const bool Init = EventSetTimer(inTimer);

void OnTimer()
{
  static datetime TimeTester = TimeCurrent();
  TimeTester += inTimer;
    
  Print(__FUNCTION__ + ": " + (string)TimeCurrent());
  Print(__FUNCTION__ + ": " + (string)TimeTester); // Время Тестера
}

void OnTick()
{
  static bool FirstRun = true;
  
  if (FirstRun)
  {
    DebugBreak();
    
    FirstRun = false;
  }
}


Resultado

2018.09.03 01:35:45   OnTimer: 2018.09.03 01:35:45
2018.09.03 01:35:46   OnTimer: 2018.09.01 00:00:00
2018.09.03 01:35:46   OnTimer: 2018.09.03 01:35:46
2018.09.03 01:35:47   OnTimer: 2018.09.01 00:00:00
2018.09.03 01:35:47   OnTimer: 2018.09.03 01:35:47
2018.09.03 01:35:48   OnTimer: 2018.09.01 00:00:00
2018.09.03 01:35:48   OnTimer: 2018.09.03 01:35:48
2018.09.03 01:35:49   OnTimer: 2018.09.01 00:00:00
2018.09.03 01:35:49   OnTimer: 2018.09.03 01:35:49
 

Porque é que a data de expiração de uma encomenda pendente não pode ser definida para o segundo mais próximo? Economia de recursos informáticos?

Para eliminar uma ordem pendente com precisão de um segundo, temos de criar um sistema inteiro com um temporizador. Não há forma de resolver este problema no testador sem o temporizador (ver acima).

 
Que tipo de erro é este?
2018.11.07 22:15:35.840 Core 1  2018.11.02 16:34:10   failed unknown 184467.4407360955 M FILTER_EURUSD.rann_RannForex at 0.00000 tp: 0.00000 [Invalid request]
 
fxsaber:

Provavelmente uma pergunta para o ramo dos novatos. Existe outra forma de descobrir a hora actual no Testador?

TimeTradeServer().

 
Tinha várias centenas de temas nos meus favoritos, todos eles limpos... Sem o meu conhecimento.