Erros, bugs, perguntas - página 2673

 
Sergey Dzyublik:
Bug MT5(build 2323),
Dentro de uma função de modelo, um ponteiro passado dentro de uma conversão de tipo explícito comporta-se como uma classe, causando um erro de tempo de compilação em conformidade:

Obrigado pelo correio, fixado

 
Aliaksandr Hryshyn:

A diferença é a presença de parênteses.

   ulong n_yes=3*1000;; ok  
   ulong n_no=(3*1000;); ne ok


 
Aliaksandr Hryshyn:

A diferença é a presença de parênteses.

é com você, mas poderia ter verificado antes de escrever

 
MT5 bug (build 2361) outro problema com a sobrecarga de prioridades de chamadas de funções de modelo em comparação com o comportamento C++.
Em MT5 erro de compilação "chamada ambígua para função sobrecarregada", em C++ está OK.
C++ online(https://onlinegdb.com/Sy8cqdFr8);

template<typename _Tp>
struct It_wrapper{
   _Tp p;
};

template<typename _Tp>
struct It_g : public It_wrapper<_Tp>{};


template<typename _It, typename _Tp>
int __test_print(const It_wrapper<_It> &it, int n, const _Tp &value){
   Print(it.p);
   return 0;
};

template<typename _It> 
int test_print(const It_wrapper<_It> &it, int n, const int value){
   return __test_print(it, n, value);
}    

template<typename _It, typename _ValueType>                                                                                                    
int test_print(const It_wrapper<_It> &it, int n, const _ValueType &value){                                                              
   return __test_print(it, n, value);                                                                                                     
}   
  
   
void OnStart(){
   It_g<int> it;
   It_g<string> it_s;
   
   it.p = 4;
   it_s.p = "test";
   
   const int n = 10;
   test_print(it, 5, n);          // Compile Error: 'test_print' - ambiguous call to overloaded function
   test_print(it_s, 5, n);        // Compile Error: 'test_print' - ambiguous call to overloaded function
};


int main(){
   OnStart();
   return 1;
};
 

O editor de texto é quebrado no mercado, quando se tenta expandi-lo para o ecrã inteiro só fica pendurado o botão salvar ....

Além disso, é possível carregar uma imagem de grande peso, a imagem é carregada mas não é apresentada correctamente na descrição.
 
Bug 1 A posição de comissão.Comision() nos testes é sempre igual a 0 (no Testador de Estratégia a comissão é mostrada no histórico da posição), isto afecta a optimização dos parâmetros para os Consultores Especialistas que calculam os cálculos utilizando a comissão.

Bug 2 simbol.Spred() dá valores reais apenas no terceiro acesso desde o início do programa

Bug 3 quando perco um agente de teste (trabalho apenas na rede local) durante horas ele não se consegue esquecer e tenta encontrá-lo mesmo que o agente já tenha aparecido na rede local - tenho de mudar o agente ip e só depois desse testador esquecer o agente dentro de uma hora, devolvo o agente ip e o testador continua a trabalhar. O resultado é a paragem dos testes por um período de 30 minutos a poucas horas - como a sorte o desejaria.

Bug 4 na descrição do algoritmo genético, é escrito quando se pára de testar ou quando se pára de testar manualmente se os parâmetros de teste não são alterados a cache de optimização é armazenada e quando se retoma o teste, a optimização continua a partir do ponto de paragem - sem tretas na realidade - a optimização começa tudo de novo, e os resultados da optimização são adicionados ao ficheiro de resultados da optimização da optimização parada. Como resultado, há apenas mais resultados de optimização no ficheiro de resultados de optimização - sem uso prático para encontrar parâmetros óptimos, o tempo global de optimização aumenta.

O compilador Bug 5 em mql5 parece-me que simplesmente não está optimizado - os programas estão apenas a ficar mais lentos, o que afecta a velocidade da optimização dos parâmetros. Um programa de 20 linhas não pode ser tão lento.
 
Vladimir Pastushak:

O mercado quebrou o editor de texto, quando tento expandi-lo para ecrã inteiro só o botão de guardar está pendurado ....

Além disso, é possível carregar uma imagem de grande peso, a imagem é carregada mas não aparece correctamente na descrição.

Olá!

Obrigado pelo relatório de bug!

Poderia por favor desenvolver o problema com a imagem?

 

Deparei-me com um problema estranho, num tick abre uma ordem e fecha a outra num determinado momento. No testador tudo funciona bem, mas coloquei-o na conta real e num lugar o pandeiro começou, a posição abre, mas o outro não fecha. Tenho uma questão a este respeito: é possível enviar duas ordens simultaneamente (abertura e fecho) quando se negoceia na conta real?

Razgon_y=OrderSend(Symbol(),OP_BUY,Razgon_Lot,Ask,100,0,0,Razgon_Comment,Razgon_Magic,0,clrBlue); 
       if(Razgon_y<0) 
       { 
        Print("OrderSend завершилась с ошибкой #",GetLastError()); 
       } 
       else ( Print("Функция OrderSend успешно выполнена") );
       for(int Razgon_index=0; Razgon_index<=OrdersTotal(); Razgon_index++)
       {
        if(OrderSelect(Razgon_index,SELECT_BY_POS,MODE_TRADES)==true)
        {
         if(OrderMagicNumber()==Razgon_Magic && OrderType()==OP_SELL && OrderProfit()>0)
         {
          Razgon_OC=OrderClose(OrderTicket(),OrderLots(),Ask,100,clrGreen);
          if(Razgon_OC==false) 
          { 
           Print("OrderClose завершилась с ошибкой #",GetLastError()); 
          } 
           else ( Print("Функция OrderClose успешно выполнена") );
          Razgon_AccountEquity=AccountEquity();
         }
        }
       }
      }
 
