Баг: на графиках в подсказке над свечами значение Volume показывает без разделителя разрядов.
Соответствие Кодов клиента и Торговых счетов, Определение соответствия Кодов клиента и Торговых счетов
Пользователь
Сообщений: Регистрация: 30.05.2020
16.07.2021 07:26:35
Цитата
Roman Azarov написал: В виду данного нами ранее ответа
Цитата
написал: Технически может, но таких случаев в бою мы не встречали. Возможно и существует такая конфигурация, но надо у брокера выяснять и смотреть его настройки.
Однозначно сказать нельзя.
Другими словами в квике в общем случае нет однозначного соответствия торговый счет -> фирма? Но в форме ввода заявки нет идентификатора фирмы. Как же квик определяет, по какой фирме совершать сделку?
Соответствие Кодов клиента и Торговых счетов, Определение соответствия Кодов клиента и Торговых счетов
Пользователь
Сообщений: Регистрация: 30.05.2020
15.07.2021 22:58:29
Цитата
Roman Azarov написал: Функция ожидает на вход параметр firmid.
Не понял. Какая функция в моем коде ожидает?
Соответствие Кодов клиента и Торговых счетов, Определение соответствия Кодов клиента и Торговых счетов
Пользователь
Сообщений: Регистрация: 30.05.2020
15.07.2021 09:31:43
Будет ли корректно работать функция получения фьючерсных позиций без указания фирмы?
Код
function getFuturesHoldingEx(ACCOUNT, SEC_CODE, TYPE)
if TYPE == nil then TYPE = 0 end
local n = getNumberOf("futures_client_holding")
if n == 0 then return nil end
local index = SearchItems("futures_client_holding", 0, n-1, function (trdaccid, sec_code, type)
if sec_code == SEC_CODE and trdaccid == ACCOUNT and type == TYPE then
return nil
else return false end
end, "trdaccid,sec_code,type")
if index then
return getItem("futures_client_holding", index[1])
else return nil end
end
Аналогично по денежным и фондовым позициям?
Время ММВБ, Servertime не предлагать
Пользователь
Сообщений: Регистрация: 30.05.2020
24.06.2021 13:24:39
Цитата
Roman Azarov написал: "биржевые имена" и "формальные заголовки" это не одно и то же
В том-то и .
Соответствие Кодов клиента и Торговых счетов, Определение соответствия Кодов клиента и Торговых счетов
Пользователь
Сообщений: Регистрация: 30.05.2020
23.06.2021 10:01:55
Цитата
Egor Zaytsev написал: В связи с чем возник данный вопрос?
Для заданного кода клиента ид фирмы, определяется однозначно, например из таблицы "trade_accounts"?
Соответствие Кодов клиента и Торговых счетов, Определение соответствия Кодов клиента и Торговых счетов
Пользователь
Сообщений: Регистрация: 30.05.2020
23.06.2021 08:24:00
Торговому счету соответствует только ОДИН идентификатор фирмы или может быть НЕСКОЛЬКО ФИРМ для одного торгового счета?
написал: А как можно вывести по DDE параметры с биржевыми именами
Такая возможность отсутствует.
Так не надо давать нерабочих советов:
Цитата
Roman Azarov написал: Формальные заголовки всех прочих транслируемых (в ваш терминал) параметров ТТП можно посмотреть используя вывод по DDE.
Соответствие Кодов клиента и Торговых счетов, Определение соответствия Кодов клиента и Торговых счетов
Пользователь
Сообщений: Регистрация: 30.05.2020
21.06.2021 11:30:47
Здравствуйте. Торговому счету может соответствовать только один идентификатор фирмы?
Время ММВБ, Servertime не предлагать
Пользователь
Сообщений: Регистрация: 30.05.2020
20.06.2021 20:57:21
Цитата
Roman Azarov написал: Состояние сессии - TRADINGSTATUS
Странно, в описании шлюза:
state Состояние сессии Поле state может принимать следующие значения: 0 Сессия назначена. Нельзя ставить заявки, но можно удалять.
А в QUIK TRADINGSTATUS: 0.000000 = "закрыта"
Цитата
Roman Azarov написал: Формальные заголовки всех прочих транслируемых (в ваш терминал) параметров ТТП можно посмотреть используя вывод по DDE.
А как можно вывести по DDE параметры с биржевыми именами
Цитата
Незнайка написал: inter_cl_begin Время начала промежуточного клиринга inter_cl_end Время окончания промежуточного клиринга inter_cl_state Состояние промежуточного клиринга
?
Получение признака "Субординированный инструмент" в lua
Пользователь
Сообщений: Регистрация: 30.05.2020
17.06.2021 15:45:00
Цитата
Andrey Bezrukov написал: Вы можете обратиться к биржевым спецификациям
Ещё бы иметь список соответствий ключей QUIK <―> ТС
В таблицах после обновления не видны первые буквы тикеров в первой колонке, как исправить и есть ли формат таблиц?, В таблицах после обновления не видны первые буквы тикеров в первой колонке, как исправить и есть ли формат таблиц?
Пользователь
Сообщений: Регистрация: 30.05.2020
10.06.2021 11:01:05
Цитата
Roman Azarov написал: как Вы себе это представляете
Также, как была сделана эта ошибка.
Код
if (буквы первой колонки съехали за левый край) then (добавить к ширине колонки нужное количество пунктов слева) end
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
Пользователь
Сообщений: Регистрация: 30.05.2020
06.05.2021 13:03:22
Цитата
TGB написал: очередь реализована таким образом, что запись (из основного потока QUIK) и чтение (из потока main) в ней выполняется без синхронизации (никаких лишних переключений возможных при синхронизации)
Что имеется ввиду? Пока объект помещается в очередь (буквально - записывается значение в таблицу Lua) или читается из очереди, другой поток стоит. От переключений не ушли ))
Создание таблицы Quik
Пользователь
Сообщений: Регистрация: 30.05.2020
01.05.2021 13:26:03
Я - пользователь ПО, на форуме которого вы пишите. И высказываю своё мнение, что если кому-то одному не нравится существующая функциональность, то обычно пишут "добавить опциональную настройку".
Цитата
Евгений написал: при создании других (стандартных) таблиц Quik логика отображения строк с вашей логикой не совпадает
Это не моя логика. Стандартные таблицы Quik заполняются сверху вниз (Раздел 3. Просмотр информации).
Цитата
Евгений написал: самыми актуальными строками считаются верхние
Кем считаются? Пример такой стандартной таблицы?
Цитата
Евгений написал: Под созданием таблицы и добавлением строк я имею в виду создание таблицы при помощи Lua
Из первого сообщения это не очевидно. SetSelectedRow(id, 1) в помощь.
Создание таблицы Quik
Пользователь
Сообщений: Регистрация: 30.05.2020
01.05.2021 09:34:43
Цитата
Евгений написал: каретка вертикального скролл бокса всегда съезжает вниз
Что логично: самые актуальные строки находятся внизу.
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
Пользователь
Сообщений: Регистрация: 30.05.2020
24.04.2021 20:56:37
Цитата
Anton написал: Когда в мейне байткод выполняется, квик не залочен.
Байт-код в мейнах нескольких скриптов выполняется параллельно?
Отладка QUIK 8.13
Пользователь
Сообщений: Регистрация: 30.05.2020
23.04.2021 18:36:57
Цитата
Владимир написал: Вы решительно надоели своей назойливой тупостью. С Вами разговаривать не о чем, Ваша "квалификация" многократно подтверждена здесь Вами же.
Кто бы говорил. Есличё, в этом споре я ни за кого. Но афтару этих слов хочется ответить этими же словами в каждой ветке форума
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
Пользователь
Сообщений: Регистрация: 30.05.2020
11.04.2021 14:35:10
Цитата
TGB написал: Дело в том, что цикл вида: = .. при большом количестве повторений (а я предполагаю что это может быть) в Lua заметно нагружает управление памятью.
Ваши слова заставили задуматься. Что такое "нагружает управление памятью" я не понял. Но убедился, что при большом количестве склеиваемых строк (от нескольких десятков и выше) выгоднее (в плане скорости) все строки загнать в таблицу, а затем склеить в одну с помощью table.concat. При огромном количестве строк (более 100) скорость склейки в цикле существенно падает (нелинейно). Правда, не знаю, для каких практических задач может потребоваться склейка огромного количества строк. Например, для сделок используется ~73 параметров, и запись в одну строку из массива строк с помощью table.concat всего лишь процентов на 10% быстрее, чем в цикле.
На выходе вместо Lua-таблицы получается какая-то нечитаемая "каша". Странный выбор... или у нас разное понимание понятия "сереализация". Чем обусловлен выбор такого формата? Он ведь труден для восприятия.
Цитата
Нормальные герои всегда идут в обход
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
Пользователь
Сообщений: Регистрация: 30.05.2020
11.04.2021 09:58:46
Цитата
TGB написал: 4) Сбор (быстрый) строки из массива строк: m_str_to_str_fast
Для этих целей table.concat есть.
Размер лота
Пользователь
Сообщений: Регистрация: 30.05.2020
02.04.2021 23:59:20
Не то написал. Хотел спросить: есть ли классы, где можно в заявке указывать нецелое количество лотов? (Не путать с классом неполных лотов)
Размер лота
Пользователь
Сообщений: Регистрация: 30.05.2020
02.04.2021 12:22:48
Всегда ли размер лота - целое число?
Ошибка создания заявки. [GW][32] "Цена сделки вне лимита"
Может, с тем, что на опционах границы Макс./Мин. возм.цена постоянно меняются?
Добавить в CreateDataSource():SetUpdateCallback() аргумент, указывающий на DataSource
Пользователь
Сообщений: Регистрация: 30.05.2020
26.03.2021 09:01:10
Из-за флуда пожелание так и не заметили.
Цитата
Артем написал: Колбек указывает только на порядковый номер обновлённой свечки в источнике данных, но не указывает к какому источнику данных она принадлежит.
Цитата
Артем написал: Гораздо лучше когда можно объявить колбек и отправлять его в датасорс, и при вызове он сам объявит к какому датасорсу он принадлежит.
Тут реально упущение разработчика.
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
Пользователь
Сообщений: Регистрация: 30.05.2020
25.03.2021 13:30:32
Цитата
Владимир написал: дайте юзеру возможность САМОМУ определять тип данных
Это в Lua есть.
Цитата
Владимир написал: Добрая половина проблем тут же снимется.
Только не в вашем случае. Ещё Крылов написал басню, про таких:
Код
К несчастью, то ж бывает у людей:
Как ни полезна вещь, — цены не зная ей,
Невежда про нее свой толк все к худу клонит;
А ежели невежда познатней,
Так он ее еще и гонит.
Событие получения данных всех таблиц и графиков после подключения к серверу
Пользователь
Сообщений: Регистрация: 30.05.2020
25.03.2021 10:19:04
Именно поэтому решения
Цитата
Артем написал: есть определённый список таблиц, без данных из которых невозможно начать автоматическую торговлю. Вот их и ждём.
или
Цитата
swerg написал: экспериментально установить, что через 5 минут после подключения и/или через 5 минут после начала торговой сессии - данные в терминале на нашем компьютере и нашем интернете - точно актуальные
ненадёжные. Есть множество факторов, от которых зависит продолжительность загрузки данных, о многих мы и не подозреваем даже. Ну получили вы 100500 строк в таблице спустя 5 мин. И что? Это все или еще не все?
Отладка QUIK 8.12
Пользователь
Сообщений: Регистрация: 30.05.2020
21.03.2021 11:17:52
Цитата
Владимир написал: никакая зависимость не может приводить к глюку, когда в таблице вдруг пропадает текст.
Проще на всех форумах кричать, что "язык плохой", "глюк в ПО", чем признать свою "криворукость", найти свою ошибку и исправить.
Добавить в вывод GetParamEx() поле с указанием времени последнего обновления
Пользователь
Сообщений: Регистрация: 30.05.2020
19.03.2021 11:22:42
Я про параметр CHANGETIME
Добавить в вывод GetParamEx() поле с указанием времени последнего обновления
Пользователь
Сообщений: Регистрация: 30.05.2020
19.03.2021 09:28:07
Параметр "Время последнего изменения" - это время изменения чего? Транслируется биржей? Время по чьим часам?
Время ММВБ, Servertime не предлагать
Пользователь
Сообщений: Регистрация: 30.05.2020
19.03.2021 09:23:11
Roman Azarov, я про замену инструментов не писал. QUIK врёт, что SiH1 торгуется. Даже сейчас. У всех брокеров. И у вас на демо.
Время ММВБ, Servertime не предлагать
Пользователь
Сообщений: Регистрация: 30.05.2020
18.03.2021 14:42:38
Ну вот QUIK опять врёт: торги по инструменту завершены, а он говорит, что сейчас "торгуется" и до 23:50
Событие получения данных всех таблиц и графиков после подключения к серверу
Пользователь
Сообщений: Регистрация: 30.05.2020
18.03.2021 09:33:25
Цитата
Артем написал: не ждать заполнения таблиц которые однозначно будут пустыми
Как это в коде заранее запрограммировать? Тут подразумевается, что пользователь пишет скрипт для автоматизированной торговли, не с тем, чтобы потом подсказывать ему: "тут ждать, тут не ждать".
Событие получения данных всех таблиц и графиков после подключения к серверу
Пользователь
Сообщений: Регистрация: 30.05.2020
18.03.2021 08:43:30
Сделок нет, потому что ждем, когда таблицы заполнятся. А таблица сделок не заполняется, потому что мы не торгуем, спим. Нормально чё, курим бамбук, Артем сказал спать: "пока спишь, данные с сервера сами приходят".
Артем, подсказка: чтобы в таблице появилась сделка, надо ее совершить. По другому она ну никак не появится, хоть ты год жди.
Пожелания по развитию форума
Пользователь
Сообщений: Регистрация: 30.05.2020
18.03.2021 00:01:41
Готов за скромную плату модерировать ваш форум. А то он превратился в какую-то помойку. Вроде, уважаемая организация... в сфере IT даже, а форум, как в школьной локалке. В каждой второй теме визги, какой язык лучший, и старпёры "уважаемые" программисты меряются пись, кто здесь "эксперт в Lua".
Предложения по оплате пишите в личку.
Событие получения данных всех таблиц и графиков после подключения к серверу
Пользователь
Сообщений: Регистрация: 30.05.2020
17.03.2021 23:29:13
Цитата
Артем написал: Пока в нём спишь, данные с сервера приходят
Так как же сделки будут, коль вы спите и не торгуете? Замкнутый круг получается. ТС и спрашивает, когда уже можно просыпаться?
Событие получения данных всех таблиц и графиков после подключения к серверу
Пользователь
Сообщений: Регистрация: 30.05.2020
17.03.2021 12:47:22
Цитата
Артем написал: Можно проверять объём строк в таблицах и спать пока он равен нулевому.
Так во многих таблицах количество строк и будет нулевым, пока вы спите. Откуда, например, взяться заявкам, сделкам, позициям по фьючерсам etc., если вы спите?
Надо спросить автора функции getNumberOf. Уж он-то должен знать.
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
Пользователь
Сообщений: Регистрация: 30.05.2020
15.03.2021 23:14:10
Сидят в песочнице зверята и хвастаютя: "Я дальше всех умею прыгать", - говорит Зайчонок. "А я быстрее всех бегаю в колесе", - говорит Бельчонок. Медвежонок слушал-слушал и говорит: "А я…, а у меня… А я вам щас всем пи[цензура] дам!"
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
Пользователь
Сообщений: Регистрация: 30.05.2020
14.03.2021 15:25:26
Цитата
TGB написал: Дело в том, что цикл вида: <строка1> = <строка1> .. <добавляемая строка> при большом количестве повторений (а я предполагаю что это может быть) в Lua заметно нагружает управление памятью.
В чём это выражается?
Цитата
TGB написал: Вы же можете получать свою строку следующим образом: local str = "" for k,v in next, dump_tbl (<Параметры>) do str = str .. v end или модифицировать код функции dump_tbl.
И там и там конкатенация строк. В чём профит?
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
Пользователь
Сообщений: Регистрация: 30.05.2020
14.03.2021 11:41:27
Цитата
TGB написал: Комментариев обсуждения функции cоздания последовательности ключей я насчитал более двадцати. Это одна из самых простых функций из списка API OS_Quesha
Ставить дополнительную библиотеку только лишь для создания уникальных ключей - не лучшее решение.
Цитата
TGB написал: 1. Запрос последовательности ключей (number): Cl_LuaGL () Результат функции: number - глобальный ключ системы формата: <Номер запус- ка/перезапуска системы >(старшие, оставшиеся разряды, начиная с 6-го )<Счетчик запросов ключей после запуска/перезапуска системы>(6 десятичных разрядов)
<Номер запуска/перезапуска системы > сохраняется в каком-то файле на диске? Тогда такой вариант можно и без библиотеки сделать. Прочитать из файла последнее значение, увеличить на 1:
Код
local LaunchNumber = (file:read("*n") or 0) + 1
Сохранить новое значение в файл. И далее использовать, например:
TGB написал: Примером простой (классическая задача на рекурсию), но, наверное, полезной функции из раздела 10 является универсальная функция печати переменных dump_str.
Преобразование одной таблицы в другую... Сомнительная польза.
Цитата
TGB написал: функцию dump_str можно вызвать в любой момент для любой глобальной переменной скрипта с тем, чтобы распечатать ее с выдачей в журнал отладки.
Может, лучше сразу распечатать таблицу в виде строки, без конвертации в другую таблицу?
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
local trans_id_start = os.time () - 1546290000
local trans_id = trans_id_start + getUniqTransID()
Вот так ID должны быть уникальны, независимо от количества запущенных роботов.
Наврал. Надо доработать алгоритм.
Цитата
Игорь Б написал: Я уникальность обеспечиваю фиксированием момента времени включения скрипта, а не совершения транзакции. А уже дальше, если в скрипте есть сделка, то как обычно, к полученному случайному числу +1.
У разных скриптов не получатся одинаковые ID?
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
Пользователь
Сообщений: Регистрация: 30.05.2020
13.03.2021 14:43:19
Цитата
Nikolay написал: Обычно делают номер как unix_time + mcs*1000.
Откуда mcs берёте? В os.sysdate() в Windows меняются только миллисекунды. mcs в пределах 1-15 мс (в зависимости от кванта) будут одинаковы.
Можно использовать недокументированную функцию getUniqTransID(). Она даёт счётчик от 1, но при перезапуске квика счётчик сбрасывается.
Код
local trans_id_start = os.time() - 1546290000
local trans_id = trans_id_start + getUniqTransID()
Вот так ID должны быть уникальны, независимо от количества запущенных роботов.
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
Пользователь
Сообщений: Регистрация: 30.05.2020
13.03.2021 13:45:44
Цитата
BlaZed написал: Расчет на 10 одновременно работающих роботов, у каждого робота свой robot_id от 0 до 9
Есть идеи, как сделать уникальный trans_id в разных роботах без необходимости задавать свой диапазон (robot_id) внутри каждого робота (или их копий)? Вместо trans_id_count можно использовать миллисекунды из os.sysdate(). Но
Цитата
Nikolay написал: вероятность отправки транзакции двумя скриптами одновременно есть.
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
Пользователь
Сообщений: Регистрация: 30.05.2020
12.03.2021 15:40:40
Цитата
Nikolay написал: Я слабо себе могу представить разработчика, использующего библиотеки без исходных кодов.
qlua.dll без исходников предлагается
Графики объема и изменение лотности, Изменении лотности по инструменту приводит к невозможности нормального анализа
Пользователь
Сообщений: Регистрация: 30.05.2020
05.03.2021 12:41:24
Цитата
Kander написал: дать возможность выбора в настройках приложения - Лоты/Валюта
Штуки/Лоты/Валюта?
Тэйк-профит: старые песни о защитном спрэде, Возможные сюрпризы при совершении сделки по тэйк-профиту
Пользователь
Сообщений: Регистрация: 30.05.2020
04.03.2021 23:39:29
Цитата
Цитата
написал: Исполнится, когда цена откатится от очередного пика.
Объясните мне, как заявка исполнится, если цена пойдёт в обратную от заявки сторону?
Такое возможно, если как вы написали, лимитник будет "подтягиваться за ценой", т.е. догонять рынок. Но такой трейл только ухудшает цену, нет?
Тэйк-профит: старые песни о защитном спрэде, Возможные сюрпризы при совершении сделки по тэйк-профиту
Пользователь
Сообщений: Регистрация: 30.05.2020
04.03.2021 23:27:41
В дополнение к предыдущему сообщению: я не понимаю как можно сделать трейл именно биржевой заявкой
Цитата
Anton написал: чтобы лимитник провисел пару часов, двигаясь на каждый аптик
Т.е., физически такой алгоритм реализовать можно. Но полезность его вызывает сомнения. При таком подходе
Цитата
Незнайка написал: подтягиваться за ценой, когда та растет
цена исполнения будет ухудшаться.
Тэйк-профит: старые песни о защитном спрэде, Возможные сюрпризы при совершении сделки по тэйк-профиту
написал: По задумке подтягиваться за ценой , когда та растет, и стоять на месте, когда не растет. Исполнится, когда цена откатится от очередного пика.
Это трейл-стоп-лимит так должен работать.
Я не верно написал. Стоп-лимит также не может быть трейл. Еесли мы говорим о лимитной заявке, которая сразу выставляется на биржу, иначе, при чём здесь штраф за бесполезное выставление заявок?
Или я чего-то не понимаю.
Цитата
Anton написал: Исполнится, когда цена откатится от очередного пика.
Объясните мне, как заявка исполнится, если цена пойдёт в обратную от заявки сторону?
Тэйк-профит: старые песни о защитном спрэде, Возможные сюрпризы при совершении сделки по тэйк-профиту
Пользователь
Сообщений: Регистрация: 30.05.2020
04.03.2021 19:58:14
Цитата
Anton написал: По задумке подтягиваться за ценой, когда та растет, и стоять на месте, когда не растет. Исполнится, когда цена откатится от очередного пика.
Это трейл-стоп-лимит так должен работать. Тейк-профит же исполняется против рынка.
Тэйк-профит: старые песни о защитном спрэде, Возможные сюрпризы при совершении сделки по тэйк-профиту
написал: да хоть просто сделай новый тип заявки и назови его трэйл-профит и сделай его как выставляемую по условию достижения профит цены обычную лимитку у которой потом при движении рынка в нужную сторону динамически меняется лимит. и все проблемы будут решены
Есть . Юзер выставит такой трейл с большим отступом, через пару часов после активации брокер влетает на штраф, кто его оплачивать будет?
А в чём смысл заявки? Постоянно убегать от текущей цены? А исполниться она когда должна?
Графики объема и изменение лотности, Изменении лотности по инструменту приводит к невозможности нормального анализа
Пользователь
Сообщений: Регистрация: 30.05.2020
04.03.2021 08:30:04
Цитата
Egor Zaytsev написал: Пока рассмотрим в разрезе валюты.
Тогда объём будет меняться с курсовой стоимостью актива.
Цитата
Anton написал: много стороннего софта имеет 32-битные поля объема, много народу вляпается в проблемы
С валютой тоже вляпаются, если там int. И с индикаторами, использующими объёмы тоже могут быть проблемы.