Errores, fallos, preguntas - página 2816

 
fxsaber:

Recuerdo que cuando estaba en este tema, había muchos matices. Algo se mostró bien o mal, dependiendo de la función OnTester*. Trate de llamarlo en diferentes On-funciones.

¿Qué quiere decir con diferente? Lo necesito en OnTesterInit - no hay otras opciones.

 
Stanislav Korotky:

¿Qué quiere decir con diferente? Lo necesito en OnTesterInit - no hay otras opciones.

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

Bichos, errores, preguntas

fxsaber, 2017.08.15 17:49

ParameterGetRange no funciona en OnTesterInit.
sinput int Range = 5;

#define  PRINT(A) Print(#A + " = " + (string)(A));

void PrintParameter( const string Name, const string From )
{
  PRINT(From)
  
  bool Enable;
  long Value, Start, Step, Stop;
  
  if (ParameterGetRange(Name, Enable, Value, Start, Step, Stop))
  {
    PRINT(Start)
    PRINT(Step)
    PRINT(Stop)
    PRINT(Value)
    PRINT(Enable)
  }   
}

void OnTesterInit()
{
  ParameterSetRange("Range", true, 5, 1, 2, 3); // Задали ненулевыми все значения
  
  PrintParameter("Range", __FUNCTION__); // Возвращает одни нули
}

void OnTesterDeinit()
{
  PrintParameter("Range", __FUNCTION__); // Работает нормально
  
  ChartClose();
}

void OnTesterPass()
{
  PrintParameter("Range", __FUNCTION__); // Работает нормально
}

int OnInit()
{
  uchar Data[];
  
  FrameAdd(NULL, 0, 0, Data);
  
  return(INIT_FAILED);
}
 
fxsaber:

Esto sólo confirma mi caso de prueba: el establecimiento de un parámetro en MQL no tiene ningún efecto en su posterior lectura en OnTesterInit. En los otros manejadores, es demasiado tarde para ajustar algo, ya que los pases están determinados por la configuración inicial.

 
Cortocircuito
#import "z.ex5" //(1) Error: '#import' - #import was not closed
#import
/*
.
.
.
*/
#import "z.ex5" //(2)

El segundo #import no está cerrado, pero el error está en el primero - por lo tanto, la ubicación real del error se muestra de forma incorrecta - me llevó mucho tiempo averiguar lo que estaba mal

 
Error de compilación:
class A {};
class B {
public:
    static A a;
} b;  //Error: unresolved static variable 'B::a'
A B::a;
void OnStart() {}
 
Los comentarios no relacionados con este tema han sido trasladados a "Cualquier pregunta de los novatos en MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos".
 

Función:

CopyTicksRange(_Symbol, _ticks, COPY_TICKS_ALL);

en modo de generación de ticks devuelve un máximo de 131072 ticks. ¿Es esto un error, una característica, la documentación dice algo sobre esto?

En el modo de ticks reales, no existe esta limitación.

 
Los comentarios no relacionados con este tema han sido trasladados a "Preguntas de los principiantes de MQL4 MT4 MetaTrader 4".
 
¿Es correcto el comportamiento actual cuando el Asesor Experto en modo marco en el gráfico de la Terminal se inicia con los parámetros de entrada por defecto en lugar de los establecidos en la pestaña de Parámetros del Comprobador?
 
¿Es posible proteger el gráfico de los cambios de marco temporal y de símbolo?
Razón de la queja: