Ошибки, баги, вопросы - страница 1958

 
Anton Ohmat:

протестировал FX8320 разогнанный до 4.2 и i7 5960 на той-же частоте (цена намного выше и новее) - последний показал скорость при одинаковой оптимизации в 5 раз быстрее на одинаковом количестве ядер. Возможно тест не пропорционален новизне процессора но все же частота та самая

Возникла мысль что терминал заточен под интел. Так ли это? Если да - то под что именно


Не исключено. Кстати, ещё в MT4 я заметил, что с одноканальной памятью работает MT4 быстрей чем с двух канальной - было прошлым летом на AMD.

Если верить этим данным http://cpuboss.com/cpus/Intel-Core-i7-5960X-vs-AMD-FX-8320 то разницы в 5 раз быть не должно. Сравнивать на разгоне надо только после того, как будет проверена стабильность, возможно был перегрев и начинался тротлинг у AMD.

Однако, обратите внимание на цену камней по той же ссылки разница в цене в 12 раз!

Для более справедливого сравнения стоило бы сравнить c Ryzen 7 1800X , который стоит в два раза дешевле, а судя по данным этого ресурса http://www.ixbt.com/cpu/amd-r7-1800x.shtml работает во многих задачах быстрей.

 
Vitaly Muzichenko:

Правильней сказать не терминал заточен под Интел, а Интел заточен под компьютер. Даже с более низкой частотой, Интел всегда был на несколько порядков выше AMD. Потребление и температурный режим думаю можно так-же не сравнивать


Не вводите в заблуждение, AMD всегда был дешевле в качестве фондоотдачи Вычисление/деньги , а в начале 2000х и по производительности он обходил интел - вспомните Атлоны.

 
Anton Ohmat:
Вопрос открыт, что лучше xeon 2шт на одной плате или i7 2шт на 2х платах

Ксеоны разные бывают - смотрите по производительности и цене, остальное второстепенно.

А, еще на потребление электричества гляньте - за годы может быть существенная разница.
 
Aleksey Vyazmikin:

Не вводите в заблуждение, AMD всегда был дешевле в качестве фондоотдачи Вычисление/деньги , а в начале 2000х и по производительности он обходил интел - вспомните Атлоны.

Я ними 5 лет торговал, и не просто запчастями, а компьютерными сборками. Может в начале 2000 и были лучше. Автомобиль "Волга" когда-то тоже была супер-машина бизнес класса..., хотя на них по сей день некоторые ездят.

 
Vitaly Muzichenko:

Я ними 5 лет торговал, и не просто запчастями, а компьютерными сборками. Может в начале 2000 и были лучше. Автомобиль "Волга" когда-то тоже была супер-машина бизнес класса..., хотя на них по сей день некоторые ездят.


Коль торговали, то должны знать о мной приведенных фактах. Да, был период, когда AMD уступал по производительности, но не по фондоотдачи. А теперь есть Ryzen и очень интересно, какие у него будут результаты при работе с MT4/MT5!

 

Ошибка при компиляции

struct A {
struct B {
} static const b; //error: 'static' - semicolon expected
};
а так
struct A {
static const
struct B {
} b;
};
нормально. Но первая форма записи более привычна
 

MQL - нормально, а С++ генерирует ошибку E2040

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

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

A100, 2017.08.12 19:50

Как минимум здесь (*) ошибка, кроме того метод TrendTenkan сам по себе (его никто не вызывает)

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 или логическое выражение
//...
}
Вообще компилятор должен был бы в таком (*) случае выдать предупреждение, но он молчит

Не увидел ошибки. Такое должно работать

if (TYPE_TREND_FLAT)
// ...
 

Это баг или правильное поведение?

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

Не ошибка ли это, что const-метод все таки может менять поле своей структуры?

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

void OnStart()
{
  STRUCT Struct;
  
  Struct.Func(Struct);
  
  Print(Struct.i); // 7
}
Причина обращения: