Aprender y escribir juntos en MQL5 - página 37

 
Dimka-novitsek:
Gracias. El precio actual de oferta y demanda es cero. Billete de oferta . Pedido de entradas. Bien, ahí está papá.
¿Qué es el retcódigo? ¿Qué significa?
 

¡¡¡Gracias!!! Voy a echar un vistazo al retcódigo.

¡¡¡¡GRACIAS!!!! ¡Ya lo tengo! En ningún sitio sin ti.

 

Hola.

Me he encontrado con este problema, que no entiendo en absoluto. ¿Puedes explicar por qué en este caso NormalizeDouble() no funciona siempre?

   for ( x = .... ) {
      close = tf_rates[x].close;
      close = NormalizeDouble(close, 4 );
   }

Estoy añadiendo el precio y otros datosal archivo para el marco de tiempo actual. Alrededor del 10% de todas las entradas son cadenas como:

1971.01.07,00:00,0.5368000000000001,0.5368000000000001,0.5368000000000001,0.5368000000000001,1

El resultado es independiente del orden de normalización, sustituyo 1, 2, 3, 4, 5, Dígitos - todo lo mismo. ¿Dónde está el problema?

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
Файловые операции / FileWrite - Документация по MQL5
 
wtvirtual:

Hola.

Me he encontrado con este problema, que no entiendo en absoluto. ¿Puedes explicar por qué en este caso NormalizeDouble() no funciona siempre?

Estoy añadiendo el precio y otros datosal archivo para el marco de tiempo actual. Alrededor del 10% de todas las entradas son cadenas como:

1971.01.07,00:00,0.5368000000000001,0.5368000000000001,0.5368000000000001,0.5368000000000001,1

El resultado es independiente del orden de normalización, sustituyo 1, 2, 3, 4, 5, Dígitos - todos iguales. ¿Dónde está el problema?

No hay ninguna emboscada. Este es el aspecto de algunos valores normalizados. Consulte la sección del Manual de referencia sobre esta función.
 
Yedelkin:
No hay ninguna emboscada. Este es el aspecto de algunos valores normalizados. Consulte la sección del Manual de referencia sobre esta función.
Bueno, en el Manual de Referencia hay una nota sólo sobre la salida con Print. Supongamos que no sólo esta función, sino todas las demás también se "normalizan". Entonces, ¿cómo debemos mostrar este valor como precios en una orden pendiente?
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
wtvirtual:
Pues en el manual hay una observación sólo sobre la salida con Print.

¿Qué función se utiliza para obtener estos valores normalizados? :) - Ah, lo tengo. Lectura de un archivo. En el ejemplo del Manual de Referencia, la función Print() simplemente imprime el número "tal cual".

wtvirtual:
Supongamos que no sólo esta función, sino todas las demás también se "normalizan". ¿Y cómo debemos enviar entonces ese valor en forma de precios a una orden pendiente?

Y así es exactamente como debe presentarse. ¿Qué se necesita para el pedido? - Precios normalizados. Así que los normalizamos y pasamos. Y no es nuestro problema el aspecto de estos precios normalizados cuando se imprimen).

Además, si se emiten "precios para el marco temporal actual", significa que estos mismos precios con un gran número de decimales son aceptables como precios normalizados en el servidor. ...Esta es más o menos mi conclusión, pero no encuentro ningún argumento en contra.

 
wtvirtual:

Hola.

Me he encontrado con este problema, que no entiendo en absoluto. ¿Puedes explicar por qué en este caso NormalizeDouble() no funciona siempre?

Estoy añadiendo el precio y otros datosal archivo para el marco de tiempo actual. Alrededor del 10% de todas las entradas son cadenas como:

1971.01.07,00:00,0.5368000000000001,0.5368000000000001,0.5368000000000001,0.5368000000000001,1

El resultado es independiente del orden de normalización, sustituyo 1, 2, 3, 4, 5, Dígitos - todo lo mismo. ¿Dónde está el problema?

Puedes explicarlo así, intenta escribir el número 1/3 en forma decimal - no funcionará (no hay suficiente papel, pasta y vida).
Tarde o temprano aceptarás una pequeña inexactitud y redondearás el valor.
Lo mismo ocurre con los números reales escritos en forma binaria (como los presenta el ordenador).
Si no es posible representar el número con una mantisa de 52 bits (por ejemplo, 0,53680) hay una "ligera" inexactitud...
 

Hola, ¿podríais decirme cómo declarar correctamente una variable como tipo? A continuación se presenta un ejemplo de convención de nomenclatura de funciones.

string OrderType() {
cadena Si=";
POSITION_TYPE Tipo; bool Bull=false;
Bull =PositionGetInteger(POSITION_TYPE,Type);
si ( Bull ) {
if ( Type==POSITION_TYPE_BUY) Si="OP_BUY";
if ( Type==POSITION_TYPE_SELL) Si="OP_SELL";
return (Si); }

ORDER_TYPE Tipo de orden;
Bull =OrderGetInteger(ORDER_TYPE,ORType);
si ( Bull ) {
if ( Type==ORDER_TYPE_BUY_LIMIT ) Si = OP_BUY_LIMIT;
if ( Type==ORDER_TYPE_SELL_LIMIT) Si="OP_SELL_LIMIT";
if ( Type==ORDER_TYPE_BUY_STOP) Si="OP_BUY_STOP";
if ( Type==ORDER_TYPE_SELL_STOP) Si="OP_SELL_STOP";
return (Si); }

}

Tal vez haya algo que no funcione en absoluto, por ejemplo, no he intentado obtener los valores de las funciones PositionGetInteger y OrderGetInteger de esta manera.

 
Dimka-novitsek:

Buenas tardes, ¿podrían decirme cómo declarar correctamente una variable como tipo? Aquí hay un ejemplo de superposición de funciones.

Tal vez haya algo que no funcione en absoluto, por ejemplo, no he intentado obtener los valores de las funciones PositionGetInteger y OrderGetInteger de esta manera.

¿De qué variable estamos hablando?
 
TipoPOSITION_TYPE ¡Oh, mi ordenador se está ralentizando, he tardado casi 40 segundos en ponerlo!