Errores, fallos, preguntas - página 1794

 
Комбинатор:
¿Por qué?

Hay tangas (dos piezas).

Los desarrolladores todavía podrían hacer una solución de trabajo similar para MqlTradeResult si

struct MqlTradeResult
  {
   uint     retcode;          // Код результата операции
   ulong    deal;             // Тикет сделки, если она совершена
   ulong    order;            // Тикет ордера, если он выставлен
   double   volume;           // Объем сделки, подтверждённый брокером
   double   price;            // Цена в сделке, подтверждённая брокером
   double   bid;              // Текущая рыночная цена предложения (цены реквота)
   double   ask;              // Текущая рыночная цена спроса (цены реквота)
   string   comment;          // Комментарий брокера к операции (по умолчанию заполняется расшифровкой кода возврата торгового сервера)
   uint     request_id;       // Идентификатор запроса, устанавливается терминалом при отправке  
   uint     retcode_external; // Код ответа внешней торговой системы
  };

la cadena de campo se haría en último lugar. Pero para MqlTradeRequest incluso esto no ayudaría.

 
fxsaber:

Hay tangas (dos piezas).

Sí, no había pensado en eso.
 

fxsaber:

Resultado

STRUCT::~STRUCT
STRUCT::~STRUCT
STRUCT::~STRUCT
¿Por qué tres veces y no dos?
Casi siempre una llamada será innecesaria... aquí están los detalles https://www.mql5.com/ru/forum/1111/page1657#comment_2729876
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • www.mql5.com
Форум алго-трейдеров MQL5
 
A100:
Casi siempre una llamada será innecesaria... aquí están los detalles https://www.mql5.com/ru/forum/1111/page1657#comment_2729876
Entonces, ¿no es un error, sino el resultado de la clave del compilador de C++ que utilizan los desarrolladores?
 
безfxsaber:
Es decir, ¿no es un error, sino el resultado de una clave del compilador de C++ que utilizan los desarrolladores?

Se trata de un comportamiento estándar, que en la inmensa mayoría de los casos puede ser optimizado sin que se produzcan daños y que todavía no está optimizado

int i = 1 + 2; //стандартное поведение: вычислять i при выполнении
               //оптимизация: сразу присвоить 3
 
1530 - ¿Qué es?
 
A100:

Se trata de un comportamiento estándar, que en la inmensa mayoría de los casos puede ser optimizado sin que se produzcan daños y que todavía no está optimizado

int i = 1 + 2; //стандартное поведение: вычислять i при выполнении
               //оптимизация: сразу присвоить 3
La optimización es buena, gracias. Pero si todo se ejecuta con honestidad, ¿de dónde salen los tres pasos?
 
fxsaber:
La optimización es buena, gracias. Pero si todo se ejecuta con honestidad, ¿de dónde salen los tres pasos?

Notificar al ServiceDesk

struct S {
        S()  { Print( __FUNCTION__ ); }
        ~S() { Print( __FUNCTION__ ); }
};
S f()
{
        S s;
        return s;
}
void OnStart() //2 раза  
{
        f();
}

así que 2 veces llamar (¿qué ha cambiado? - hay un constructor),

He supuesto que el compilador de tu ejemplo completa el código así

void OnStart() //3 раза 
{
        S s = f(); //s при этом - не используется

}

 
A100:

Informe al ServiceDesk

Escribió.

así que 2 veces la llamada(¿qué ha cambiado? - hay un constructor),

Misterioso MQL...
 

¿Es necesario escribir en SR si uno de los servidores obtiene un Result.deal cero cada vez que unaposición esabierta con éxito por una orden de mercado?

No estoy seguro de que se trate de un error, porque probablemente sea la forma en que está configurado el propio servidor. Además, siempre se puede obtener Result.deal a partir de Result.order de todos modos.

Razón de la queja: