Errores, fallos, preguntas - página 2691

 
Igor Makanu:

¿Por qué? La mayoría de los tipos simples pueden ser convertidos a bytes de esta manera:

este código (primera parte) debería funcionar también en C#, al menos nunca he tenido problemas con los tipos enteros, parece que la variante #3 ya

puedes envolver mi código en un bucle para hacerlo un poco más compacto

UPD:

También puedo usar la unión.

void OnStart()
  {
   uchar a[];
   UByte<int> b=0xA2F38114;
   if (b.GetArray(a))
      for (int i=0;i<sizeof(int);PrintFormat("%#x",a[i++]));
   }

template<typename T>
union UByte{
   T  val;
   uchar arr[sizeof(T)];
   T operator =(T x) {return val=x;}
   bool GetArray(uchar &mArr[]) {return ArrayCopy(mArr,arr)==sizeof(T);}
};
 
Vladimir Simakov:

También es posible utilizar la unión de inmediato.

Este fue una vez el resultado.

#include <TypeToBytes.mqh> // https://www.mql5.com/ru/code/16280

void f( const uchar &Array[] )
{
  ArrayPrint(Array);
  
  Print("----");
}

void OnStart()
{
  int i = 5;
  double d[] = {0, 1, 2};

  // Простые типы и их массивы
  f(_R(i).Bytes);
  f(_R(d).Bytes);
  
  MqlTick Tick = {0};
  MqlTick Ticks[2];

  // Простые структуры и их массивы.
  f(_R(Tick).Bytes);
  f(_R(Ticks).Bytes);
  
  string Str;
  string StrArray[] = {"12", "34", "56"};
    
  // Строки и их массивы.
  f(_R(Str).Bytes);
  f(_R(StrArray).Bytes);
}

Es decir, uniformidad total. Y otras cosas buenas.

 
Vladimir Simakov:

También puedes utilizar la unión de inmediato.

Había un ejemplo de esto arriba, y es todo un coro)))

 

Hola a todos, la pregunta es la siguiente.

¿Por qué cuando los búferes de los indicadores están numerados correctamente, sus nombres se muestran incorrectamente?

Cambio la numeración a (lo que me parece) incorrecta y los nombres de los búferes se muestran correctamente:

El indicador se muestra correctamente en ambos.

P.D. Si hago que el buffer #0 y su COLOR INDEX #1 sean los números 2 y 3 respectivamente, con el correspondiente cambio en toda la numeración, el histograma (que es el buffer #0) se dibuja sobre las líneas del indicador. Y no necesito esto.

 

No recibes un SMS cuando te registras en una cuenta demo, así que si ya lo has hecho así, haz que funcione de forma estable. Si ya lo has hecho de esta manera, haz que funcione de forma consistente.

 
Los comentarios no relacionados con este tema han sido trasladados a "Cualquier pregunta de los novatos en MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos".
 

¿Por qué el terminal se conecta al servidor con un ping más alto cuando tiene uno más bajo?

¿Cómo puedo combatirlo?

construir 2363

 
Andrey Dik:

¿Por qué el terminal se conecta al servidor con un ping más alto cuando tiene uno más bajo?

¿Cómo puedo combatirlo?

construir 2363

¿Tal vez porque la conexión es mejor?


 
Artyom Trishkin:

¿Tal vez porque la conexión es mejor?


el primer servidor tiene mejor conexión (según el indicador), pero el terminal siempre se conecta al 3º, me reconecto manualmente al 1º.

Reconozco que a veces pierdo la conexión con el primer servidor y el terminal se conecta al primero disponible, pero si puedo reconectarme al primero manualmente, ¿por qué el terminal no puede hacerlo por sí mismo?

y el tercer servidor es tan lento que las cotizaciones en el panorama del mercado se detienen durante unos minutos.

 
Andrey Dik:

El primer servidor tiene mejor conexión (según el indicador), pero el terminal siempre se conecta al 3º, me reconecto manualmente al 1º.


Entonces no sé...