Errores, fallos, preguntas - página 1958

 
Anton Ohmat:

Probé el FX8320 overclockeado hasta 4,2 y el i7 5960 a la misma frecuencia (el precio es mucho mayor y más nuevo) - este último mostró un rendimiento 5 veces más rápido para el mismo número de núcleos con la misma optimización. Tal vez la prueba no sea proporcional a la novedad del procesador, pero aun así la frecuencia es la misma

Tengo la idea de que el terminal está personalizado para Intel. ¿Es así? En caso afirmativo, ¿qué es exactamente?


No es imposible. Por cierto, también me he dado cuenta de que la MT4 es más rápida con la memoria de un solo canal que con la de dos canales - fue el verano pasado en AMD.

Si crees en estos datos http://cpuboss.com/cpus/Intel-Core-i7-5960X-vs-AMD-FX-8320 no debería haber 5 veces de diferencia. Para comparar es cuestión de comparar el overclocking sólo después de comprobar la estabilidad, tal vez el sobrecalentamiento y AMD comenzaría a trotar.

Sin embargo, presta atención al precio de las piedras en el mismo enlace: ¡la diferencia de precio es de 12 veces!

Para una comparación más justa deberías compararlo con el Ryzen 7 1800X que es dos veces más barato y según este recurso http://www.ixbt.com/cpu/amd-r7-1800x.shtml es más rápido en muchas tareas.

 
Vitaly Muzichenko:

La forma correcta de decirlo no es que el terminal esté orientado a Intel, sino que Intel está orientado al ordenador. Incluso con frecuencias más bajas, Intel siempre ha sido varios órdenes de magnitud mejor que AMD. No creo que haya comparación en términos de consumo de energía y temperatura.


No te engañes, AMD siempre ha sido más barata en cuanto a rendimiento en términos de ordenador/dinero, y a principios de la década de 2000 también superaba a Intel, recuerda los Athlon.

 
Anton Ohmat:
La pregunta está abierta, qué es mejor xeon 2pc en una placa o i7 2pc en 2 placas.

Los xeones son diferentes: mira el rendimiento y el precio, todo lo demás es secundario.

Ah, también hay que fijarse en el consumo de energía: a lo largo de los años podría haber una diferencia significativa.
 
Aleksey Vyazmikin:

No te engañes, AMD siempre ha sido más barata en términos de coste/beneficio Computadora/Dinero, y a principios de la década de 2000 superó a Intel en términos de rendimiento -recuerda los Atlon.

Los intercambié durante 5 años, y no sólo piezas sino conjuntos informáticos. Tal vez a principios de los años 2000 eran mejores. El coche Volga también fue en su día un supercoche de clase ejecutiva... aunque algunos todavía los conducen a día de hoy.

 
Vitaly Muzichenko:

Los cambié durante 5 años, y no sólo piezas, sino conjuntos informáticos. Tal vez a principios del 2000 eran mejores. El Volga también solía ser un coche de negocios súper... aunque algunos todavía los conducen a día de hoy.


Si usted se dedicara al comercio, debería conocer los hechos que he mencionado. Sí, hubo un periodo en el que AMD fue inferior en rendimiento, pero no en rendimiento de las acciones. ¡Y ahora estáRyzen y es muy interesante qué resultados tendrá con MT4/MT5!

 

Error durante la compilación

struct A {
struct B {
} static const b; //error: 'static' - semicolon expected
};
pero por lo demás...
struct A {
static const
struct B {
} b;
};
Bien. Pero la primera forma de grabación es más familiar
 

MQL está bien, pero C++ genera el error E2040

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

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Bichos, errores, preguntas

A100, 2017.08.12 19:50

Al menos aquí (*) hay un error, además del método TrendTenkan por sí mismo (nadie lo llama)

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 или логическое выражение
//...
}
Generalmente, el compilador debería haber emitido una advertencia en tal caso (*), pero no dice nada

No he visto el error. Esto debería funcionar

if (TYPE_TREND_FLAT)
// ...
 

¿Es un error o el comportamiento 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
}
 

¿No es un error que un método const pueda seguir cambiando el campo de su estructura?

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

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