Ошибки, баги, вопросы - страница 2502
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пока не смог до конца понять.
Не от порядка полей, а от максимального и заданного значения pack() плюс зависит от последовательности полей.
Вот сейчас сделал ещё такой вариант
получилось выравнивание не до 16 как указано в pack(), а до 8 по максимальному double.
плюс зависит от последовательности полей.
проверил, действительно зависит:
Ваш пример выдал sizeof(A) = 24Так с этого и началось данное обсуждение. Оказалось, что все совсем не так.
Да, я ошибся в описании алгоритма выравнивания и тем самым возможно внес еще больше сумятицы.
Итак
pack это механизм совместимости с внешними длл. в частности аналог с++ #pragma pack. и поэтому работать должен тоже аналогично.
дальше примеры с размерами (для pack 4)
char -> 1
short -> 2
int -> 4
long -> 8
char, short -> 4
char, int -> 8
char, long -> 12 (16 для pack(8))
short, char -> 4
long, char -> 12
long, char, short -> 12
long, char, char, char -> 12
long, char, int -> 16
long, char, int, char -> 20
по умолчанию у студии (да и везде наверное) стоит pack(8)Спасибо, понял.
На мой взгляд всё работает. Поскольку в вашем примере только один тип в структуре, то и выравнивать нет смысла.
Ошибаетесь, раотает неправильно. Смысл есть. Это баг. https://www.mql5.com/ru/forum/1111/page2498#comment_12349659
Здравствуйте. Подскажите, пожалуйста, в MT5 есть горячие клавиши для торговли? Я не нашел в инструкции. Если нет, то есть возможность это реализовать? Т.е. я нажал клавишу и открылся ордер, есть что-то подобное?
Ошибаетесь, раотает неправильно. Смысл есть. Это баг. https://www.mql5.com/ru/forum/1111/page2498#comment_12349659
Ну какой-же баг?
вы объявляете массив мз двух элементов по два байта и получаете как и должно бвть 4 байта. Где баг? В чём?
А вот это
выравнивается по 4 и 2 элемента будут занимать 2*8 байт.
Здравствуйте. Подскажите, пожалуйста, в MT5 есть горячие клавиши для торговли? Я не нашел в инструкции. Если нет, то есть возможность это реализовать? Т.е. я нажал клавишу и открылся ордер, есть что-то подобное?
Наступил кот на клавиатуру и наторговал за вас?
Сделайте сами - это не сложно.
Здравствуйте. Подскажите, пожалуйста, в MT5 есть горячие клавиши для торговли? Я не нашел в инструкции. Если нет, то есть возможность это реализовать? Т.е. я нажал клавишу и открылся ордер, есть что-то подобное?
Справка терминала: Горячие клавиши - Для продвинутых пользователей - Начало работы
Если нужно действие: "прям один раз нажал и открыли позицию" - тогда необходимо в терминале назначить сочетание клавиш для скрипта или советника (скрипт или советник необходимо или скачать или написать или заказать).
Наступил кот на клавиатуру и наторговал за вас?
Сделайте сами - это не сложно.