Errores, fallos, preguntas - página 2673

 
Sergey Dzyublik:
Bug MT5(build 2323),
Dentro de una función de plantilla, un puntero pasado dentro de una conversión de tipo explícita se comporta como una clase, causando un error de compilación en consecuencia:

Gracias por el post, arreglado

 
Aliaksandr Hryshyn:

La diferencia es la presencia de paréntesis.

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


 
Aliaksandr Hryshyn:

La diferencia es la presencia de paréntesis.

depende de ti, pero podrías haberlo comprobado antes de escribir

 
Error en MT5 (build 2361) otro problema con las prioridades de las llamadas a funciones de plantillas sobrecargadas en comparación con el comportamiento de C++.
En MT5 error de compilación "llamada ambigua a función sobrecargada", en C++ está bien.
C++ en línea(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;
};
 

El editor de texto está roto en el mercado, al intentar ampliarlo a la pantalla completa sólo se cuelga el botón de guardar ....

Además es posible subir una foto de gran peso, la foto se sube pero no se muestra correctamente en la descripción.
 
Bug 1 La comisión position.Comision() en las pruebas es siempre igual a 0 (en el Probador de Estrategias la comisión se muestra en el historial de posiciones), esto afecta a la optimización de los parámetros de los Asesores Expertos que calculan utilizando la comisión.

Bug 2 simbol.Spred() da valores reales sólo en el tercer acceso desde el inicio del programa

Bug 3 cuando pierdo un agente de pruebas (trabajo en red local solamente) durante horas no puede olvidarlo e intenta encontrarlo aunque el agente ya haya aparecido en la red local - tengo que cambiar la ip del agente y sólo después de que el probador olvide el agente en una hora, devuelvo la ip del agente y el probador sigue trabajando. El resultado es la interrupción de las pruebas durante un tiempo que va desde 30 minutos hasta varias horas, según la suerte.

Bug 4 en la descripción del algoritmo genético, está escrito cuando se detiene la prueba o cuando se detiene la prueba manualmente si los parámetros de la prueba no se cambian la caché de optimización se almacena y cuando se reanuda la prueba, la optimización continúa desde el punto de parada - no es una mierda en realidad - la optimización comienza de nuevo, y los resultados de la optimización se añaden a los resultados de archivo de la optimización de parada. Como resultado, sólo hay más resultados de optimización en el archivo de resultados de optimización - sin utilidad práctica para encontrar los parámetros óptimos, el tiempo total de optimización aumenta.

El error 5 en el compilador mql5 me parece que simplemente no está optimizado - los programas son cada vez más lentos, lo que afecta a la velocidad de optimización de los parámetros. Un programa de 20 líneas no puede ser tan lento.
 
Vladimir Pastushak:

Market ha roto el editor de texto, cuando intento ampliarlo a pantalla completa sólo se cuelga el botón de guardar ....

Además es posible subir una foto de gran peso, la foto se sube pero no se muestra correctamente en la descripción.

¡Hola!

Gracias por el informe de errores.

¿Podría explicar el problema de la imagen?

 

Me encontré con un problema extraño, en un tick abre una orden y cierra la otra en un momento determinado. En el tester todo funciona bien, pero lo puse en la cuenta real y en un sitio me puse a bailar con panderetas, la posición se abre, pero la otra no se cierra. Tengo una pregunta al respecto: ¿es posible enviar dos órdenes simultáneamente (de apertura y de cierre) cuando se opera en la cuenta 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:

Me encontré con un problema extraño, en un tick se abre una orden y se cierra la otra en un momento determinado. En el tester todo funciona bien, pero lo puse en la cuenta real y en un sitio empezó la pandereta, la posición se abre, pero la otra no se cierra. A este respecto, tengo una pregunta: ¿es posible enviar dos órdenes simultáneamente (de apertura y de cierre) cuando se opera en la cuenta real?

Su ciclo no es correcto para cerrar posiciones. Haz el ciclo inverso.

 

Se ha detectado un error crítico en el terminal mientras se trabaja con el depurador en datos reales (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)