¿Es el asesor adecuado para la vida real? - página 31

 
Sí, pruébalo.
 
OnGoing:
No sé, sí, inténtalo, sin embargo.

No lo sé. Aunque no esté normalizado, la condición se seguirá cumpliendo. Hay que normalizar los topes después de los cálculos, si los hay.
 
FOReignEXchange:

No lo sé. Aunque puede ser algún tipo de no normalizado, pero la condición se seguirá cumpliendo. Hay que normalizar los topes después de los cálculos, si los hay.
Justo cuando la diferencia entre Ascom y el valor comparado no es muy grande, el número de decimales importa y la condición suele fallar.
 

Por alguna razón creo que deberíamos hacer esto.

   if (OrderSelect(ticket_sell,SELECT_BY_TICKET)==true)
      {
      if (OrderType()==OP_SELLSTOP) 
         {
         if (Bid<(OrderOpenPrice()+4*Point)) 
            {

Me da la impresión de que 2 condiciones a la vez a veces no pueden leer. Intentaré ponerlo. Parece ser algún tipo de error en el lenguaje.

Intentaré hacer lo mismo con la normalización.

¿Quizá alguien se ha encontrado ya con estos problemas?

 

No, ambos funcionan. Es más probable que los valores no se den en la comparación.

Intenta trazar los valores que obtienes en cada paso.

 
OnGoing:

No, ambos funcionan. Es más probable que los valores no se den en la comparación.

Intenta trazar los valores que obtienes en cada paso.


Ya lo he comprobado con los comentarios. Incluso puse un comentario antes de esta condición. La señal llega a esta línea, pero no va más allá. Y rara vez ocurre. 2-4 veces en un día. El resto del tiempo todo funciona correctamente. He comprobado todos los valores en los comentarios cuando no se ha eliminado el pedido. Debería haber sido borrado, pero no llegó a la función de borrado. La señal fue antes de esta condición y no más allá.
 
Soy tan jodidamente estúpido. Me olvidé de decir lo más importante. Todo funciona bien en el probador. Ese es el problema. Si la orden no se borra en el probador, no me molestaría. Pero no se borra en la cuenta real y se borra en el probador si la visualización se activa después de un acuerdo. Por eso creo que parece algún tipo de error en el lenguaje. Tengo la impresión de que no puede eliminar muchos datos de la orden seleccionada. No es la primera vez que me encuentro con este problema. Para ser más exactos, en realidad me lo encuentro todo el tiempo. Todo está bien en el probador, pero no en la vida real.
 
Ahora he encendido la visualización y la estoy viendo. Hay un gran margen de tiempo para la eliminación. Casi medio minuto. En el tester se borró y hoy en la cuenta demo allí ni siquiera intentó borrar y abrió una operación salmón :)
 

Da salida a los valores que no están delante de la condición, sino exactamente a las expresiones que están dentro de la condición. Controla qué se compara con qué. Así, la próxima vez que se produzca un fallo de este tipo, podrá detectar la causa.

Después de todo, sabemos que la condición está fallando. Así que tenemos que averiguar por qué. Para ello, hay que controlar constantemente todos los valores comparados.

 

Ya he hecho todo eso. Ahora vuelvo a visualizar un lugar más donde no se ha borrado el pedido. Cada garrapata miraba los comentarios sobre la condición. Todo es correcto allí y el probador borró la orden. Y el tiempo para borrarlo fue de 10 a 15 segundos.

Revisé los registros de la cuenta demo durante este tiempo y no hubo intentos de eliminar la orden. El probador sí, pero la cuenta demo no. He intentado poner comentarios antes y después de las condiciones, al final del código y al principio del código, todo a la vez. Se cumplen todas las condiciones, pero no he ido más allá. Ni siquiera hemos intentado borrar el pedido. Tenemos mucho tiempo para eliminarlo, pero no es cuestión de tiempo ya que ni siquiera lo hemos intentado. Tampoco hubo saltos en 2-3 garrapatas. Es que la condición no pasa a la función de borrado y ya está.

Ok voy a probar otra opción - establecer estas condiciones con cada nueva línea por separado. Veré lo que pasa mañana. En el primer problema he adivinado cómo resolverlo. Mañana veré cómo se comporta el código actualizado.