Erros, bugs, perguntas - página 1958

 
Anton Ohmat:

Testei FX8320 com overclocking até 4,2 e i7 5960 na mesma frequência (o preço é muito mais elevado e mais recente) - este último mostrou um desempenho 5 vezes mais rápido para o mesmo número de núcleos com a mesma optimização. Talvez o teste não seja proporcional à novidade do processador mas ainda assim a frequência é a mesma

Tive uma ideia de que o terminal é personalizado para a Intel. É assim? Se sim, então o que é exactamente


Não impossível. A propósito, também reparei que o MT4 é mais rápido com memória de um canal do que com memória de dois canais - foi no Verão passado na AMD.

Se acredita nestes dados http://cpuboss.com/cpus/Intel-Core-i7-5960X-vs-AMD-FX-8320, não deve haver 5 vezes a diferença. Para comparar é uma questão de comparar o overclocking apenas depois de verificar a estabilidade, talvez o sobreaquecimento e a AMD começaria a trotline.

No entanto, preste atenção ao preço das pedras na mesma ligação - a diferença de preço é 12 vezes!

Para uma comparação mais justa deve compará-la com Ryzen 7 1800X que é duas vezes mais barato e, de acordo com este recurso http://www.ixbt.com/cpu/amd-r7-1800x.shtml é mais rápido em muitas tarefas.

 
Vitaly Muzichenko:

A forma correcta de dizer que não é o terminal está orientado para a Intel, mas a Intel está orientada para o computador. Mesmo com frequências mais baixas, a Intel tem sido sempre várias ordens de magnitude melhor do que a AMD. Não creio que haja qualquer comparação em termos de consumo de energia e temperatura.


Não se deixe enganar, a AMD sempre foi mais barata em termos de desempenho em termos de computação/money, e no início dos anos 2000 também superou a Intel - lembre-se dos Athlons.

 
Anton Ohmat:
A questão é aberta, o que é melhor xeon 2pc numa placa ou i7 2pc em 2 placas.

Os Xeons são diferentes - olha para o desempenho e o preço, tudo o resto é secundário.

Oh, olha também para o consumo de energia - ao longo dos anos pode haver uma diferença significativa.
 
Aleksey Vyazmikin:

Não se deixe enganar, a AMD sempre foi mais barata em termos de custo/benefício Compute/Money, e no início dos anos 2000 superou a Intel em termos de desempenho - lembre-se dos Atlons.

Troquei-os durante 5 anos, e não apenas peças, mas conjuntos de computadores. Talvez no início dos anos 2000 tenham sido melhores. O carro do Volga também já foi um super carro de classe executiva... embora algumas pessoas ainda o conduzam até hoje.

 
Vitaly Muzichenko:

Troquei-os durante 5 anos, e não apenas peças, mas conjuntos de computadores. Talvez no início de 2000 estivessem melhor. O Volga era também um super carro de negócios... embora algumas pessoas ainda os conduzam até hoje.


Se esteve no ofício, deve estar ciente dos factos que mencionei. Sim, houve um período em que a AMD teve um desempenho inferior, mas não no desempenho em stock. E agora há oRyzen e é muito interessante os resultados que terá com o MT4/MT5!

 

Erro durante a compilação

struct A {
struct B {
} static const b; //error: 'static' - semicolon expected
};
mas de resto...
struct A {
static const
struct B {
} b;
};
ok. Mas a primeira forma de gravação é mais familiar
 

MQL está OK, mas C++ gera erro E2040

void OnStart()
{
        int i1 = 1, const i2 = 2; //нормально
}
 

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Insectos, insectos, perguntas

A100, 2017.08.12 19:50

Pelo menos aqui (*) é um bug, para além do método TrendTenkan por si só (ninguém o chama)

enum ENUM_TYPE_TREND {
   TYPE_TREND_FLAT       =3,           // no trend
};
class CSignalIchimoku {
        bool TrendTenkan(const double DiffTenkan);
};
bool CSignalIchimoku::TrendTenkan(const double DiffTenkan)
{
//...
        return(TYPE_TREND_FLAT); //(*) в скобках должно быть true, false или логическое выражение
//...
}
Geralmente, o compilador deveria ter emitido um aviso em tal (*) caso, mas é silencioso

Não vi o bicho. Isto deve funcionar

if (TYPE_TREND_FLAT)
// ...
 

Será isto um insecto ou o comportamento correcto?

#define  AMOUNT (#ifdef __MQL5__ 1 #else 2 #endif)

void OnStart()
{
  int Array1[AMOUNT]; // 'AMOUNT' - undeclared identifier
  int Array2[#ifdef __MQL5__ 1 #else 2 #endif]; // no problem
}
 

Não será um erro que um método constante ainda possa mudar o campo da sua estrutura?

struct STRUCT
{
  int i;
  
  void Func( STRUCT &Struct ) const
  {
    Struct.i = 7;
  }
};

void OnStart()
{
  STRUCT Struct;
  
  Struct.Func(Struct);
  
  Print(Struct.i); // 7
}