Errors, bugs, questions - page 1958

 
Anton Ohmat:

I tested FX8320 overclocked up to 4.2 and i7 5960 at the same frequency (the price is much higher and newer) - the latter showed 5 times faster performance for the same number of cores with the same optimization. Maybe the test is not proportional to the newness of the processor but still the frequency is the same

I got an idea that the terminal is customized for Intel. Is it so? If yes, then what exactly it is


Not impossible. By the way, I also noticed that MT4 is faster with single channel memory than with dual channel memory - was last summer on AMD.

If you believe these data http://cpuboss.com/cpus/Intel-Core-i7-5960X-vs-AMD-FX-8320 there shouldn't be 5 times difference. To compare is a matter of comparing overclocking only after you check stability, maybe overheating and AMD would start to trotline.

However, pay attention to the price of the stones in the same link - price difference is 12 times!

For more fair comparison you should compare it with Ryzen 7 1800X which is twice cheaper and according to this resource http://www.ixbt.com/cpu/amd-r7-1800x.shtml is faster in many tasks.

 
Vitaly Muzichenko:

The correct way to say it is not the terminal is geared to Intel, but Intel is geared to the computer. Even with lower frequencies, Intel has always been several orders of magnitude better than AMD. I don't think there is any comparison in terms of power consumption and temperature.


Don't be misled, AMD has always been cheaper in terms of performance in terms of compute/money, and in the early 2000s it outperformed Intel as well - remember the Atlons.

 
Anton Ohmat:
The question is open, which is better xeon 2pc on one board or i7 2pc on 2 boards.

Xeons are different - look at performance and price, everything else is secondary.

Oh, also look at power consumption - over the years there could be a significant difference.
 
Aleksey Vyazmikin:

Don't be misled, AMD has always been cheaper in terms of cost/benefit Compute/Money, and in the early 2000s it outperformed Intel in terms of performance - remember the Atlons.

I traded them for 5 years, and not just parts but computer assemblies. Maybe in the early 2000's they were better. The Volga car was once a business class super car too... although some people still drive them to this day.

 
Vitaly Muzichenko:

I traded in them for 5 years, and not just parts, but computer assemblies. Maybe in early 2000 they were better. The Volga used to be a super business car too... although some people still drive them to this day.


If you were in the trade you should be aware of the facts I have mentioned. Yes, there was a period when AMD was inferior in performance, but not in stock performance. And now there'sRyzen and it's very interesting what results it will have with MT4/MT5!

 

Error during compilation

struct A {
struct B {
} static const b; //error: 'static' - semicolon expected
};
but otherwise...
struct A {
static const
struct B {
} b;
};
ok. But the first form of recording is more familiar
 

MQL is OK, but C++ generates error E2040

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

Forum on trading, automated trading systems and trading strategy testing

Bugs, bugs, questions

A100, 2017.08.12 19:50

At least here (*) is a bug, besides the TrendTenkan method by itself (no one calls it)

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 или логическое выражение
//...
}
Generally, the compiler should have issued a warning in such a (*) case, but it is silent

Didn't see the bug. This should work

if (TYPE_TREND_FLAT)
// ...
 

Is this a bug or the correct behaviour?

#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
}
 

Isn't it a mistake that a const method can still change the field of its structure?

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

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