Errores, fallos, preguntas - página 339

 
sergeev:

¿pero no quieres comprobarlo?

Señalé que la información "no se pudo encontrar inmediatamente". Si conoce la respuesta, dígame dónde se establece la norma que regula esta cuestión.
 
Yedelkin:
Señalé que la información "no estaba disponible inmediatamente". Si conoce la respuesta, por favor, dígame dónde se establece la norma que regula esta cuestión.

Eh, colega, si los monos buscaran una guía sobre cómo usar un palo, seguirían siendo monos...

no seas perezoso, solo tienes que colar algunos dedos y comprobar en el código. No es más difícil que cavar una zanja en invierno.

 
sergeev:

Eh, colega, si los monos buscaran un manual sobre cómo usar un palo, seguirían siendo monos...

no seas perezoso, usa tus dedos y comprueba en el código. No es más difícil que cavar una zanja en invierno.

Oh, ya veo lo que quieres decir. Hace un año que aprecio tu dedicación a la regla del pulgar :) Además, hace aproximadamente un año, ya te expliqué por qué prefiero aprender lo básico (si es posible). En cuanto a "colar un par de dedos", en este caso parece redundante. Porque basta con forzar el cerebro para entender que el autor de este código no tenía problemas de compilación (si no, su pregunta estaría formulada de otra manera) :) Mi pregunta era si esa combinación de nombres es aceptable desde el punto de vista de la arquitectura del lenguaje (estructura, idea, etc.).

...Como no encontré ninguna restricción en los materiales de referencia, resulta que el trabajo del compilador en este caso no contradice los fundamentos del lenguaje.

 

No sé si mi teclado tiene un fallo o es un error de ME.

Selecciono una sección de código presionando Ctrl+V y en lugar de reemplazar la sección con información del portapapeles obtengo un relleno.

Lo mismo ocurre con la mecanografía básica.

Selecciono un fragmento, presiono cualquier tecla y en lugar del carácter clave a reemplazar se sobrescribe el rango seleccionado de mi código.

Ejemplo

table.SecondSize()    // было
postable.SecondSize() // стало
pos                   // хотелось бы
 
Urain:

No sé si mi teclado tiene un fallo o es un error de ME.

Selecciono un trozo de código, pulso Ctrl+V, y en lugar de sustituirlo por la información del portapapeles, me sale de más.

Estoy bien.
 
Ah sí, el ordenador es de 32 bits.
 
Urain:

No sé si mi teclado tiene un fallo o es un error de ME.

Selecciono una sección de código presionando Ctrl+V y en lugar de reemplazar la sección con información del portapapeles obtengo un relleno.

Lo mismo ocurre con la mecanografía básica.

Selecciono un fragmento, presiono cualquier tecla y en lugar del carácter clave a reemplazar se sobrescribe el rango seleccionado de mi código.

Ejemplo


Lo tengo bien. Busque el problema ;-)
 
7134956:
Estoy bien. Busque la causa ;-)
Gracias por tu comentario, parece que el teclado tiene fallos después de todo.
 
papaklass:

Por qué:

535 long dgt = SymbolInfoInteger(smb[number],SYMBOL_DIGITS);

549 if(dgt == 0){
Print("Datos de compra == 0. error");
return(false);
}
556 sl = MathMin(mrate[1].high - mrate[1].low,level);

560 Print(" sl =",DoubleToString(sl,dgt));// 1

Print(" sl =",DoubleToString(sl,_Digits);// 2

posible pérdida de datos debido a la conversión de tipo ChampionShip2010_v6.mq5 560 49 - se refiere a la primera impresión.

donde smb[number] - par de divisas no del gráfico principal

Si corrijo long a int en la línea 535, es decir

535 int dgt = SymbolInfoInteger(smb[number],SYMBOL_DIGITS);

posible pérdida de datos debido a la conversión de tipos ChampionShip2010_v6.mq5 535 31

¿Cuál es el problema?

El problema es que SymbolInfoInteger(smb[number],SYMBOL_DIGITS); devuelve el tipo long, mientras que la función DoubleToString(sl,dgt) debe pasar el tipo int. Por eso debes escribir DoubleToString(sl,(int)dgt))
 

Los resultados de las pruebas son correctos, pero el registro no lo es.

---------------------------------------------------------

Este es el código para comprobar el número de lotes para 2 pares

  double vol1 =0.0;
  double vol2 =0.0;
  if(PositionSelect(Symbol1)) vol1=PositionGetDouble(POSITION_VOLUME);
  if(PositionSelect(Symbol2)) vol2=PositionGetDouble(POSITION_VOLUME);
  Print ("vol1=",vol1,"vol2=",vol1,"vol1<vol2=",vol1<vol2);

Pero esto es lo que muestra la impresión.


¿Qué clase de milagro es éste? No hubo un solo momento en el que se viera que uno era más grande que el otro.

En todos los TFs y sin importar el símbolo.