STARIJ: en FireFox todavía se actualizan los temas en la parte superior
Y los azules de la izquierda
Es lo mismo en Chrome. No consigo ver automáticamente estos iconos azules/grises. Y la negrita de los temas no leídos es tan impresionante que hasta escribí sobre ella.
¿Alguien ha escrito ya al servicio de atención al cliente o está al tanto de los planes de MQ para añadir a MQL la posibilidad de hacer amigos? Es una gran carencia.
Lo he comprobado y OrderCheck devuelve true. La sesión comercial está abierta, etc. Pero MT5 advierte de la misma manera sobre las solicitudes manuales y automáticas, dándome retcode = 4. ¿Por qué se da esta situación, cuando el terminal dice que todo está bien, pero lo intentas y no pasa nada? ¿Cómo puedo entender sin peticiones que no se abra? ¿Y qué es este cuarto código de retorno?
¿Soy el único que piensa que un código como este no debería compilar (debería haber un error de acceso a miembro privado)?
class cA;
class cB;
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+class cA
{
//====================private:
//====================//===============//===============
cB *B;
//===============//===============void testfunc(void){::Print(__FUNCSIG__);}
//====================public:
//====================//===============//===============void test(void)
{
::Print(__FUNCSIG__);
if(::CheckPointer(::GetPointer(this.B))==POINTER_INVALID)return;
this.B.testfunc();// Здесь идет вызов private метода объекта B, что вроде как не должно быть возможным
}
//===============//===============void SetB(cB *const b){this.B=b;}
//===============//===============
};
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+class cB : public cA
{
};
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+intOnInit()
{
//---
cA A;
cB B;
A.SetB(&B);
A.test();
//---return(INIT_SUCCEEDED);
}
¿Soy el único que piensa que un código como este no debería compilar (debería haber un error de acceso a miembro privado)?
Los SD dicen que está bien, que puede hacer eso...
Según las reglas de MQL, una instancia de una clase puede acceder libremente a los campos y métodos privados de otra instancia si pertenece a la misma clase que la primera. Dado que cB hereda de cA, cB es cA y, por tanto, cA puede acceder a cualquier método y campo privado de la instancia cB, independientemente de dónde se declare.
Según las reglas de MQL, una instancia de una clase puede acceder libremente a los campos y métodos privados de otra instancia si pertenece a la misma clase que la primera. Dado que cB hereda de cA, cB es cA y, por lo tanto, cA puede acceder a cualquier método y campo privado de la instancia cB, independientemente de dónde se declare.
Gracias. No he visto esto en la documentación. ¿Puede señalarlo?
Andrey Barinov: Gracias. No he visto esto en la documentación. ¿Puede señalarlo?
No está en la documentación, porque es una peculiar "característica" no documentada del lenguaje. Es una característica muy extraña y controvertida, pero sin embargo resultó así.
Andrey Barinov: Gracias. No he encontrado esta función en la documentación. ¿Puede señalarlo?
Esto también ocurre en C++(y MQL está construido a imagen y semejanza de C++). Como dicen, la privacidad en C++ es a nivel de clase, no a nivel de objeto. De lo contrario, no podrías hacer, por ejemplo, un constructor de copias sin métodos getter especiales para todos los campos privados.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Cromado.
en FireFox todavía se actualizan los temas en la parte superior
Y los azules de la izquierda
Es lo mismo en Chrome. No consigo ver automáticamente estos iconos azules/grises. Y la negrita de los temas no leídos es tan impresionante que hasta escribí sobre ella.
Un caso interesante en las cuentas de AcePrime-Demo.
Iniciamos el Asesor Experto
Y tratamos de abrir una posición en cualquier símbolo bo (opciones binarias). En el registro de la terminal obtenemos
'3182780': market sell 1.00 XAUUSDbo '3182780': failed market sell 1.00 XAUUSDbo [Invalid data]En el registro del Asesor Experto obtenemos
Lo he comprobado y OrderCheck devuelve true. La sesión comercial está abierta, etc. Pero MT5 advierte de la misma manera sobre las solicitudes manuales y automáticas, dándome retcode = 4. ¿Por qué se da esta situación, cuando el terminal dice que todo está bien, pero lo intentas y no pasa nada? ¿Cómo puedo entender sin peticiones que no se abra? ¿Y qué es este cuarto código de retorno?
GetLastError() devuelve
ERR_TRADE_SEND_FAILED
4756
Fallo en el envío de la solicitud de comercio
Reproduce todo sin problemas.
Buenas tardes.
¿Soy el único que piensa que un código como este no debería compilar (debería haber un error de acceso a miembro privado)?
SD dice que está bien, que puede hacer eso...
Buenas tardes.
¿Soy el único que piensa que un código como este no debería compilar (debería haber un error de acceso a miembro privado)?
Los SD dicen que está bien, que puede hacer eso...
Según las reglas de MQL, una instancia de una clase puede acceder libremente a los campos y métodos privados de otra instancia si pertenece a la misma clase que la primera. Dado que cB hereda de cA, cB es cA y, por tanto, cA puede acceder a cualquier método y campo privado de la instancia cB, independientemente de dónde se declare.
Según las reglas de MQL, una instancia de una clase puede acceder libremente a los campos y métodos privados de otra instancia si pertenece a la misma clase que la primera. Dado que cB hereda de cA, cB es cA y, por lo tanto, cA puede acceder a cualquier método y campo privado de la instancia cB, independientemente de dónde se declare.
Gracias. No he visto esto en la documentación. ¿Puede señalarlo?
Gracias. No he encontrado esta función en la documentación. ¿Puede señalarlo?
Esto también ocurre en C++(y MQL está construido a imagen y semejanza de C++). Como dicen, la privacidad en C++ es a nivel de clase, no a nivel de objeto. De lo contrario, no podrías hacer, por ejemplo, un constructor de copias sin métodos getter especiales para todos los campos privados.
Es lo mismo en C++