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

 
fxsaber #:

При дебаге возникла необходимость понять, соответствует ли пришедший указатель моему объекту.

Шел долго через F5/F10/F11. И после этого править код на создание временной переменной, равной указателю объекта, - это профукать всю пройденную дебаг-цепочку.

Пока только так:

class A
{
};

template<typename T>
bool IsTheSame(const T *p1, const T *p2)
{
   return StringFormat("%lld", p1) == StringFormat("%lld", p2);
}

void OnStart()
{
  A a;
  A b;
  A *p;
  
  Print(IsTheSame(&a, &b)); // false
  p = &a;
  Print(IsTheSame(&a, p)); // true
}
 
Stanislav Korotky #:

Пока только так:

Так понятно, что сделать можно свой вариант. Не всегда во время дебага понимаешь, что будешь смотреть. Поэтому и нужен DebugWatcher-вариант.

 
fxsaber #:

Так понятно, что сделать можно свой вариант. Не всегда во время дебага понимаешь, что будешь смотреть. Поэтому и нужен DebugWatcher-вариант.

Я внутрь объектов для отладки добавлял поле, в которое этот id-принт от this записывал в конструкторе, тогда его видно в отладчике.

 

Есть событие CHARTEVENT_KEYUP, про которое ничего не сказано здесь: https://www.mql5.com/ru/docs/constants/chartconstants/enum_chartevents

А какие ещё есть типы событий, про которые ничего не сказано в справке? 

 

build 4774
Масштабирование для любых индикаторов в подокне, имеющие отрицательное значение - не исправлено.

Линиями обозначил значения.

ind

Новая версия платформы MetaTrader 5 build 4755: общие улучшения - Сборки MetaTrader 5 сборки 4755 обнаружили ошибку масштабирования внутренних индикаторов, таких как OBV и A D.
Новая версия платформы MetaTrader 5 build 4755: общие улучшения - Сборки MetaTrader 5 сборки 4755 обнаружили ошибку масштабирования внутренних индикаторов, таких как OBV и A D.
  • 2024.12.18
  • Fernando Carreiro
  • www.mql5.com
когда другие выкладывают графики с равномерным шагом. Для MQ это задача меньше рабочего дня одного сотрудника. так же можно вывести в интерактивный график на весь экран. Оно само смасштабируется при расчете каждой точки по горизонали
 
Andrei Iakovlev #:

Есть событие CHARTEVENT_KEYUP, про которое ничего не сказано здесь: https://www.mql5.com/ru/docs/constants/chartconstants/enum_chartevents

А какие ещё есть типы событий, про которые ничего не сказано в справке? 

Разработчики, вы бы могли добавить событие CHARTEVENT_MOUSE_CLICK, чтобы можно было отслеживать нажатие кнопок мыши без CHART_EVENT_MOUSE_MOVE или  CHART_EVENT_MOUSE_WHEEL?

 
Andrei Iakovlev #:

Разработчики, вы бы могли добавить событие CHARTEVENT_MOUSE_CLICK, чтобы можно было отслеживать нажатие кнопок мыши без CHART_EVENT_MOUSE_MOVE или  CHART_EVENT_MOUSE_WHEEL?

CHARTEVENT_CLICK

CHARTEVENT_OBJECT_CLICK

 
Maxim Kuznetsov #:

CHARTEVENT_CLICK

CHARTEVENT_OBJECT_CLICK

CHARTEVENT_CLICK - это нажатие левой кнопкой мышки на графике. Я хочу отслеживать нажатие других кнопок мыши.

CHARTEVENT_OBJECT_CLICK вообще не про нажатие кнопок мыши.

 
Andrei Iakovlev #:

Разработчики, вы бы могли добавить событие CHARTEVENT_MOUSE_CLICK, чтобы можно было отслеживать нажатие кнопок мыши без CHART_EVENT_MOUSE_MOVE или  CHART_EVENT_MOUSE_WHEEL?

Я хочу отслеживать нажатие боковых кнопок мыши вперёд и назад.

Но сейчас, чтобы регистрировать эти нажатия, приходится одновременно с этим, например, двигать мышкой по экрану, что является очень неудобным действием (и вообще бред).

 
Andrei Iakovlev #:

Я хочу отслеживать нажатие боковых кнопок мыши вперёд и назад. Но сейчас, чтобы регистрировать эти нажатия, приходится одновременно с этим, например, двигать мышкой по экран, что является очень неудобным (и вообще бред).

без фанатизма и как временное решение,

можно в таймере и ChartEvent опрашивать:

#include <winapi/winuser.mqh>

short GetAsyncKeyState(VK_RBUTTON); // VK_LBUTTON, VK_...

// или

bool  GetKeyboardState(uchar &state[]); // кстати в mqh прототип неверный. нужен массив - 256

https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getasynckeystate

GetAsyncKeyState function (winuser.h) - Win32 apps
GetAsyncKeyState function (winuser.h) - Win32 apps
  • 2022.08.04
  • jwmsft
  • learn.microsoft.com
Determines whether a key is up or down at the time the function is called, and whether the key was pressed after a previous call to GetAsyncKeyState.