Erros, bugs, perguntas - página 2123

 

Para resumir a questão. Qual é o objectivo de CAccountInfo, COrderInfo, CSymbolInfo, CPositionInfo e CTerminalInfo?

Veja-se o seu código fonte. Qual é o interesse de os utilizar?


CDealInfo eCHistoryOrderInfo - estes também são escritos com erros lógicos. Qual é a finalidade da sua utilização?


Bem, temos o CTrade. Tudo é claro com ele, onde pode ser conveniente, etc. Mas e as Info-classes?

 
Quase todos os métodos nas Info-classes devem ser estáticos. Por que razão não é este o caso?
 
Alguém pensa nisto enquanto escreve o código?

Fórum sobre comércio, sistemas comerciais automatizados e teste de estratégias comerciais

Consultores especializados: TrailingTakeProfit

fxsaber, 2018.02.07 16:17

Imagine uma optimização simples para 100.000 passes de 10.000.000 ticks. Então OnTick seria chamado um TRILHÃO de vezes. Qualquer acção extra chamada um trilião de vezes exigiria segundos/minutos/horas extra. Aprecie o seu tempo e o tempo dos outros.

 
fxsaber:
Alguém pensa nisto ao escrever um código?

Eu penso...

 
Vladimir Pastushak:

Eu penso...

Então é melhor não escrever dessa forma

   Comment(
           "\n","DayLimit ",DoubleToStr(DayLimit,2),               // Выводит на экран установленный лимит
           "\n","DayProfit ",DoubleToStr(DayProfit,2),             // Выводит на экран текущий профит за день
           "\n","Dostupno",DoubleToStr(DayProfit+DayLimit,2),      // Выводит на экран остаток от лимита
           "\n","Trade ",text                                      // Выводит на экран сообщение о разрешении торговать или нет
           );
 
Pessoal! Socorro) há uma semana atrás saíram actualizados os meus 10. Decidi guardar uma imagem do espaço de trabalho do terminal, carreguei em file-save como gráfico de imagem activa e carreguei em OK, a janela fecha-se e pronto......... Tenho o mesmo problema em dois terminais em corretores diferentes( a reinstalação não ajuda
 
fxsaber:

Então é melhor não escrever dessa forma.

É muitas vezes difícil compreender o que se quer dizer. É necessário sentar-se ao seu lado e ver tudo o que lê, verifica, escreve.

Há uma falta de contexto.

 
Rashid Umarov:

É muitas vezes difícil compreender o que se quer dizer. É necessário sentar-se ao seu lado e ver tudo o que lê, verifica, escreve.

Não há contexto suficiente.

Porque só a DoubleToStr será chamada três triliões de vezes por nada. Vamos ver quanto tempo leva.

double Func( const string )
{
  return(1);
}

void OnStart()
{  
  double d = 0;

  for (long i = 0; i < 3 e12; i++)
    d += Func(DoubleToString(d, 2));
  
  Print(d);  
}

Na minha máquina não fraca, são 50 horas. Isto é, um Expert Advisor vazio com tal Comentário (o Comentário em si não será chamado no modo de optimização, mas os parâmetros de entrada serão calculados) adicionará 50 horas ao tempo de espera. Quem está a pensar nisto quando escreve o código?

 
2018/02/08 00:21:15 Concluído #2151967 Stardust11
Особенности языка mql5, тонкости и приёмы работы
Особенности языка mql5, тонкости и приёмы работы
  • 2017.11.20
  • www.mql5.com
В данной теме будут обсуждаться недокументированные приёмы работы с языком mql5, примеры решения тех, или иных задач...
 

De longe.

Думаю, все сильно зависит от кодера. Испытываю неприятное ощущение от отсутствия каких-либо попыток что-либо написать не медленно.

Só aperfeiçoei a velocidade no meu testador quando precisei de optimizar rapidamente (centenas de vezes mais rápido do que o MT) um ultrapassagem completa. Demorou algumas horas a Optimizar num fim-de-semana, em vez de um mês.

E no MT4Orders, quando se quis finalmente colocar um ponto razoável no MT5.

Não é que estejamos a falar de execução em combate, estamos no Testador. O simples facto de a Nuvem estar disponível mostra que a velocidade é um estrangulamento. Em suma, os utilizadores do Cloud gastaram uma enorme quantia para pagar a incompetência dos codificadores.

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

Conselheiros: TimeEA

fxsaber, 2018.02.07 04:01

Nem uma única EA da MQ em KB (não olhou para a entrega padrão). Situação estranha. O MQ continua a enfatizar as boas velocidades MT5 mas parece não as ter medido. Talvez seja por isso que permitem que o código lento seja afixado para fins de formação.


Gostaria de ver um código de referência da MQ. Quando não há erros lógicos, não é possível uma aceleração algorítmica, o código é exposto, estão envolvidos diferentes tipos de ordens (não apenas ordens de mercado), é mostrado o envio e processamento assíncrono de ordens, o histórico de negociação e carraças são envolvidos. Pelo menos para um símbolo.

Razão: