Errores, fallos, preguntas - página 2967

 
Artyom Trishkin:
No inicializar sus variables es un comportamiento anormal. Inícialo y no habrá esas preguntas.

Completamente a favor.

Pero eso no significa que el error no se encuentre en ninguna parte ))). Sólo quería asegurarme de que todo estaba bien.

 
mktr8591:

Completamente a favor.

Pero eso no significa que el error no se encuentre en ninguna parte ))). Sólo quería asegurarme de que todo está bien.

Lo más probable es que sea algún tipo de protección.
Como el acceso a las celdas de memoria en mql no está disponible, supongo que al acceder a una variable, su valor basura se genera aleatoriamente.
Y si la variable no está inicializada, entonces en la depuración la probabilidad de no encontrar el error se incrementa muchas veces))
Y el compilador muy probablemente lo indica en las advertencias, que la variable no está inicializada.

 
Roman:

Lo más probable es que se trate de una especie de protección.
Como el acceso a las celdas de memoria en mql no está disponible, supongo que cuando se accede a una variable, su valor basura se genera aleatoriamente.
Y si la variable no está inicializada, al depurar, la probabilidad de no encontrar un error aumenta muchas veces ))
Y lo más probable es que el compilador diga al respecto en la advertencia que la variable no está inicializada.

O la optimización. Como la variable es indefinida, podemos darle el valor que queramos, por ejemplo, en un registro.

 
JRandomTrader:

O la optimización. Como la variable no está definida, podemos dar cualquier valor que esté más cerca, en un registro, por ejemplo.

Algo así, de mi entorno. La generación, por supuesto, no es apropiada como he dicho, sólo una suposición generalizada.

 

Decidió averiguar cuánto ganarán 2 agentes en el servicio MQL5 Cloud Network para construir una plancha con un procesador multinúcleo en el futuro. He añadido los agentes mediante el Gestor de Agentes. Parece que se han añadido bien.

Director de la agencia

Nada parecesospechoso... He entrado en mi cuenta MQL5.COM. He visto los agentes creados en la sección "Agentes" del Área Personal. También encontré dos servicios, MetaTester-1 y MetaTester-2 en el administrador de tareas. Pero durante medio día no hay tareas para los agentes. Todo es nulo. ¿Por qué no funcionan los agentes?

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Заработать деньги, продавая мощности своего компьютера для сети распределенных вычислений MQL5 Cloud Network
 
	 CList *deals_array = new CList;

         for(int i=0;i<10;i++)
         {
            RobotDeal *cobj = new RobotDeal;
            cobj.ticker = "ticker " +IntegerToString(i);
            deals_array.Add(cobj);
         }
         
         RobotDeal *cobj11 = new RobotDeal;
         cobj11.ticker = "ticker 11 ";
         deals_array.Add(cobj11);
         
         RobotDeal *cobj12 = new RobotDeal;
         cobj12.ticker = "ticker 12 ";
         deals_array.Add(cobj12);
         
         RobotDeal *cobj13 = new RobotDeal;
         cobj13.ticker = "ticker 13 ";
         deals_array.Add(cobj13);
         
         RobotDeal *cobj14 = new RobotDeal;
         cobj14.ticker = "ticker 14 ";
         deals_array.Add(cobj14);

         Print("Total: " + IntegerToString(deals_array.Total()));

         for(int i=0;i<deals_array.Total();i++)
           {
               RobotDeal *object=deals_array.GetNodeAtIndex(i);
               Print(object.ticker);
           }
         
         for(int i=0; i < 14; i++)
         {
            Print("remove # " + IntegerToString(i));
            RobotDeal *deal = deals_array.GetNodeAtIndex(i);
            
            if(CheckPointer(deal) != POINTER_INVALID)
            {
               Print("remove: " + deal.ticker);
               deals_array.Delete(i);
            }
         }

         for(int i=0;i<deals_array.Total();i++)
           {
               RobotDeal *object=deals_array.GetNodeAtIndex(i);
               Print(object.ticker);
           }

         Print("Total end: " + IntegerToString(deals_array.Total()));
class RobotDeal: public CObject
{
    public:

    string ticker;

    RobotDeal() {}
};

¿Pueden decirme cómo eliminar correctamente los elementos de la lista? Cuando intento borrar sólo se borran la mitad y la indexación va mal. Lo he intentado de todas las maneras. ¡No funciona en absoluto!


Cuando se ejecuta este código sale lo siguiente, por ejemplo


Total: 14

ticker 0

teletipo 1

teletipo 2

teletipo 3

teletipo 4

teletipo 5

teletipo 6

teletipo 7

teletipo 8

teletipo 9

teletipo 11

teletipo 12

teletipo 13

teletipo 14

eliminar # 0

eliminar: ticker 0

eliminar # 1

eliminar: ticker 2

eliminar # 2

eliminar: ticker 4

eliminar # 3

eliminar: ticker 6

eliminar # 4

eliminar: ticker 8

eliminar # 5

eliminar: ticker 11

eliminar # 6

eliminar: ticker 13

eliminar # 7

eliminar # 8

eliminar # 9

eliminar # 10

eliminar # 11

eliminar # 12

eliminar # 13

teletipo 1

teletipo 3

teletipo 5

teletipo 7

teletipo 9

teletipo 12

teletipo 14

Final total: 7


 
Mihail Matkovskij:

Decidió averiguar cuánto ganarán 2 agentes en el servicio MQL5 Cloud Network para construir una plancha con un procesador multinúcleo en el futuro. He añadido los agentes mediante el Gestor de Agentes. Parece que se han añadido bien.

Nada parecesospechoso... He entrado en mi cuenta MQL.COM. He visto los agentes creados en mi cuenta en "Agentes". También encontré dos servicios, MetaTester-1 y MetaTester-2 en el administrador de tareas. Pero durante medio día no hay tareas para los agentes. Todo es nulo. ¿Por qué no funcionan los agentes?

¿Qué relaciones públicas consiguió para sus agentes? Por ejemplo, hubo tareas para el PR180 el día 20 (especialmente por la mañana).

 
Vladimir Karputov:

¿Qué agentes de relaciones públicas consiguió? Por ejemplo, 20Chisla para PR180 eran las tareas (especialmente por la mañana).

Tengo agentes de relaciones públicas de 119. Me pregunto cómo afecta esto.

 
Mihail Matkovskij:

Tengo 119 agentes de relaciones públicas. Me pregunto cómo afecta eso.

No lo sé con seguridad. Sólo me preguntaba.

 
DimaDDM:

¿Pueden decirme cómo eliminar correctamente los elementos de la lista? Cuando intento borrar sólo se borran la mitad y la indexación va mal. Lo he intentado de todas las maneras. ¡No funciona en absoluto!

¡Tiene un borrado incorrecto! Su código:

        for(int i=0; i < 14; i++)
        {
            Print("remove # " + IntegerToString(i));
            RobotDeal *deal = deals_array.GetNodeAtIndex(i);
            
            if(CheckPointer(deal) != POINTER_INVALID)
            {
               Print("remove: " + deal.ticker);
               deals_array.Delete(i);
            }
         }

A medida que eliminas cada elemento, la lista se hace más pequeña. Por eso hay que hacerlo así:

        for(int i = deals_array.Total() - 1; i >= 0; i--)
        {
            Print("remove # " + IntegerToString(i));
            RobotDeal *deal = deals_array.GetNodeAtIndex(i);
            
            if(CheckPointer(deal) != POINTER_INVALID)
            {
               Print("remove: " + deal.ticker);
               deals_array.Delete(i);
            }
         }

O incluso más simple:

deals_array.Clear();