Errores, fallos, preguntas - página 1887
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Por lo que veo, no has comprobado el código que te mostré. Qué tal esto: primero lo compruebas y luego vuelves a hacer la pregunta.
No necesito verificarlo, puedo ver que devuelve lo que debe.
Me refería al primer uso de la función
No necesito verificarlo, puedo ver que devuelve lo que necesito
Me refería a la primera variante del uso de la función
Bien, entonces. Vamos por la cola.
1. PositionGetInteger:
La función devuelve la propiedad solicitada de una posición abierta previamente seleccionada mediante la función...
Es decir, antes de utilizar PositionGetInteger, hay que seleccionar la posición.
2. Seleccionamos la posición utilizando el PositionGetTicket:
Valor de retorno.
La papeleta de la posición. En caso de una ejecución fallida devuelve 0.
¿Y dónde tienes una comprobación (después del bucle) de que se ha devuelto desde PositionGetTicket? No hay comprobación, y ahí, por cierto, se devuelve "cero" -es decir, PositionGetTicket se disparó con un error- lo que equivale a seleccionar una posición que no existe. Luego, sin comprobar el resultado de PositionGetTicket, se intenta obtener su propiedad de la posición inexistente. Y ahí, en las propiedades de la posición inexistente, o bien basura o bien datos de estructuras nulas.
Resumiendo: sin comprobar si el PositionGetTicket devuelve "cero", no se puede ir más allá.
Bien, entonces. Vamos por la cola.
1. PositionGetInteger:
La función devuelve la propiedad solicitada de una posición abierta previamente seleccionada mediante la función...
Es decir, primero hay que seleccionar la posición antes de utilizar PositionGetInteger.
2. Seleccionamos la posición mediante el PositionGetTicket:
Valor de retorno.
La papeleta de la posición. En caso de una ejecución fallida devuelve 0.
¿Y dónde tienes una comprobación (después del bucle) de que se ha devuelto desde PositionGetTicket? No hay comprobación, y ahí, por cierto, se devuelve "cero" -es decir, PositionGetTicket se disparó con un error- lo que equivale a seleccionar una posición que no existe. Luego, sin comprobar el resultado de PositionGetTicket, se intenta obtener su propiedad de la posición inexistente. Y ahí, en las propiedades de la posición inexistente, o bien basura o bien datos de estructuras nulas.
En resumen: si no se comprueba que el PositionGetTicket devuelve "cero", no se puede ir más allá.
Bien, hagamos esto. Vamos por la cola.
1. PositionGetInteger:
La función devuelve la propiedad solicitada de una posición abierta previamente seleccionada mediante la función...
Es decir, primero hay que seleccionar la posición antes de utilizar PositionGetInteger.
2. Seleccionamos la posición mediante el PositionGetTicket:
Valor de retorno.
La papeleta de la posición. En caso de una ejecución fallida devuelve 0.
¿Y dónde tienes una comprobación (después del bucle) de que se ha devuelto desde PositionGetTicket? No hay comprobación, y ahí, por cierto, se devuelve "cero" -es decir, PositionGetTicket se disparó con un error- lo que equivale a seleccionar una posición que no existe. Luego, sin comprobar el resultado de PositionGetTicket, se intenta obtener su propiedad de la posición inexistente. Y ahí, en las propiedades de la posición inexistente, o bien basura o bien datos de estructuras nulas.
Resumiendo: si no se comprueba que el PositionGetTicket devuelve "cero", no se puede ir más allá.
no hace falta que te expliques )
Esa no es la cuestión.
leer correctamente: ¿es correcto que una función devuelva el mismo valor para diferentes situaciones?
¿está bien que la función haga eso?Resumiendo: si no se comprueba que PositionGetTicket devuelve "cero" no se puede seguir adelante.
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Bichos, errores, preguntas
fxsaber, 2017.05.12 11:19
es lógico hacer una comprobación (PositionGetInteger(POSITION_TICKET) > 0).esa función para diferentes situaciones devuelve el mismo valor?
¿es correcto que la función haga esto?Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Bichos, errores, preguntas
fxsaber, 2017.05.12 11:29
Sí, pero cualquier otro valor también sería engañoso.1. no tienes que dar explicaciones).
ese no es el punto
2. Lee bien: ¿es correcto que una función devuelva el mismo valor para diferentes situaciones?
¿está bien que una función haga esto?1. Usted es una persona maleducada que también ha cometido un error en su código, pero no quiere admitirlo.
2. La función funciona de forma absolutamente correcta. Porque (PositionGetInteger(POSITION_TYPE)) sólo puede devolver 2 valores - o POSITION_TYPE_BUY oPOSITION_TYPE_SELL. Pero sin seleccionar una posición (y no se selecciona - no se comprueba qué es exactamente lo que se ha seleccionado) exigir algo de (PositionGetInteger(POSITION_TYPE)) es una imprudencia.
En resumen: cuando tu código está escrito con un error lógico - simplemente no tienes derecho a exigir algo de las funciones del sistema.
En resumen: cuando su código está escrito con un error lógico - simplemente no tiene derecho a exigir nada de las funciones del sistema.
1. Eres un maleducado que ha cometido un error en el código pero no lo admite.
2. La función funciona de forma absolutamente correcta. Porque (PositionGetInteger(POSITION_TYPE)) sólo puede devolver DOS valores - o POSITION_TYPE_BUY oPOSITION_TYPE_SELL. Pero sin seleccionar una posición (y no se selecciona - no se comprueba qué es exactamente lo que se ha seleccionado) exigir algo de (PositionGetInteger(POSITION_TYPE)) es una imprudencia.
En resumen: cuando tu código está escrito con un error lógico, simplemente no tienes derecho a exigir algo a las funciones del sistema.
Lo siento, no es mi culpa que alguien no pueda ver el tema.
Se reconoce que hay un error deliberado en el código.
Y sé cómo arreglarlo.
Pero la cuestión es diferente.
¿Por qué la función PositionGetInteger(POSITION_TYPE) devuelve un valor de compra (igual a 0) en lugar de un valor de error (igual a 0) si los parámetros de entrada no son correctos?