Erros, bugs, perguntas - página 2691

 
Igor Makanu:

Porquê? a maioria dos tipos simples podem ser convertidos em bytes desta forma:

este código (primeira parte) também deve funcionar em C#, pelo menos nunca tive problemas com tipos inteiros, parece que a variante #3 já

pode enrolar o meu código num laço para o tornar um pouco mais compacto

UPD:

Também posso utilizar a união.

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:

Também é possível utilizar a união imediatamente.

Este foi outrora o 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);
}

Isto é, uniformidade completa. E outras guloseimas.

 
Vladimir Simakov:

Também pode utilizar a união imediatamente.

Houve um exemplo disto acima, e é um refrão e tanto))))

 

Olá a todos, a questão é a seguinte.

Porque é que quando os amortecedores indicadores são numerados correctamente, os seus nomes são exibidos incorrectamente:

Mudo a numeração para (o que me parece) incorrecta e os nomes tampão são exibidos correctamente:

O indicador é apresentado correctamente em ambos.

P.S. Se eu fizer buffer #0 e o seu ÍNDICE COR #1 números 2 e 3 respectivamente, com uma alteração correspondente em toda a numeração, o histograma (que é o buffer #0) é desenhado sobre as linhas do indicador. E eu não preciso disto.

 

Não se recebe um SMS quando se inscreve para uma conta de demonstração, por isso se já o fez dessa forma, faça-o funcionar de forma estável. Se já o fez desta forma, então faça-o funcionar de forma consistente.

 
Comentários não relacionados com este tópico foram movidos para"Quaisquer perguntas de novatos sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos".
 

Porque é que o terminal se liga ao servidor com um ping mais alto quando tem um mais baixo?

Como lutar contra isso?

construir 2363

 
Andrey Dik:

Porque é que o terminal se liga ao servidor com um ping mais alto quando tem um mais baixo?

Como lutar contra isso?

construir 2363

Talvez porque a ligação é melhor?


 
Artyom Trishkin:

Talvez porque a ligação é melhor?


o primeiro servidor tem melhor ligação (de acordo com o indicador), mas o terminal liga-se sempre ao terceiro, eu volto a ligar manualmente ao primeiro.

Admito que por vezes perco a ligação com o 1º servidor e o terminal liga-se ao primeiro disponível, mas se posso voltar a ligar-se ao 1º manualmente, porque é que o terminal não o pode fazer sozinho?

e o terceiro servidor é tão lento que as cotações na visão geral do mercado param por alguns minutos!

 
Andrey Dik:

O primeiro servidor tem uma melhor ligação (de acordo com o indicador), mas o terminal liga-se sempre ao terceiro, eu volto a ligar manualmente ao primeiro.


Então, não sei...

Razão: