Errores, fallos, preguntas - página 2175

 
Artyom Trishkin:

¿Soy el único con una imagen de este post que no se abre en una nueva ventana emergente? Mozilla FireFox 59.0.2 (64 bits)

Es decir, la imagen que está en la cita no se abre.

Lo guardé en un com y lo miré. Parece una captura de pantalla del foro, ya con un icono de zoom.

 
Konstantin Nikitin:

Lo guardé en un com y lo miré. Parece una captura de pantalla del foro, ya con un icono de zoom.

No, es una imagen normal - si usted PKM y selecciona abrir en una nueva pestaña/ventana, la imagen se abre a tamaño completo.

 
Artyom Trishkin:

¿Soy el único con una imagen de este post que no se abre en una nueva ventana emergente? Mozilla FireFox 59.0.2 (64 bits)

La imagen que aparece en la cita no se abre.

No se abre, y tengo Chrome, que lo abre todo.

 
Vitaly Muzichenko:

No se abre, y tengo Chrome, que lo abre todo.


No se trata de Chrome, sino del script de la página web.

 

Señores, hay un error que no entiendo. Si sabes cuál es el problema, por favor ayúdame.

Al compilar el código siguiente, obtenemos un error:'ORDER_TYPE_BUY' - no se puede convertir enum;'ORDER_TYPE_SELL' - no se puede convertir enum.

Un código similar en mql4 compila bien. He visto ejemplos similares en otros EAs que utilizan mql5. Pero de momento no se está compilando. No tengo ni idea de por qué es así y qué hay que arreglar.

//+------------------------------------------------------------------+
int Fun()
  {
   int res;

   int total=PositionsTotal(); // количество открытых позиций   
//--- перебор всех открытых позиций
   for(int i=total-1; i>=0; i--)
     {
      //--- параметры ордера
      ulong  position_ticket=PositionGetTicket(i);  // тикет позиции                                  

      ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);  // тип позиции      

      if(type!=ORDER_TYPE_BUY && type!=ORDER_TYPE_SELL) continue;

      switch(type)
        {
         case ORDER_TYPE_BUY:
            res=1;
            break;

         case ORDER_TYPE_SELL:
            res=2;
            break;
        }
      return(res);

     }

   return(3);
  }
//+------------------------------------------------------------------+

 
if (type !=POSITION_TYPE_BUY &&  type!=POSITION_TYPE_SELL) continue;  
 
Sergiy Riehl:

Señores, hay un error que no entiendo. Si sabes cuál es el problema, por favor ayúdame.

Al compilar el código siguiente, obtenemos un error:'ORDER_TYPE_BUY' - no se puede convertir enum;'ORDER_TYPE_SELL' - no se puede convertir enum.

Un código similar en mql4 compila bien. He visto ejemplos similares en otros EAs que utilizan mql5. Pero de momento no se está compilando. No tengo ni idea de por qué lo hace y qué hay que arreglar.


Por favor, pegue el código correctamente:


El código está corregido para usted en su puesto

 
Sergiy Riehl:

Señores, hay un error que no entiendo. Si sabes cuál es el problema, por favor ayúdame.

Al compilar el código siguiente, obtenemos un error:'ORDER_TYPE_BUY' - no se puede convertir enum;'ORDER_TYPE_SELL' - no se puede convertir enum.

Un código similar en mql4 compila bien. He visto ejemplos similares en otros EAs que utilizan mql5. Pero de momento no se está compilando. No tengo ni idea de por qué es así y qué hay que arreglar.



 ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);  // тип позиции      

      if(type!=ORDER_TYPE_BUY && type!=ORDER_TYPE_SELL) continue;


Se asigna el tipo POSITION_TYPE

y compararlo con ORDER_TYPE

 
Sergiy Riehl:

Señores, hay un error que no entiendo. Si sabes cuál es el problema, por favor ayúdame.

Al compilar el código siguiente, obtenemos un error:'ORDER_TYPE_BUY' - no se puede convertir enum;'ORDER_TYPE_SELL' - no se puede convertir enum.

Un código similar en mql4 compila bien. He visto ejemplos similares en otros EAs que utilizan mql5. Pero de momento no se está compilando. No tengo ni idea de por qué lo hace y qué hay que arreglar.


Estás confundiendo las órdenes (en el lenguaje antiguo) y las posiciones en MQL5.

El tipo de posición puede ser (ENUM_POSITION_TYPE)

Identificador

Descripción

POSICIÓN_TIPO_COMPRA

Comprar

POSICIÓN_TIPO_VENTA

Vender


Es decir, O "POSITION_TYPE_BUY" O "POSITION_TYPE_SELL". No puede haber ningún otro acuerdo.

Por lo tanto, su código tendrá la forma:

   for(int i=total-1; i>=0; i--)
     {
      //--- параметры позиции
      ulong  position_ticket=PositionGetTicket(i);  // тикет позиции                                  

      ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);  // тип позиции      

      switch(type)
        {
         case POSITION_TYPE_BUY:
            res=1;
            break;

         case POSITION_TYPE_SELL:
            res=2;
            break;
        }
      return(res);
     }
   return(3);
 
Gracias a todos. Lo tengo todo.