Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Can you please answer 1 last question? What is faster, shifting left/right or shifting up/down? Thanks again.
Сдвиг вниз-вверх немного быстрее чем влево-вправо. Весь сдвиг занимает примерно 0.3 милисекунды (1/3000 секунды) на среднем компьютере стандартного окна FullHD экрана.
Shift up and down is slightly faster than left and right. The entire shift takes about 0.3 milliseconds (1/3000 of a second) on an average computer of a standard FullHD window.
Сдвиг вниз-вверх немного быстрее чем влево-вправо. Весь сдвиг занимает примерно 0.3 милисекунды (1/3000 секунды) на среднем компьютере стандартного окна FullHD экрана.
Shift up and down is slightly faster than left and right. The entire shift takes about 0.3 milliseconds (1/3000 of a second) on an average computer of a standard FullHD window.
Thank you.
Несколько раз получил тут деление на 0, но после перезапуска терминала не воспроизводится )
Несколько раз получил тут деление на 0, но после перезапуска терминала не воспроизводится )
странно, у меня такого не было.
ну тогда замените пока так:
хотя нет, лучше так:
К сожалению не могу обновить версию в КБ. Что-то в очередной раз поломали.Было бы интересно увидеть универсальное решение с 4к и 8к мониторами.
К примеру, рисуем прямоугольник, на нём две кнопки и два поля ввода. Кнопки соответственно объектами в пикселях.
Раз в пикселях, значит всё уменьшится в 2 раза на 4к разрешении, кроме полей ввода.
А вот если автоматически переводить всё полотно канваса x2, то при любом разрешении экрана всё будет выглядеть и как на обычном мониторе.
Ещё может быть проблема в том, что некоторые пользователи лезут в настройки виндоус и увеличивают шрифт (что увеличивает стандартное поле ввода).
Отсюда возникает ещё более универсальное решение изменять пикселизацию листа канваса со множителем, зависимым от размера шрифта.
Главное условие - рисование, как на обычном full HD мониторе с привычными размерами в пикселях. Ищется решение:
1. Изменение масштаба листа строго x2 (при 4к), x4 (при 8к)
2. Изменение масштаба листа с динамичным множителем, привязанным к размеру шрифта
Для чего? Для дэшбордов, торговых панелей и прочего, что рисуется объектами в пикселях.
Было бы интересно увидеть универсальное решение с 4к и 8к мониторами.
К примеру, рисуем прямоугольник, на нём две кнопки и два поля ввода. Кнопки соответственно объектами в пикселях.
Раз в пикселях, значит всё уменьшится в 2 раза на 4к разрешении, кроме полей ввода.
А вот если автоматически переводить всё полотно канваса x2, то при любом разрешении экрана всё будет выглядеть и как на обычном мониторе.
Ещё может быть проблема в том, что некоторые пользователи лезут в настройки виндоус и увеличивают шрифт (что увеличивает стандартное поле ввода).
Отсюда возникает ещё более универсальное решение изменять пикселизацию листа канваса со множителем, зависимым от размера шрифта.
Главное условие - рисование, как на обычном full HD мониторе с привычными размерами в пикселях. Ищется решение:
1. Изменение масштаба листа строго x2 (при 4к), x4 (при 8к)
2. Изменение масштаба листа с динамичным множителем, привязанным к размеру шрифта
Для чего? Для дэшбордов, торговых панелей и прочего, что рисуется объектами в пикселях.
Ключ к решению это TERMINAL_SCREEN_DPI.
Да, в поиске потом нашёл. Спасибо. Тут есть пример - https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus
Доброго времени, коллеги!
А чего у меня не работает код ниже? Для примера хотел нарисовать кружки над барами у которых определенные условия.
void OnTimer()
{
Canvas.Erase(0x00FFFFFF);
for(int i = 0; i < 100 ; i++)
{
if(iClose(_Symbol, PERIOD_CURRENT, i + 1) > iClose(_Symbol, PERIOD_CURRENT, i + 2))
{
Canvas.Circle((int)_X(Canvas.Bar(i + 1)), (int)_Y(Canvas.Price(iClose(_Symbol, PERIOD_CURRENT, i + 1))), 5, 0x88ff9999);
}
}
Canvas.Update();
}
Доброго времени, коллеги!
А чего у меня не работает код ниже? Для примера хотел нарисовать кружки над барами у которых определенные условия.
void OnTimer()
{
Canvas.Erase(0x00FFFFFF);
for(int i = 0; i < 100 ; i++)
{
if(iClose(_Symbol, PERIOD_CURRENT, i + 1) > iClose(_Symbol, PERIOD_CURRENT, i + 2))
{
Canvas.Circle((int)_X(Canvas.Bar(i + 1)), (int)_Y(Canvas.Price(iClose(_Symbol, PERIOD_CURRENT, i + 1))), 5, 0x88ff9999);
}
}
Canvas.Update();
}
Доброго времени, коллеги!
А чего у меня не работает код ниже? Для примера хотел нарисовать кружки над барами у которых определенные условия.
добрался до компьютера: