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

 
andm2:

Estoy tratando de averiguar el valor de un lote con SymbolInfoDouble(Symbol(),SYMBOL_MARGIN_INITIAL),pero el resultado es =0.¿Pueden decirme qué ocurre?

https://www.mql5.com/ru/forum/1111/page95#comment_14665

 
 
¡Buenos días! Estoy tratando de escribir una distinción para la posición seleccionada - comprar o vender. Lo escribo así.
 if (PositionGetInteger(POSITION_TYPE)== ??? {
¿Con qué debo compararlo? No lo veo en la referencia. Ahí sí que no está escrito, no es falso ni verdadero, algún tipo de ENUM_POSITION_TYPE, pincho en él y el enlace lleva a la misma tabla.
 
Dimka-novitsek:
¡Buenos días! Estoy tratando de hacer una distinción para una posición - comprar o vender. Lo escribo así. ¿Con qué debe compararse? No lo veo en la ayuda. Ahí sí que no está escrito, no es false y True, es algún ENUM_POSITION_TYPE, pincho en él y el enlace lleva a la misma tabla.

Hay una tabla al final de la página

comparar con

POSITION_TYPE_BUY para BUY y

POSITION_TYPE_SELL para VENTA

 
¡¡¡¡Gracias!!!!
 
Lo siento, podría escribir unas líneas más arriba y digamos que tengo una orden seleccionada de alguna manera, no una posición. Aquí utilizo la función PositionGetDouble, ¿qué pasará? ¿Qué informará esta función, y si informará de algo?
 
Dimka-novitsek:
Perdone, digamos que, unas líneas más arriba, tengo una orden seleccionada, no una posición. Aquí utilizo la función PositionGetDouble, ¿qué ocurrirá? ¿Qué informará la función, y si informará de algo?

La función dará algo, pero no hay garantía, antes de usar la función PositionGetDouble debe usar PositionSelect(símbolo)

si no se ha llamado antes.

Parece que se mueve el cursor a la línea correcta. Si el cursor ya está en la línea correcta (la situación en la que la función PositionSelect(symbol ) fue llamada anteriormente en el código y devolvió true), se pueden utilizar las funciones PositionGetXXX o PositionSetXXX inmediatamente; si el cursor está en otra línea, es necesario posicionarlo primero.

 
¡¡¡GRACIAS!!!
 
Dimka-novitsek:
¡¡¡GRACIAS!!!
Corregido el comentario.
 
¡¡¡GRACIAS!!! Entendí todo el punto, es importante elegir el orden correcto, o incluso comprobar
 string PositionSymboll = "";
   if  (PositionSymboll=PositionGetSymbol(i))

if (PositionSymboll = ="")
Razón de la queja: