Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Vamos a servicedesk.
Por favor, aclare cómo se desconectaron exactamente los servicios. ¿Has borrado (congelado) los servicios? Por favor, adjunte los registros de los agentes problemáticos.
La configuración del proxy en sus registros es algo extraña. ¿Escribiste la configuración del proxy en la configuración de tu agente? Por favor, adjunte el common.ini de su gestor.
Resulta que miré los registros de ayer...
Todo está bien.
Siguiente código:
Salidas:
2011.12.05 22:01:28 RectLabel (EURUSD,H1) pos = {12, 176314750}
2011.12.05 22:01:28 RectLabel (EURUSD,H1) other = {123, 456}
Entonces, la lista de inicialización no funcionó, hay basura en la estructura. ¿Es un error o no?
//| testDeinit.mq5 |
//| Copyright 2011, MetaQuotes Software Corp. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
class CTest_Expert
{
public:
CTest_Expert();
~CTest_Expert() { Deinit(); }
void Processing();
void Deinit();
bool StartTimer(int nCounSeconds);
void StopTimer();
string Exp_Symbol;
};
CTest_Expert arSymbols[];
//+------------------------------------------------------------------+
//| Конструктор |
//+------------------------------------------------------------------+
CTest_Expert::CTest_Expert()
{
}
//+------------------------------------------------------------------+
//| Функция удаления динамических объектов |
//+------------------------------------------------------------------+
void CTest_Expert::Deinit()
{
Print("Эксперт выгружен с пары "+Exp_Symbol);
Comment("");
}
//+------------------------------------------------------------------+
//|Инициализация таймера |
//+------------------------------------------------------------------+
bool CTest_Expert::StartTimer(int nCountSeconds)
{
return(EventSetTimer(nCountSeconds));
}
//+------------------------------------------------------------------+
//|Уничтожение таймера |
//+------------------------------------------------------------------+
void CTest_Expert::StopTimer()
{
EventKillTimer();
}
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
ArrayResize(arSymbols, 5);
arSymbols[0].Exp_Symbol="0";
arSymbols[1].Exp_Symbol="1";
arSymbols[2].Exp_Symbol="2";
arSymbols[3].Exp_Symbol="3";
arSymbols[4].Exp_Symbol="4";
return(0);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
int nSize=ArraySize(arSymbols);
Print("nSize = " + IntegerToString(nSize));
for(int i=0;i<nSize;i++)
{
Print("-------"+IntegerToString(i)+"--------");
arSymbols[i].Deinit();
Print("---------------");
}
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
Resultado
2011.12.06 16:59:52 testDeinit (EURUSD,M5) 14:00:00
2011.12.06 16:59:52 testDeinit (EURUSD,M5) 14:02:00 PM testDeinit (EURUSD,M5) E.T.A. se ha descargado del par 3
2011.12.06 16:59:52 testDeinit (EURUSD,M5) Descargado del par 2
2011.12.06 16:59:52 testDeinit (EURUSD,M5) Descargado del par 1
2011.12.06 16:59:52 testDeinit (EURUSD,M5) Ekspert descargado del par 0
2011.12.06 16:59:52 testDeinit (EURUSD,M5) ---------------
2011.12.06 16:59:52 testDeinit (EURUSD,M5) 14
2011.12.06 16:59:52 testDeinit (EURUSD,M5) -------4--------
2011.12.06 16:59:52 testDeinit (EURUSD,M5) ---------------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) El experto se descarga del par 3
2011.12.06 16:59:51 testDeinit (EURUSD,M5) -------3--------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) ---------------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) El experto ha sido descargado del par 2
2011.12.06 16:59:51 testDeinit (EURUSD,M5) -------2--------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) ---------------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) El experto se descarga del par 1
2011.12.06 16:59:51 testDeinit (EURUSD,M5) -------1--------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) ---------------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) El experto se descarga del par 0
2011.12.06 16:59:51 testDeinit (EURUSD,M5) -------0--------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) nSize = 5
No puedo entender la desinicialización. ¿Por qué aparece dos veces el mensaje "Experto descargado del par ..."?
CTest_Expert arSymbols[];
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
int nSize=ArraySize(arSymbols);
Print("nSize = " + IntegerToString(nSize));
for(int i=0;i<nSize;i++)
{
Print("-------"+IntegerToString(i)+"--------");
arSymbols[i].Deinit();
Print("---------------");
}
}
Esto es un error del compilador - no generó un error diciendo que una estructura no puede ser inicializada de esta manera (sin constructor de copia). Arreglado. Gracias por la publicación.
No. Aquí aparecen más detalles.
En Help dice que las estructuras simples pueden copiarse como variables de tipos simples:
Entonces, ¿por qué no se puede hacer en la lista de inicialización? No quiero definir explícitamente los constructores, para no perder el método de inicialización utilizado anteriormente.
No es una crítica en principio, sólo quiero escuchar el comentario final.
Siejecuto el terminal con 12 ventanas abiertas, se come 325 MB de RAM.
Al ejecutar el Asesor Experto multidivisa, el terminal consume 990 Mb de memoria. El Asesor Experto ve las barras de 5 minutos de las últimas 48 horas + utiliza el indicador "fractal". Si corro sólo para operar con un símbolo, se necesitan 400 Mb. ¿Es normal este consumo de memoria cuando se trabaja con 12 símbolos?
Estoy ejecutando un Asesor Experto multidivisa, el terminal se come 990 Mb de RAM. El experto examina las barras de 5 minutos de las últimas 48 horas + utiliza el indicador "fractal". Si corro sólo para operar con un símbolo, se necesitan 400 Mb. ¿Es normal este consumo de memoria cuando se trabaja con 12 símbolos?
Consulte el artículo Principios de recálculo económico de los indicadores
Olvidé mencionar que el fractal es un indicador estándar + todos los cálculos se realizan cada cinco minutos
¿Cómo saben los desarrolladores lo que están haciendo y cómo lo están haciendo?
Intenta formular y explicar claramente la raíz del problema en tu código.
Describa el problema de forma técnica.
¿Cómo pueden los desarrolladores saber lo que están haciendo y cómo lo están haciendo?
Intenta formular claramente y destacar la esencia del problema en tu código. en qué condiciones empieza a crecer el consumo, haz y muestra la impresión del registro.
Describa el problema de forma técnica.