Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 365

 
Sepulca:
Y si se calculan los puntos, no hay que confundirlos con los puntos. Digamos que el doble de SPRED= puntos Ask-Bid, o incluso el doble de SPRED=(Ask-Bid)/puntos.


Es sólo un problema de nivel como me parece))) OrderOpenPrice() es un doble, pero para ver el precio real de apertura tengo que hacer una cadena...)

y para hacer una resta o suma de nuevo hay que hacer un doble de cadena, bueno, no es una tontería, ¿eh? o no entiendo algo)

 
vadynik:


Sólo un problema en igualdad de condiciones como me parece)) OrderOpenPrice() es un doble, pero para ver el precio de apertura real tengo que hacer una cadena con él...)

Tengo que hacer un doble a partir de una cadena para hacer una resta o una suma, ¿no es una locura? o ¿me estoy perdiendo algo?)


No, sacando el valor de OrderOpenPrice(), no hace falta ni normalizarlo, pero para imprimirlo hay que poner la precisión necesaria. Muchas empresas de corretaje tienen variables impresas por defecto con sólo cuatro decimales en el registro, a pesar de que utilizan cinco decimales al abrir las órdenes...
 
vadynik:


Es sólo un problema de nivel como me parece))) OrderOpenPrice() es un doble, pero para ver el precio real de apertura tengo que hacer una cadena...)

y para hacer una resta o suma de nuevo hay que hacer un doble de cadena, bueno, no es una tontería, ¿eh? o no entiendo algo))


Aunque sí))) Debe ser históricamente)))) Para ver un precio de apertura de cinco dígitos hay que hacer una cadena((.

Como regla general, los valores dobles sólo se emiten por defecto con cuatro decimales, por lo que hay que traducirlos a cadena.....(((((

 

Como decirme por favor algún Asesor Experto probado en MQL4 y 5, y el tiempo es muy corto, a veces es necesario comprobar una idea o ayudar a alguien para finalmente crear una base para el robot y terminar de escribirlo usted mismo ...

Se lo agradecería, ¡¡¡gracias de antemano!!! =)

 
Ekburg:

Como decirme por favor algún Asesor Experto probado en MQL4 y 5, y el tiempo es muy corto, a veces es necesario comprobar una idea o ayudar a alguien para finalmente crear una base para el robot y terminar de escribirlo usted mismo ...

Se lo agradecería, ¡¡¡gracias de antemano!!! =)

¿Qué no es un juego de construcción? Coges los "cubos" y construyes ;)
 
Sepulca:


Aunque sí)))) esto debe ser histórico))) Para ver un precio de apertura de cinco dígitos hay que hacer una cadena((

Por regla general, los valores dobles por defecto sólo se emiten con cuatro decimales, por lo que hay que traducirlos a una cadena.....(((((


¿Por qué no funciona la normalización en OrderOpenPrice()?
 
evillive:
¿Qué no es un juego de construcción? Coge los "cubos" y construye ;)


Muy útil, gracias, lo usaré, pero no ese)) Necesito exactamente un constructor, conozco uno bueno, pero está en inglés y hace expertos en otro idioma...)
 
Sepulca:


Aunque sí))) debe ser histórico))) Para ver un precio de apertura de cinco dígitos, tienes que hacer una cadena con él((

Por regla general, los valores dobles sólo salen con cuatro decimales por defecto, por lo que hay que traducirlos a cadenas.....(((((

¿A qué se debe todo este alboroto? En cualquier caso, cuando lo imprimas, estarás convirtiendo todo lo que saques en bragas de tanga. Incluso si sólo se duplica PRICE=Ask; Print(PRICE); el PRICE se vestirá automáticamente con tangas, y luego se imprimirá. Con DoubleToStr(), simplemente se especifica el tamaño de las bragas con qué precisión se debe emitir el doble en el tanga.
 

Soy tan estúpido...

El guión

int start()
{

 for(int i=OrdersTotal()-1;i<=0;i--)
 {
    if(OrderSelect(i, SELECT_BY_POS)==true) 
      {
            Print("Normalized OOP order#", OrderTicket()," is ",NormalizeDouble(OrderOpenPrice(),5)); 
            Print("doubletostr OOP order#", OrderTicket()," is ",DoubleToStr(OrderOpenPrice(),5)); 
            Print("Symbol of order#",OrderTicket() ," is ",OrderSymbol()); 
            Print("Volume of order#",OrderTicket() ," is ",OrderLots()); 
      }
      else Print("OrderSelect() error - ",GetLastError());

 }
   return(0);
}

No muestra nada en el registro, hay dos posiciones de mercado, una para eurodol. y otra para yenodol.

 
evillive:

Soy tan estúpido...

El guión

No muestra nada en el registro, hay dos posiciones de mercado, una para eurodol. y otra para yenodol.


Tienes un error en la asignación del bucle, originalmente está mal y por lo tanto su cuerpo no se ejecuta y no se ven las impresiones

int start()
  {
  for(int i=OrdersTotal()-1;i>=0;i--)
     {
     if(OrderSelect(i, SELECT_BY_POS)==true) 
        {
            Print("Normalized OOP order#", OrderTicket()," is ",NormalizeDouble(OrderOpenPrice(),5)); 
            Print("doubletostr OOP order#", OrderTicket()," is ",DoubleToStr(OrderOpenPrice(),5)); 
            Print("Symbol of order#",OrderTicket() ," is ",OrderSymbol()); 
            Print("Volume of order#",OrderTicket() ," is ",OrderLots()); 
        }
     else Print("OrderSelect() error - ",GetLastError());
     }
   return(0);
   }

Así es.