Errores, fallos, preguntas - página 155

 

   if(PositionSelect(_Symbol))
     {
      if(HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)))
        {
         total=HistoryDealsTotal();
         //total=HistoryOrdersTotal();
         Print("total = "+IntegerToString(total));
         for(i=0; i<total; i++)
           {
           
            ticket=HistoryDealGetTicket(i);
            //ticket=HistoryOrderGetTicket(i);
            if(ticket > 0)
              {
               if(1906 == HistoryDealGetInteger(ticket, DEAL_MAGIC))
               //if(1906 == HistoryOrderGetInteger(ticket, ORDER_MAGIC))
                 {
                  nCount++;
                 }
              }
           }
        }
     }
  

   Print( "Количество сделок по символу "+_Symbol+" "+IntegerToString(nCount));

Si el Asesor Experto se está ejecutando en una demo o simplemente ejecutando el script, devolverá el número de operaciones,

Pero si se prueba el Asesor Experto en el probador, siempre devuelve una operación en este código.

El código muestra que intenté sacar tanto órdenes como tratos, pero en el modo normal todo se devuelve normalmente, pero en el probador sólo se devuelve un trato.

 
AlexSTAL:

Es totalmente descabellado ejecutar la versión de 32 bits del terminal en un sistema operativo de 64 bits, solicitar mucha memoria y luego sorprenderse por la falta de ésta.

Utilice la versión de 64 bits del terminal.

 
Renat:

Es totalmente descabellado ejecutar la versión de 32 bits del terminal en un sistema operativo de 64 bits, solicitar mucha memoria y luego sorprenderse por la falta de ésta.

Utilice la versión de 64 bits del terminal.

Gracias. El problema aquí es que no todo el mundo que conozco tiene 64 bits y tanta memoria....

El problema en 32 bits se resolvió de forma trivial: puse un límite al número de barras en la ventana en la configuración global.

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Konstantin83:

Si el Asesor Experto se está ejecutando en una demo o simplemente ejecutando el script, devolverá el número de operaciones,

Pero si se prueba el Asesor Experto en el probador, siempre devuelve una operación en este código.

El código muestra que intenté sacar tanto órdenes como tratos, pero en el modo normal todo se devuelve normalmente, pero en el probador sólo se devuelve un trato.

Por favor, envíenos el código completo del Asesor Experto.
 
Graff:
MT5 no funciona a través de proxies (http,socks 4,5) Build 328. Sin embargo, MT4 funciona bien a través de estos proxies.

¿Cómo consigo que MT5 funcione a través de un proxy?

 

He aquí una pregunta:

Estoy determinando el número de decimales:

int digit=SymbolInfoInteger(symbol, SYMBOL_DIGITS);

Recibo una advertencia al compilar:

posible pérdida de datos debido a la conversión del tipo de dígito variable

No está claro por qué, ya que el tipo de datos es entero.

Si intento cambiar el tipo de datos a long, ulong o cualquier otro, aparece una advertencia similar en otra línea y también para el dígito de la variable:

SL=NormalizeDouble(SL, digit);

¿Qué estoy haciendo mal?

 
Inténtalo de esta manera:
int digit= (int)SymbolInfoInteger(symbol, SYMBOL_DIGITS);

 
AsAn:

He aquí una pregunta:

Estoy determinando el número de decimales:

Recibo una advertencia al compilar:

posible pérdida de datos debido a la conversión del tipo de dígito variable

No está claro por qué, ya que el tipo de datos a obtener es entero.

Si intento cambiar el tipo de datos a long, ulong o cualquier otro, aparece una advertencia similar en otra línea y también para el dígito de la variable:

¿Qué estoy haciendo mal?

Se fija así

int digit= (int)SymbolInfoInteger(symbol,SYMBOL_DIGITS);
 
Gracias. La cura funciona :))
 

Tengo una pequeña sugerencia.

Por qué no hacer informes en mht(archivo web), parece más conveniente para los usuarios.

1 informe - 1 archivo, no 2 como ahora (html y png)