Maksim Slovakov:

Deparei-me com um problema estranho, num tick abre uma ordem e fecha a outra num determinado momento. No testador tudo funciona bem, mas coloquei-o na conta real e num lugar o tamborim começou, a posição abre, mas o outro não fecha. Tenho uma questão a este respeito: é possível enviar duas ordens simultaneamente (abertura e fecho) quando se negoceia na conta real?

O seu ciclo não é correcto para posições de fecho. Fazer o ciclo inverso.

 

Apanhou um erro crítico no terminal enquanto trabalhava com o depurador em dados reais (build 2361):

2020.03.16 16:30:41.730 (RTS Splice,M1)    crash -->  00000115A15300A5 488D0B            lea        rcx, [rbx]

2020.03.16 16:30:41.730 (RTS Splice,M1)               00000115A15300A8 E8850B0000        call       0x115a1530c32

2020.03.16 16:30:41.730 (RTS Splice,M1)               00000115A15300AD 90                nop        

2020.03.16 16:30:41.730 (RTS Splice,M1)               00000115A15300AE 89842488000000    mov        [rsp+0x88], eax

2020.03.16 16:30:41.730 (RTS Splice,M1)               00000115A15300B5 F4                hlt        

2020.03.16 16:30:41.730 (RTS Splice,M1)               00000115A15300B6 842488            test       [rax+rcx*4], ah

2020.03.16 16:30:41.730 (RTS Splice,M1)               00000115A15300B9 0000              add        [rax], al

2020.03.16 16:30:41.730 (RTS Splice,M1)

2020.03.16 16:30:41.730 (RTS Splice,M1) 00: 0x00000115A15300A5

2020.03.16 16:30:41.730 (RTS Splice,M1) 01: 0x00000115A7DFFD64

2020.03.16 16:30:41.730 (RTS Splice,M1) 02: 0x00000001776FA270

2020.03.16 16:30:41.730 (RTS Splice,M1) 03: 0x0000000000000001

2020.03.16 16:30:41.730 (RTS Splice,M1) 04: 0x00000001776FA23C

2020.03.16 16:30:41.730 (RTS Splice,M1)



Razão: