[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 75

 
Elenn: Según tengo entendido, la opción de la línea recta también "involucrará" a todos los puntos, no a tres de ellos.
Entonces no entiendo nada en absoluto. ¿Qué tres, por qué tienes que elegirlos durante la solución? ¿Comprende usted bien el problema?
 
artmedia70:

La verdad es que no. ¿Qué pasa si no se selecciona ninguna orden? ¿Dónde está la normalización del precio cuando se envía una orden comercial?

Los pedidos se cierran en un bucle, y eso significa que la búsqueda debe hacerse no desde cero, sino desde OrdersTotal()-1 hasta >=0


¿Podría describir la normalización con más detalle?

 
Mathemat:
Entonces no entiendo nada en absoluto. ¿Cuáles son los tres, por qué deben ser elegidos? ¿Comprende usted bien la tarea?


Hay dos variantes en la imagen, cada una de ellas tiene 5 puntos. En la variante "A" la suma de distancias de tres puntos es mínima, en la variante "B" la suma de distancias de 5 puntos es mínima. Debes encontrar los "tres" puntos en los que la suma de las distancias desde ellos a la línea es mínima entre todas las demás variantes.

 

La solución de la izquierda es errónea. La correcta es más bien así (línea verde):

Y una vez más: quieres resolver el problema para los círculos, no para las líneas rectas. Este es un problema diferente, mucho más complicado.

 
Mathemat:

La solución de la izquierda es errónea. La correcta es más bien así (línea verde):


Pues sí, la solución correcta es la línea verde. En cuanto al círculo, tanto ahí como en el caso de la línea, el problema de elegir esos tres "mejores" puntos es el mismo. La cuestión es cómo hacerlo de forma más elegante.
 
Elenn: En cuanto al círculo, tanto ahí como en el caso de una línea recta, el problema de elegir esos tres puntos "mejores" es el mismo. La cuestión es cómo hacerlo de forma más elegante.

Y no sólo eso, sino que cómo no se puede entender. Tienes que elegir qué distancias tomar. Esto mata cualquier posible delicadeza en la raíz.

Para cada uno de los 3 puntos elegidos, tendrás que contar 8 sumas de las tres distancias (o distancias al cuadrado).

 
Mathemat:

Y no sólo eso, sino que cómo no se puede entender. Tienes que elegir qué distancias tomar. Esto acaba con toda la delicadeza posible.

Por cada 3 puntos que elijas, tienes que contar 8 sumas de las tres distancias (o distancias al cuadrado).


Quizás no entiendo algo, ¿puedes decirme la diferencia entre el camino más corto de un punto a una línea y el camino más corto de un punto a un círculo?
 
Elenn:

Quizás no entiendo algo, explícame, ¿cuál es la diferencia entre el camino más corto de un punto a una recta y el camino más corto de un punto a una circunferencia?
Lena, tu formulación del problema tiene un exceso de grados de libertad (elegir 3 puntos de 8 más el radio del círculo más las coordenadas de su centro), así que me temo que puede haber más de una solución, si no un número infinito. Es necesario aclarar las condiciones.
 

Siempre se puede trazar una única perpendicular a una línea. Esto indicará la distancia del punto a la línea.

Casi siempre hay dos "distancias" a un círculo desde un punto determinado:


Desde el punto A al círculo en este caso son AB y AC. Y cuál elegir como la "correcta" no es evidente.

 
Myth63:


¿qué pasa con la normalización?

MT4 puede fácilmente darle Ask=1.456121212 en lugar de 1.4561 (o algunos de sus valores, obtenidos como resultado de los cálculos),
, pero (sólo juega un papel cuando se trabaja con órdenes) no es capaz de "entender" lo que ha hecho.
Para solucionarlo, utilice la función (ejemplo para Ask):

NormalizeDouble(Ask, Digits)

Así, todos los valores que se introducen en las funciones de pedido deben ser normalizados antes de enviarlos al servidor.