Уточните пожалуйста, каким именно образом отключили? Удалили (застопили) сервисы? Приложите логи проблемных агентов.
Несколько странные настройки прокси в логах. Вы настройки прокси в конфигах агентов прописывали? Приложите, пожалуйста, в заявке common.ini вашего менеджера агентов.
mql5: Это бага компилятора - не выдал ошибку, что так(без конструктора копирования) инициализировать структуру нельзя. Исправлено. Спасибо за сообщение.
Э нет. Тут дополнительные подробности всплыли.
В справке написано, что простые структуры можно копировать как переменные простых типов, типа:
Тогда почему нельзя сделать этого в списке инициализации? Я не хочу явно определять конструкторы, чтобы не терять вышеиспользованного способа инициализации.
В принципе, не критично, просто хочется услышать окончательный комментарий.
Запускаю мультивалютного эксперта, терминал съедает 990 Мб оперативной памяти. Эксперт просматривает 5-ти минутные бары за последние 48 часов + индикатор "фрактал" использует. Если запустить только чтобы торговал по одному символу то 400 Мб занимает. Такое потребление памяти это нормально при работе на 12 символах?
Konstantin83: Запускаю мультивалютного эксперта, терминал съедает 990 Мб оперативной памяти. Эксперт просматривает 5-ти минутные бары за последние 48 часов + индикатор "фрактал" использует. Если запустить только чтобы торговал по одному символу то 400 Мб занимает. Такое потребление памяти это нормально при работе на 12 символах?
Konstantin83: Забыл указать фрактал это стандартный индикатор + все расчеты проходят раз в пять минут
вы бы хоть какую-то цифирь документально подтвержденную показали. откуда разработчикам знать что и как вы у себя делаете. постарайтесь грамотно сформулировать и выделить суть проблемы из вашего кода. при каких условиях начинает расти объем потребления, сделать и показать распринтовку журнала. вобщем хоть как то технически описать проблему.
вы бы хоть какую-то цифирь документально подтвержденную показали. откуда разработчикам знать что и как вы у себя делаете. постарайтесь грамотно сформулировать и выделить суть проблемы из вашего кода. при каких условиях начинает расти объем потребления, сделать и показать распринтовку журнала. вобщем хоть как то технически описать проблему.
Раньше не обращал внимание на объем занимаемой памяти так как наверно было немного. Вчера и сегодня заметил, что система притормаживает, открываю диспетчер задач а там терминал 900 МБ отъел. Начал смотреть. При запуске открыто 12 окон - 325 МБ, вешаю на окно эксперта - 990 МБ, соответственно подумал что эксперт отъедает. В настройках "графики - макс баров в окне" стояло unlimited. Изменил на 50 000 запустил терминал весит 110, опять изменил на unlimited. Сейчас при запущенном эксперте 208 МБ т.е. нормально.
Давайте в сервисдеск.
Уточните пожалуйста, каким именно образом отключили? Удалили (застопили) сервисы? Приложите логи проблемных агентов.
Несколько странные настройки прокси в логах. Вы настройки прокси в конфигах агентов прописывали? Приложите, пожалуйста, в заявке common.ini вашего менеджера агентов.
За вчерашний день оказывается логи смотрел...
Все нормально.
Следующий код:
Выдает:
2011.12.05 22:01:28 RectLabel (EURUSD,H1) pos = {12, 176314750}
2011.12.05 22:01:28 RectLabel (EURUSD,H1) other = {123, 456}
То бишь список инициализации не отработал, в структуре мусор. Это бага или нельзя?
//| 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()
{
//---
}
//+------------------------------------------------------------------+
Результат
2011.12.06 16:59:52 testDeinit (EURUSD,M5) Эксперт выгружен с пары 4
2011.12.06 16:59:52 testDeinit (EURUSD,M5) Эксперт выгружен с пары 3
2011.12.06 16:59:52 testDeinit (EURUSD,M5) Эксперт выгружен с пары 2
2011.12.06 16:59:52 testDeinit (EURUSD,M5) Эксперт выгружен с пары 1
2011.12.06 16:59:52 testDeinit (EURUSD,M5) Эксперт выгружен с пары 0
2011.12.06 16:59:52 testDeinit (EURUSD,M5) ---------------
2011.12.06 16:59:52 testDeinit (EURUSD,M5) Эксперт выгружен с пары 4
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) Эксперт выгружен с пары 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) Эксперт выгружен с пары 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) Эксперт выгружен с пары 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) Эксперт выгружен с пары 0
2011.12.06 16:59:51 testDeinit (EURUSD,M5) -------0--------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) nSize = 5
Не могу понять деинициализацию. Почему сообщение "Эксперт выгружен с пары ..." происходит два раза?
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("---------------");
}
}
Это бага компилятора - не выдал ошибку, что так(без конструктора копирования) инициализировать структуру нельзя. Исправлено. Спасибо за сообщение.
Э нет. Тут дополнительные подробности всплыли.
В справке написано, что простые структуры можно копировать как переменные простых типов, типа:
{ Pos pos = {100, 100}; Pos pos1 = pos; // копи конструктор pos = pos1; // копи оператор }Тогда почему нельзя сделать этого в списке инициализации? Я не хочу явно определять конструкторы, чтобы не терять вышеиспользованного способа инициализации.
В принципе, не критично, просто хочется услышать окончательный комментарий.
Запускаю терминал с открытыми 12-тью окнами, съедает 325 Мб оперативной памяти.
Запускаю мультивалютного эксперта, терминал съедает 990 Мб оперативной памяти. Эксперт просматривает 5-ти минутные бары за последние 48 часов + индикатор "фрактал" использует. Если запустить только чтобы торговал по одному символу то 400 Мб занимает. Такое потребление памяти это нормально при работе на 12 символах?
Запускаю мультивалютного эксперта, терминал съедает 990 Мб оперативной памяти. Эксперт просматривает 5-ти минутные бары за последние 48 часов + индикатор "фрактал" использует. Если запустить только чтобы торговал по одному символу то 400 Мб занимает. Такое потребление памяти это нормально при работе на 12 символах?
Посмотрите статью Принципы экономного пересчета индикаторов
Забыл указать фрактал это стандартный индикатор + все расчеты проходят раз в пять минут
вы бы хоть какую-то цифирь документально подтвержденную показали. откуда разработчикам знать что и как вы у себя делаете.
постарайтесь грамотно сформулировать и выделить суть проблемы из вашего кода. при каких условиях начинает расти объем потребления, сделать и показать распринтовку журнала.
вобщем хоть как то технически описать проблему.
вы бы хоть какую-то цифирь документально подтвержденную показали. откуда разработчикам знать что и как вы у себя делаете.
постарайтесь грамотно сформулировать и выделить суть проблемы из вашего кода. при каких условиях начинает расти объем потребления, сделать и показать распринтовку журнала.
вобщем хоть как то технически описать проблему.