Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5 - страница 134

 
Slava:

Да, на  высоких скоростях отстают.

Потому что приоритет за вычислениями, а не за отображением.

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

Было сделано специально из-за запросов "почему скорость отрисовки первых 10 градаций одинаковая"

Столкнулся с тем, что после DebugBreak() Визуализатор показывает абсолютно не соответствующее реальности торговое окружение.

Например, показывает, что открыты одни позиции, а на самом деле через MQL печатаешь - другие.


Возможно ли в момент дебаг-остановки дорисовывать Визуализацию до актуального значения?

Или функцию?
bool VisualRedraw();
 
fxsaber:

Столкнулся с тем, что после DebugBreak() Визуализатор показывает абсолютно не соответствующее реальности торговое окружение.

Например, показывает, что открыты одни позиции, а на самом деле через MQL печатаешь - другие.

Странно, что это никто не замечал. В глаза же бросается. В журнале визуализатора всё правильно, а во вкладках торговля и история и на графике всё неактуальное.

 
Edgar:

Странно, что это никто не замечал. В глаза же бросается. В журнале визуализатора всё правильно, а во вкладках торговля и история и на графике всё неактуальное.

Тоже замечал:


 
Кстати, не только после DebugBreak(), а после любого breakpoint.
 
Замечание по ME
class CLASS
{
public:
  static void OnStart() {}
};

void OnStart()
{
  CLASS::OnStart(); // ALT+G перескакивает на ::OnStart(), выбора не предлагает.
}
 
Редактор с шаблонами классов
template <typename T>
class A
{
public:
  void Func() {}
};

void OnStart()
{
  A<int> a;
  
  a.Func(); // ALT+G не срабатывает.
}
 
Ошибка с макросами
#define MACROS 1
#define TOSTRING(A) #A + " = " + (string)(A)

void OnStart()
{
  Print(TOSTRING(MACROS)); // 1 = 1
}


Ожидалось

MACROS = 1
 
fxsaber:
Ошибка с макросами


Ожидалось

Не согласен. По памяти я не смогу точно объяснить, но вы неправы.

В документации пример

#define COMPANY_NAME      "MetaQuotes Software Corp."
Что должно быть подставлено в вашем примере?
 

Проверил в C++: выдаётся MACROS.   Хотя тут наверное нет однозначного мнения, как правильней

 
Alexey Navoykov:

Проверил в C++: выдаётся MACROS.   Хотя тут наверное нет однозначного мнения, как правильней

Ну почему нет, так всегда работало. Если настаиваете на подстоновке значения, то нужно ещё раз раскрыть:

#define TOSTRING_EXPAND(A) #A
#define TOSTRING(A) TOSTRING_EXPAND(A)
Причина обращения: