Errores, fallos, preguntas - página 1031

 
fyords:

Observo que sólo 3 de los 8 agentes pueden ejecutarse al mismo tiempo cuando se obtienen tareas de la nube.
Aunque si ejecuta su prueba en paralelo, los otros agentes también están habilitados.

¿Es así como debe ser?

Yo tenía las seis hasta que desactivé una hace un par de días porque la CPU se sobrecalentaba (la habitación es calurosa). Ahora cinco están trabajando, el vuelo es normal.
 
MetaDriver:
Tenía los seis funcionando hasta que desactivé uno hace un par de días: la CPU se estaba sobrecalentando (hace calor en la habitación). Ahora cinco están trabajando, el vuelo es normal.

Lo siento, falsa alarma :)
Es que sólo hay 3 agentes funcionando, pero están rebotando en diferentes núcleos.

De alguna manera, echaba de menos la capacidad del sistema para distribuir la carga uniformemente...

 
Al_key:
.............

¿Cómo va todo ahí dentro?

No puedo reproducir tu situación por una sencilla razón: no tengo un :

   file_handle = FileOpen("CSV - макроэкономика и госкорпстат/Existing Home Sales Change.csv",FILE_READ|FILE_CSV|FILE_ANSI,',');
 
mql5:
Uno de los dispositivos OpenCL tiene un error en el controlador y el terminal se bloquea al intentar utilizarlo.

Consulte la rama del registro [HKEY_LOCAL_MACHINE\NSOFTWARE\NKhronos\NOpenCL\NVendors] para adivinar qué dispositivos OpenCL tiene.

Se recomienda buscar actualizaciones para ellos.

Extraño, he actualizado los drivers. Después de la actualización dos terminales arrancaron sin ningún problema, luego empezaron a dar este error de nuevo.

(nvidia geforce 710m versión 320.49)


La inicialización de la terminal OpenCL se ha saltado debido a un error crítico, por favor actualice los controladores OpenCL


¿Cómo se puede comprobar si el controlador funciona o no de otra manera?

 

Descargado intel_sdk_for_ocl_applications_2013_x64 Parece que ahora funciona.

2013.08.05 09:15:38 Dispositivo OpenCL #1: GPU NVIDIA Corporation GeForce 710M con OpenCL 1.1 (2 unidades, 1550 MHz, 1024 Mb, versión 320.49, calificación 181)
2013.08.05 09:15:38 Dispositivo OpenCL #0: Intel(R) Corporation Intel(R) Pentium(R) CPU B960 @ 2.20GHz con OpenCL 1.2 (2 unidades, 2200 MHz, 2885 Mb, versión 1.2, calificación 13)

 
De la Referencia MQL5:

Cualquier carácter único encerrado entre comillas simples o código de carácter ASCII hexadecimal como '\x10' es una constante de carácter y es de tipo ushort.

class A {
public:
        void operator<<( ushort ch ) {}
        void operator<<( int ch ) {}
};

void OnStart()
{
        A a;
        a << '5'; // ошибка
        a << (ushort)'5'; // нормально
}
Se plantea entonces la cuestión de por qué el compilador no puede distinguir ushort de int, sin ninguna indicación explícita.
 
A100:
De la Referencia MQL5:

Cualquier carácter único encerrado entre comillas simples o código de carácter ASCII hexadecimal como '\x10' es una constante de carácter y es de tipo ushort.

Se plantea la cuestión de por qué el compilador no puede distinguir entre ushort e int, sin indicación explícita.

Estás leyendo la documentación de forma demasiado selectiva

Fundamentos del lenguaje - Tipos de datos - Conversión de tipos

Los tipos de datos char, uchar, short y ushort se convierten incondicionalmente al tipo int en las operaciones.

Correctamente, debe dejar sólo una operación sobrecargada, int. De lo contrario, se puede obtener una gran cantidad de todo tipo de efectos aleatorios

 
stringo:

Estás leyendo la documentación de forma demasiado selectiva

Conceptos básicos del lenguaje - tipos de datos - conversión de tipos

Se dan sólo cuando se necesitan.
void OnStart()
{
        A a;
        ushort ch = '5';
        a << ch;
}

Aquí no se regala nada, todo funciona.

La cuestión es que '5' es del tipo ushort

 
A100:
Sólo se echan en aquellos lugares en los que es necesario.

Aquí no se da nada, todo funciona.

El problema es que '5' es del tipo ushort.

Elimina una de las operaciones sobrecargadas (¡cualquiera!) y no hay dolor
 
Sí, por cierto, ¿a qué te referías al intentar organizar el desplazamiento a la izquierda a 0x35, es decir, 48 en forma decimal (que es el número al que convierte el literal "5")?