Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 816

 
Ivan Ivanov:

Sólo está disponible la información de 1 posición (seleccionada ) en cada momento:

¿Está afirmando un hecho o una referencia? No he podido encontrar nada parecido en ningún sitio con una búsqueda.

 
pivomoe:

¿Está afirmando un hecho o está pidiendo un certificado? No he podido encontrar nada parecido en ninguna parte a través de una búsqueda.

Para recuperar cualquier propiedad de posición, la posición requerida debe ser preseleccionada.
Puede ver cualquier descripción de las funciones para recuperar las propiedades de las posiciones PosotionGetXXXX en la ayuda:
La función devuelve la propiedad solicitada de una posición abierta, previamente seleccionada mediante la funciónPositionGetSymbol oPositionSelect.
Puedes pensarlo así: en el supermercado, si quieres leer lo que pone en la etiqueta de un tarro de mermelada, primero tienes que coger el tarro de mermelada.
 
fxsaber:
A juzgar por "lo que dio lugar a su error" no encontraron el error en 1730, sino en una versión anterior. Es decir, según los desarrolladores en 1730 todo funciona perfectamente en este sentido ahora.
 
Vladimir Karputov:
Para obtener cualquier propiedad de una posición, la posición requerida debe ser preseleccionada.
Puede ver cualquier descripción de las funciones para recuperar las propiedades de las posiciones PosotionGetXXXX en la ayuda:
La función devuelve la propiedad solicitada de una posición abierta, previamente seleccionada mediante la funciónPositionGetSymbol oPositionSelect.
Puedes pensarlo así: en un supermercado, si quieres leer lo que pone en la etiqueta de un tarro de mermelada, primero tienes que coger el tarro de mermelada.
Entiendo que tenemos que seleccionar una posición y un orden antes de obtener su información. No veo qué tiene que ver la clase CPositionInfo. Si tenemos una clase, podemos crear muchos objetos de esta clase. Y, en consecuencia, cada uno de estos objetos puede configurarse para su propia posición. Esto es una locura - puedes crear un millón de objetos CPositionInfo, pero todos ellos funcionarán sólo con la posición que fue seleccionada por última vez usando el método Select().
 
pivomoe:
Entiendo que tenemos que seleccionar una posición y un orden antes de obtener información sobre ellos. No entiendo qué tiene que ver la clase CPositionInfo. Si tenemos una clase, podemos crear muchos objetos de esa clase. Y, en consecuencia, cada uno de estos objetos puede configurarse para su propia posición. Esto no tiene sentido, así que puedes crear al menos un millón de objetos CPositionInfo, pero todos ellos funcionarán sólo con la posición que fue seleccionada por última vez usando el método Select().
La función PositionSelect() copia los datos de posición en el entorno del programa y las llamadas posteriores aPositionGetDouble(),PositionGetInteger() yPositionGetString()devuelven los datos previamente copiados
Si quiere guardar una matriz de datos en dos o más posiciones, escriba su propia estructura y copie los datos de posición en ella.
 
pivomoe:
Entiendo que hay que seleccionar una posición y una orden antes de obtener información sobre ellas. No entiendo qué tiene que ver la clase CPositionInfo. Si tenemos una clase, podemos crear muchos objetos de esa clase. Y, en consecuencia, cada uno de estos objetos puede configurarse para su propia posición. Esto no tiene sentido, puedes crear al menos un millón de objetos CPositionInfo, pero todos ellos funcionarán sólo con la posición que fue seleccionada por última vez usando el método Select().
CArrayObj le ayudará. Y almacenar los objetos de orden/posición en esta lista. Y obtener todos los datos necesarios sobre ellos.
 

Continuemos aquí.

Vladimir Karputov:
La función PositionSelect() copia los datos de posición al entorno de programación y las llamadas posteriores aPositionGetDouble(),PositionGetInteger() yPositionGetString()devuelven los datos previamente copiados

Entiendo todo esto ya que está bien explicado en la ayuda. No entiendo qué tiene que ver esto con la clase CPositionInfo.

Dispone de una función Volume() . Hay requisitos antes de llamar a esta función (seleccionar una posición antes de usarla). Cumplo con estos requisitos. No veo por qué devuelve un volumen absolutamente erróneo. Bueno, ¿es así, difícil de recordar en el momento de la última llamada (para este objeto de clase) Select() símbolo, que me interesa, y ya está en el momento de la llamada Volume() para encontrar la posición que corresponde a este símbolo y devolver el volumen correspondiente a esta posición?



En otras palabras, usar dos objetos de la clase PositionInfo en este caso es incorrecto.

Resulta que no tiene sentido la clase CPositionInfo, porque normalmente sólo se puede trabajar con un objeto de esta clase.

 
¿Entiendo correctamente que el método Volume de la clase CPositionInfo devuelve el volumen correspondiente al momento en que se llamó por última vez al método Select()? Es decir, ¿es posible averiguar el volumen que había hace un mes para este símbolo?
 
pivomoe:

Continuemos aquí.

Entiendo todo esto ya que está bien explicado en la ayuda. No entiendo qué tiene que ver esto con la clase CPositionInfo.

Tiene una función Volumen() . Hay requisitos antes de llamar a esta función (seleccionar la posición antes de usarla). Cumplo con estos requisitos. No veo por qué devuelve el volumen equivocado. Bueno realmente, ¿es tan, difícil de memorizar en el momento de la última llamada (para este objeto de clase) Select() símbolo, que me interesa, y ya está en el momento de la llamada Volume() para encontrar la posición que corresponde a este símbolo y devolver el volumen correspondiente a esta posición?


Resulta que no tiene sentido la clase CPositionInfo, porque normalmente sólo se puede trabajar con un objeto de esta clase.

La clase comercial CPositionInfo funciona perfectamente cuando se entiende lo que hace.
Me explico: CPositionInfo no es un cofre que almacena todas las propiedades de la posición seleccionada, es una llave (cómoda, rápida, que sustituye a un montón de líneas de código) para acceder a las propiedades de la posición seleccionada.

Razón de la queja: