Errores, fallos, preguntas - página 572

 
Interesting:

¿Dónde y cómo se genera MarketWatch?

Según he entendido, este bloque trata de añadir un símbolo a la lista, con la comprobación del resultado.

Pero si el Asesor Experto es un par de divisas múltiples (que no es obvio desde el ejemplo anterior).

Este código está en un bucle de pares de divisas, Exp_Symbol en cada pasada, excepto la primera, es un par de divisas "extranjero". Si hay cinco pares de divisas, SymbolSelect(Exp_Symbol, true) será llamado cinco veces para cinco símbolos diferentes.

La llamada a las funciones SymbolSelect(), SymbolIsSynchronized(), CopyRates() en mi código por símbolos "ajenos" (el historial debe ser actualizado en consecuencia). En la primera prueba hay datos, pero en la segunda no hay datos y el Asesor Experto se bloquea en el probador.

 
Konstantin83:

Este código está en el bucle de pares de divisas, Exp_Symbol en cada pase excepto el primero es el par de divisas "extranjero". Tengo una llamada a las funciones SymbolSelect(), SymbolIsSynchronized(), CopyRates() por símbolos "ajenos" (de ahí que el historial deba ser intercambiado). En la primera prueba hay datos, pero en la segunda no hay datos y el Asesor Experto se bloquea en el probador.


¿Puede enviar a servicedesk un experto y una descripción de los ajustes de optimización/prueba?
 
alexvd:
¿Puede enviar un experto y una descripción de la configuración de optimización/prueba a servicedesk?
Creado.
 
Ahora mismo, las cotizaciones vuelven a colgarse en la cuenta demo. Hay comunicación pero no hay movimiento.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - Документация по MQL5
 

Quiero descargar los datos de enero de 2009. He descargado los datos de 15 minutos y hora, pero no puedo descargar los datos de 5 minutos, dice que no hay historial. ¿Por qué no se descarga el historial de 5 minutos?

void OnStart()
  {
   int size = 25;
   datetime dateFrom;
   datetime dateTo;
   MqlRates rates[];
   MqlDateTime stDate;
   int FileHandle;
  
   stDate.day  = 1;
   stDate.hour = 0;
   stDate.mon  = 1;
   stDate.year = 2009;
   dateFrom    = StructToTime( stDate );
   stDate.day  = 31;
   dateTo      = StructToTime( stDate );
  
  
   ArraySetAsSeries(rates,true);
  
   int copied=CopyRates(Symbol(), PERIOD_M5, dateFrom, dateTo, rates);
   for(int i=0;i<100;i++)
     {
      if(GetLastError()!=0)
       {
        Sleep(5000);
        copied=CopyRates(Symbol(), PERIOD_M5, dateFrom, dateTo, rates);
       }
      else
       {
        break;
       }
      Print("Нет истории, проход № " + i);
     }
   if(copied>0)
     {
      Print("Скопировано баров: "+IntegerToString(copied));
      //string format="open = %G, high = %G, low = %G, close = %G, volume = %d";
      string out;
      size = ArraySize(rates);
      ResetLastError();
     
      FileHandle=FileOpen("Data.csv",FILE_WRITE|FILE_CSV);
      if(FileHandle==INVALID_HANDLE)
        {
         Print("Ошибка " + IntegerToString((GetLastError())));
        }
      for(int i=size-1;i>=0;i--)
        {
         FileWrite(FileHandle, TimeToString(rates[i].time), DoubleToString(rates[i].open, _Digits), DoubleToString(rates[i].high, _Digits), DoubleToString(rates[i].low, _Digits), DoubleToString(rates[i].close, _Digits));
        }
     
      Print("size = " + FileSize(FileHandle));
      FileFlush(FileHandle);
      FileClose(FileHandle);
     }
   else
    {
     Print("Не удалось получить исторические данные по символу ",Symbol());
     Print("Ошибка " + GetLastError());
    }
  }

 

He decidido comprobar cómo funciona la función ArrayResize con todos los parámetros. Compila sin problemas, el auto-trading está habilitado en todas partes, pero el Asesor Experto se descarga del gráfico sin siquiera ir a OnInit.

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Print(__FUNCTION__);
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   Print(__FUNCTION__);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick() {
   double ZZ[][2];
//==============================================   
   Print(__FUNCTION__);
   
   ResetLastError();
   ArrayResize(ZZ,5,5);
   for(int i=0;i<10;i++) {
      ZZ[i][0]=i;
      Print("i=",i,"; ZZ=",ZZ[i][0]);
      Print(GetLastError());
   }
   return;
}
//+------------------------------------------------------------------+

Cuál es el problema, no puedo entenderlo.

1

2

 
Talex:

He decidido comprobar cómo funciona la función ArrayResize con todos los parámetros. Compila sin problemas, el auto-trading está habilitado en todas partes, pero el Asesor Experto se descarga del gráfico sin siquiera ir a OnInit.

Cuál es el problema, no puedo entenderlo.


Banal fuera de rango, comprobar en la pestaña "Expertos"
Reservar no es una asignación, tu array sigue siendo de cinco elementos, aunque la memoria esté asignada para 10.

 
mql5:

Banal fuera de rango, mira la pestaña "Expertos".
Reservar no es asignar, tu array sigue siendo de cinco elementos, aunque hayas asignado memoria para 10.

Sí, gracias. Estaba mirando la pestaña equivocada, estoy enfermo, debe estar afectándome.
 
Talex:

He decidido comprobar cómo funciona la función ArrayResize con todos los parámetros. Compila sin problemas, el auto-trading está habilitado en todas partes, pero el Asesor Experto se descarga del gráfico sin siquiera ir a OnInit.

En general, la captura de pantalla anterior muestra el registro del terminal. Y lo que buscas está en la pestaña de Expertos.
 

Hola,

Yo, después de probar y activar la optimización, consigo esto:

El paso genético del núcleo 1 (127, 1195) se ha probado con el error "error crítico de ejecución

La prueba es normal.