Новая версия платформы MetaTrader 5 build 4755: общие улучшения - страница 16

 
Forester #:

Нужно лезть в код и смотреть enum

enum не сохраняется в opt-формате. Вы можете просматривать кэши без наличия советника.

Поменять здесь что-либо, по-моему, нереально.

 
fxsaber #:

enum не сохраняется в opt-формате. Вы можете просматривать кэши без наличия советника.

Поменять здесь что-либо, по-моему, нереально.

Я прошу разработчиков поменять надписи на шкалах в картинках, как самый удобный для восприятия формат. Мне кажется это 5-10 минут работы. В opt файлы я пока не лезу. Под кодом имел в виду код советника, в котором enum прописан.
 
Forester #:
Я прошу разработчиков поменять надписи на шкалах в картинках, как самый удобный для восприятия формат. Мне кажется это 5-10 минут работы. В opt файлы я пока не лезу.

Во время оптимизации opt-файл дозаписывается, и только данные из opt-файла служат источником построения всех картинок.

 
fxsaber #:

Во время оптимизации opt-файл дозаписывается, и только данные из opt-файла служат источником построения всех картинок.

Надеюсь они что-то придумают... в таблице то правильно написано.

Если текстовое описание хранить накладно, то хотя бы цифровое. Т.е. не string "_25", а int 25
 
Forester #:

Сбалансировали раздачу заданий, после вчерашних 3-х обновлений, сегодня - идеально! Спасибо)

Локальные Фермы не использую. Но если что-то долго считает, то смотрю так.

Чем заняты Агенты?

По изменениям в CheckInputs-папке можно видеть, какой Агент и что считает в настоящее время.

 
Renat Fatkhullin #:

Проверка показала, что мы в подсчете потребления памяти используем полную сумму всех используемых страниц памяти процесса.

На основе документации https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-memory_basic_information

  • сканируем все страницы процесса со State = MEM_COMMIT
  • учитываем как занятую все три Type = MEM_IMAGE, MEM_MAPPED и MEM_PRIVATE
  • в результате получаем максимальное потребление с учетом самого тела процесса


Можно было бы пойти по экономному пути и показывать только MEM_PRIVATE, но для нас лучше видеть максимум потребления.

Это позволяет нам явно видеть наш прогресс улучшений по экономии ресурсов.

Решили переделать учет и теперь показывает только реально занятые страницы памяти без учета незагруженных/выгруженных на диск страниц.

Уже доступно в последней бете.
 
b4841, ChartClose ошибочно возвращает true для CHART_IS_OBJECT.
void OnStart()
{
  if (ObjectCreate(0, __FILE__, OBJ_CHART, 0, 0, 0))
  {
    const ulong Chart = ObjectGetInteger(0, __FILE__, OBJPROP_CHART_ID);
    
    Print(ChartGetInteger(Chart, CHART_IS_OBJECT)); // true
    Print(ChartClose(Chart)); // true
  }
}
Строка для поискаOshibka 129.
 
Print(SymbolSelect("", true)); //true

Ожидалось не true.

 
b4841, еще одна ситуация (актуальные: один и два) отсутствия реакции на ALT+G в ME.
class A
{
public:  
  static void FileLoad() {}
};

void OnStart()
{
  A::FileLoad(); // ALT+G не работает.
}
Строка для поиска: Uluchshenie 112.
 
b4850, ошибка компиляции (взято здесь).
template <typename T>
void Func(T) {}

template <typename T>
typedef void (*TFunc)(T);

void OnStart()
{
  TFunc f = Func; // fatal compiler error: code generation failed
}
Строка для поискаOshibka 130.