Можно ли узнать, что скрипт qlua не дополучает инфо по onalltrade/onquote?
Пользователь
Сообщений: Регистрация: 27.12.2022
09.02.2024 22:48:46
Хм, а я как-то не обращал внимание на эти функции. Тогда выходит, что можно не загружать ЦП коллбэком OnAllTrade, если всё это можно брать напрямую из таблицы all_trades?
Хочу ещё уточнить, как узнавать направление сделки по флагам, описание на неясное:
=== Набор битовых флагов Параметр Тип Описание бит 0 (0x1) - Сделка на продажу бит 1 (0x2) - Сделка на покупку ===
Такое чувство, что я всё время неправильно определяю направление (buy или sell). Я считал, что если младший бит = 0, то buy, а если младший бит = 1, то sell.
А из этого объяснения вроде бы следует, что если мл. бит = 1, то это sell, а если следующий за младшим битом бит = 1, то это buy, так? Вроде бы можно было обойтись одним мл. битом...
Можно ли узнать, что скрипт qlua не дополучает инфо по onalltrade/onquote?
Пользователь
Сообщений: Регистрация: 27.12.2022
09.02.2024 18:46:08
Насколько я понял, размер таблицы обезл. сделок можно получить через
Код
getNumberOf('all_trades')
А как скрипту прочитать эту таблицу? По-моему, никак...
os.execute с правами админа
Пользователь
Сообщений: Регистрация: 27.12.2022
09.02.2024 17:12:35
Интуитивно ясно, что она не должна уметь включать права админа (откуда ей знать его пароль?) Хотя, на стр. что-то такое сказано:
=== Комментарии Вызывающий процесс должен иметь привилегию SE_SYSTEMTIME_NAME. Эта привилегия отключена по умолчанию. Функция SetLocalTime включает привилегию SE_SYSTEMTIME_NAME перед изменением местного времени и отключает привилегию перед возвратом. ===
Я сейчас запустил её из Фара, который запущен не с правами админа, SetLocalTime возвращает 0 (ошибка) и время не меняет...
Вопросы к спецам по Lua и Lua C API
Пользователь
Сообщений: Регистрация: 27.12.2022
09.02.2024 16:44:02
1. Будет ли утечка памяти, если C dll при работе со стеком Lua не будет вызывать lua_pop? Ведь сказано, что Lua при каждом вызове подпрограммы из C dll создаёт этот стек заново.
2. Решит ли проблему с возможной утечкой памяти, если не вызывать lua_pop, а в конце работы со стеком вызвать lua_settop(0)? Я думаю, что решит, т.к. lua_pop это макрос, который вызывает lua_settop.
3. Я попытался увидеть сборку мусора и написал такой код:
Код
function main()
s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
local s1 = '' .. collectgarbage("count") .. '\n'
s = nil
s1 = s1 .. collectgarbage("count") .. '\n'
collectgarbage("collect")
sleep(10000)
s1 = s1 .. collectgarbage("count") .. '\n'
message(s1)
end
Получил такой вывод:
37.5439453125 37.619140625 36.046875
Видно, что памяти освободилось меньше, чем занимала строка s. Как это объяснить?
os.execute с правами админа
Пользователь
Сообщений: Регистрация: 27.12.2022
09.02.2024 14:16:43
Цитата
nikolz написал: Интересно, как Вы собираетесь изменять системные часы?
Меняю время через Win API SetLocalTime.
Можно ли узнать, что скрипт qlua не дополучает инфо по onalltrade/onquote?
Пользователь
Сообщений: Регистрация: 27.12.2022
09.02.2024 14:12:52
Я как-то заказал в Квике отчёт по всем заявкам или сделкам клиента за день, Квик задумался на 10 сек., а потом в файле, куда скрипт писал обезличенные сделки/содержимое стаканов за эти 10 сек. не было записей.
Можно ли узнать, что скрипт qlua не дополучает инфо по onalltrade/onquote?
Пользователь
Сообщений: Регистрация: 27.12.2022
09.02.2024 12:51:37
Если скрипт в коллбэке как-то притормаживает, то теряются эти сообщения. Неужели в Квике нет очереди, чтобы их не терять? Есть ли гарантированное время (скажем, 5 мс), что если коллбэк в него вписывается, то потерь данных гарантированно не будет? (Думаю, что его нет, т.к. интенсивность вызова коллбэка может быть высокой.) А если они были, можно ли как-то об этом узнать?
Сегодня был бардак в стаканах
Пользователь
Сообщений: Регистрация: 27.12.2022
09.02.2024 12:43:36
Между 9:50 и 10:00 наблюдал по одной акции то, что ещё не видел: в стакане не показывалась моя заявка на продажу и не было также строчки с ценой по этой заявке, но в таблице заявок она показывалась. Через некоторое время все заявки на продажу почему-то имели цену ниже всех заявок на покупку (строки с зелёным фоном были вверху, а с красным внизу), поэтому, чтобы увидеть привычный вид стакана, надо было встать на голову! И у всех заявок на покупку (или почти у всех) количество было в 1 акцию. И только в 10:00 (в начале торгов) содержимое стакана стало нормальным.
Кто-то ещё видел сегодня подобное? Это был сбой на бирже или в брокерском Квике?
os.execute с правами админа
Пользователь
Сообщений: Регистрация: 27.12.2022
09.02.2024 12:20:40
Ксати, powershell это делает: start-process "C:\Program Files\Far Manager\Far.exe" -verb runas Причём, винда не спрашивает подтверждения разрешений для Фара, как она это делает при таком запуске с пом. иконки. Но неудобно запускать powershell и вводить команду...
os.execute с правами админа
Пользователь
Сообщений: Регистрация: 27.12.2022
09.02.2024 12:13:13
Я также смотрел, как запусить из командной строки. Есть для этого в винде runas /user:admin, но она просит пароль админа, даже если он не установлен. Т.е. хочешь не хочешь, а надо дать админу пароль. Но ведь винда из ярлыка как-то запускает программу с правами админа, не спрашивая пароля. По идее, должна быть такая возможность в командной строке, может, кто-то знает, как?
os.execute с правами админа
Пользователь
Сообщений: Регистрация: 27.12.2022
08.02.2024 12:15:58
1. Как можно (если можно) вызвать из qlua ехе программку с правами админа, напр., чтобы скорректировать часы ПК? А если эта программка сидит в dll, то тогда как? Видимо, можно как-то повысить права вызываемой программы?
2. Верно ли, что с ключом /nowait можно вызывать программы так, чтобы вызывающая программа продолжала работать и не ждала завершения вызываемой программы?
Как исправить ошибки после зависания?
Пользователь
Сообщений: Регистрация: 27.12.2022
07.02.2024 14:36:47
Это некорректно из-за записей/удалений ключей в реестре... Видно, придётся поставить Квик на другой ПК и сравнить файлы оттуда с моими...
Как исправить ошибки после зависания?
Пользователь
Сообщений: Регистрация: 27.12.2022
07.02.2024 10:12:43
Можно брать только у моего брокера, т.к. она настроена у него только на работу через этого брокера и для его клиентов использование Квика бесплатно. Но у брокера нет версии в зипе, а есть только установщик в ехе...
Как исправить ошибки после зависания?
Пользователь
Сообщений: Регистрация: 27.12.2022
06.02.2024 12:58:31
Или можно переставить Квик поверх того, что стоИт, и он продолжит нормально работать? Откуда брать свежий дистрибутив, с сайта брокера, или где-то у производителя?
Как исправить ошибки после зависания?
Пользователь
Сообщений: Регистрация: 27.12.2022
06.02.2024 12:30:07
Не надо писать ерунду, разумеется, я перезагружал... А то, что микрософты пишут, что их NTFS ведёт журнал и при загрузке винды исправляет транзакции при зависании (синем экране), это тоже ерунда. Я давно ещё на вин хр видел, что после синего экрана винда не исправила попорченный файл ярлыка, имя ярлыка стало короче и его папка не открывалась. А после прогона scandisk имя ярлыка восстановилось и его папка стала рабочей.
Поэтому моё сообщение остаётся в силе: где взять последние версии исполняемых файлов Квика?
Как исправить ошибки после зависания?
Пользователь
Сообщений: Регистрация: 27.12.2022
06.02.2024 10:22:26
Сегодня загрузил Квик, в меню Сервисы опять увидел левые иконки слева от строк меню. Перезагрузил Квик - иконки исчезли. Такое ощущение, что где-то подпортились файлы. Это сам info.exe или какие-то ещё?
Как можно обновить этот info.exe, dll и другие исполняемые файлы? Почему никто не ответил?
Пожелание по 1. OnQuote и 2. getQuoteLevel2
Пользователь
Сообщений: Регистрация: 27.12.2022
02.02.2024 19:35:21
Спасибо, попробовал по одному инструменту выставить глубину стакана в 1 и у себя в файлике, куда записывается выдача getQuoteLevel2, не обнаружил две одинаковых записи, идущие подряд. Но как попроще убедиться, что при изменении цены или количества вне этого диапазона не вызывается OnQuote? Ведь почти всегда меняется цена/значение в заявках по лучшей цене покупки и продажи...
Как исправить ошибки после зависания?
Пользователь
Сообщений: Регистрация: 27.12.2022
02.02.2024 13:57:56
Вчера в результате экспериментов с моим скриптом Квик завис и его пришлось снять с выполнения (виндовс крутила курсор в виде голубого бублика и предложила снять или ждать отклика). Вчера и сегодня по этой причине наблюдались такие явления, как появление в выпадающем меню "Сервисы/Lua скрипты..." в этой строчке слева какой-то иконки (потом она исчезла), потом вдруг в стаканах и в меню поиска в текстовых полях фон из чёрного стал белым. Программа работает, но, похоже, какие-то файлы подпортились. Я ещё вчера запускал chkdsk/f на диск C:, не помогло... Есть в Квике какое-то средство проверки целостности данных?
Пожелание по 1. OnQuote и 2. getQuoteLevel2
Пользователь
Сообщений: Регистрация: 27.12.2022
01.02.2024 14:13:53
Я немного, может, поспешил: здесь надо учитывать, по каким классам и тикерам этот кто-то хочет какие-то ограничения.
Пожелание по 1. OnQuote и 2. getQuoteLevel2
Пользователь
Сообщений: Регистрация: 27.12.2022
01.02.2024 14:09:23
1-я вызывается даже чаще, чем происходят сделки, хотя, часто не несёт нужной информации. Предположим, что кого-то интересует только количество и лучшая цена на покупку. Иногда роботы-прилипалы и прочая чушь играет с выставлением заявок и весь этот мусор загружает программу. А из 1-й вызывается 2-я, в которой иногда идёт запись на диск.
Предлагаю сделать так, чтобы можно было задать количество значений цен на покупку от лучшей цены и ниже и отдельно, соотвественно, количество цен на продажу в стакане от лучшей цены и выше. И если были изменения вне этих диапазонов, не вызывать 1-ю.
Более быстрый перебор ключ - значение в таблице
Пользователь
Сообщений: Регистрация: 27.12.2022
29.01.2024 00:08:27
Старый lobject.h попался, вот для Lua 5.4:
Более быстрый перебор ключ - значение в таблице
Пользователь
Сообщений: Регистрация: 27.12.2022
28.01.2024 23:57:28
Вот загадочное и интересное сообщение: См. также typedef struct Table в Можно ли как-то получить адрес этой структуры таблицы в программе на Lua и C, чтобы, скажем, напрямую читать *array; /* array part */ ? Т.е. в случае C минуя rawgeti и стек Lua?
Более быстрый перебор ключ - значение в таблице
Пользователь
Сообщений: Регистрация: 27.12.2022
27.01.2024 01:12:09
Т.к. экономия происходит за счёт вызова функции pairs, которая в цикле вызывается лишь 1 раз.
Более быстрый перебор ключ - значение в таблице
Пользователь
Сообщений: Регистрация: 27.12.2022
27.01.2024 01:08:14
Прверял на таблице из 10-ти элементов. Если элементов будет больше, думаю, выигрыш во времени будет меньше.
Более быстрый перебор ключ - значение в таблице
Пользователь
Сообщений: Регистрация: 27.12.2022
27.01.2024 01:04:36
Сейчас обнаружил, что перебор в форме
Код
for key, val in next, t do
local k = key
local v=val
end
Работает ~ на 10% быстрее, чем в распространённой форме
Код
for key, val in pairs(t) do
local k = key
local v=val
end
Схема торговой программы
Пользователь
Сообщений: Регистрация: 27.12.2022
18.01.2024 14:34:55
Кто-то может рассказать об удачной схеме работы торговой программы (без дорогих сердцу торговых стратегий), чтобы потом не переделывать своё изобретение? Я пока не знаю, как это всё в сумме организовывать и с какой стороны подходить... Торговать лучше по индикаторам или как-то ещё?
Lua таблицу в файл и обратно
Пользователь
Сообщений: Регистрация: 27.12.2022
16.01.2024 18:54:49
Что ты на меня бочку покатил? С Владимир спутал? Я похвалил твой пример.
Cкорость обмена данными через файлы
Пользователь
Сообщений: Регистрация: 27.12.2022
16.01.2024 13:28:55
А если диск виртуальный, то как по сравнению с маппинг филес?
Lua таблицу в файл и обратно
Пользователь
Сообщений: Регистрация: 27.12.2022
15.01.2024 23:34:13
Гениально, шеф (С). Здесь я увидел, кажется, то же самое, но длиннее: bot4sale.ru/blog-menu/qlua/300-table-tostring.html
Рассчитать текущую цену от ММ на начало торгов
Пользователь
Сообщений: Регистрация: 27.12.2022
15.01.2024 12:13:15
На этапе выставления заявок (напр., с 9:50 по 9:56) скрипт ММ смотрит на них и устанавливает текущую цену так, чтобы было совершено наибольшее число сделок. Можно ли как-то скриптом на Луа вычислить эту цену по информации о заявках в стакане, чтобы вовремя в неё встать? Есть ли такой алгоритм?
Примеры dll на GCC 64 для работы со скриптом
Пользователь
Сообщений: Регистрация: 27.12.2022
08.01.2024 20:40:37
Это не то: GetSystemTimePreciseAsFileTime выдаёт время в UTC (число 100 нс интервалов с 1 января 1601 г. по текущее время). Теперь надо получить из него часы, минуты, секунды и микросекунды с десятыми с часами для локального времени. Я уже почти написал программку для этого перевода, но вроде бы должна быть готовая в какой-нибудь библиотеке для Си...
Примеры dll на GCC 64 для работы со скриптом
Пользователь
Сообщений: Регистрация: 27.12.2022
08.01.2024 18:24:27
А как мне в Си перевести вывод функции GetSystemTimePreciseAsFileTime в часы, минуты, секунды и микросекунды?
Примеры dll на GCC 64 для работы со скриптом
Пользователь
Сообщений: Регистрация: 27.12.2022
08.01.2024 18:15:26
Спасибо, интересная информация.
Скрипт оповещения значения спреда между двумя инструментами
Пользователь
Сообщений: Регистрация: 27.12.2022
05.01.2024 10:34:27
См. на luaq.ru: Функции для получения значений Таблицы текущих торгов getParamEx getParamEx2 Здесь на форуме публиковались параметры для этих функций.
Функции обратного вызова OnParam
Что-то сделать скрипт может, запустив внешнюю программу через os.execute. Вот здесь хороший справочник по функциям: gammon.com.au/scripts/doc.php
Мой робот
Пользователь
Сообщений: Регистрация: 27.12.2022
04.01.2024 22:15:40
По картинке робота я не смог понять, насколько он прибылен...
Мой робот
Пользователь
Сообщений: Регистрация: 27.12.2022
04.01.2024 18:41:04
А что конкретно даёт эта OnParam? Я сейчас глянул и не понял, как узнать, какие параметры изменились? Их же вагон с тележкой...
Мой робот
Пользователь
Сообщений: Регистрация: 27.12.2022
04.01.2024 17:57:28
Какой уровень дохода прогнозируется? Сколько %% годовых чистыми от начального депозита?
Примеры dll на GCC 64 для работы со скриптом
Пользователь
Сообщений: Регистрация: 27.12.2022
04.01.2024 14:33:01
Уточнение: на си я получаю текущее время моего ПК через GetLocalTime, три часа разницы...
Примеры dll на GCC 64 для работы со скриптом
Пользователь
Сообщений: Регистрация: 27.12.2022
04.01.2024 14:25:48
Цитата
nikolz написал: lua_tonumber и lua_tointeger в версиях от 5.3 - это разные форматы. double и long.
А в Lua 5.4 одинаковые? Как это узнать?
Я для интереса написал в длл на си "ядерную триаду": обработчики OnAllTrade и OuQuote + getQuoteLevel2. Постарался, чтобы работало как можно быстрее. В примерах, которые я видел, написано не так оптимизированно, как у меня. Неплохо было бы как-то сравнить скорости с моими аналогичными обработчиками на Lua...
Возникли такие мелкие вопросы:
1. Скрипт, который работает с этой длл, начинается так:
Я где-то увидел, что таким путём можно длл помещать в папку со скриптами вместо корневой папки Квика. Но почему-то при первом запуске скрипт не находит этой длл в папке со скриптами, поэтому длл приходится помещать в корневую папку. При последующих запусках скрипта длл можно удалить из корневой папки и размещать в папку со скриптами, это работает. Кто может объяснить этот эффект и сказать, как это исправить?
2. Можно ещё быстрее работать со стеком Луа при обработке полученных таблиц? Например, можно ли быстрее получить из таблиц bid и offer значения price и quantity (по 20 штук каждых)?
3. Я после вызова функций QLua из длл не очищаю стек, потому что он после этого вроде бы становится мусором для уборки. Достаточно следить, чтобы стек не превышал 20 элементов. Это верно?
4. В аналогичном скрипте на Луа я накапливаю информацию в переменной-строке о сделках и стаканах и после достижения, скажем, 10 Мб дописываю её в файл и потом присваиваю этой переменной пустую строку. При этом каждый раз память для неё освобождается сборщиком мусора и затем выделяется и довыделяется много раз при её заполнении информацией. А выделение памяти не быстрый процесс. На си такой проблемы нет. Можно ли на Луа работу с этим буфером вывода сделать быстрее?
5. В своём аналогичном скрипте на Луа при выводе содержимого стакана в переменную я беру текущее время через os.sysdate, она даёт даже мкс, откуда у неё такая точность? Может, лучше как-то получать время сервера брокера, это будет точнее? Кстати, на этом форуме ещё в 2015 г. просили с содержимым стакана передавать время с сервера (биржи?), когда было изменение, но почему это не сделали? На си я для этого получаю время через GetSystemTime, там только мс, приходится дописывать к ним справа 000, чтобы был формат с мкс, как выдаёт OnAllTrade. С этим ничего нельзя поделать?
Кто-то пробовал запускать Квик на планшете?
Пользователь
Сообщений: Регистрация: 27.12.2022
18.12.2023 20:51:44
Можно ли запустить торговую программу под Квиком на планшете, чтобы не напрягать настольный ПК? Если да, то что это за планшет? На сколько времени хватит аккумулятора?
Возможные "стратегии" для торговых программ
Пользователь
Сообщений: Регистрация: 27.12.2022
18.12.2023 13:21:32
Цитата
paluke написал: Только следуя за кем-то, вы всегда купите дороже, чем он, а продадите дешевле.
Продам, м.б., дешевле, чем он, а не дешевле, чем я купил. Речь идёт о значительном росте цены, когда крупный игрок выбивает стопы у толпы, отчего цена летит.
Кодировка в таблицах Квика
Пользователь
Сообщений: Регистрация: 27.12.2022
18.12.2023 13:14:34
Может быть, дело в кодировках файлов исходников .lua, или файлов, содержащих эти строки? Напр., поменять их кодировку на Win1251?
Примеры dll на GCC 64 для работы со скриптом
Пользователь
Сообщений: Регистрация: 27.12.2022
18.12.2023 11:12:05
Насколько я понял, lua_tonumber и lua_tointeger это одно и то же и ничего она не преобразовывает, просто переписывает с вершины стека в заданную переменную 8 байтов?
И ещё хотел спросить: неужели с рублями и копейками работают в формате double? В этом случае при расчётах может накапливаться ошибка. Как я помню, в фин. расчётах рубли и копейки хранили в виде строк, напр. "123.456000".
Примеры dll на GCC 64 для работы со скриптом
Пользователь
Сообщений: Регистрация: 27.12.2022
18.12.2023 10:57:01
Цитата
swerg написал: Хочешь по-взрослому - и страдай тогда по-взрослому, не плачь ;)
Да у меня всё работает, просто чисто женское любопытство. :-)
Примеры dll на GCC 64 для работы со скриптом
Пользователь
Сообщений: Регистрация: 27.12.2022
17.12.2023 22:19:03
Цитата
Serge123 написал: Если на C переменной, в которую читаю flags, присвоить тип LUA_NUMBER, то транслятор выдаёт ошибку: должен быть тип целого числа.
Вернее, транслятор ошибку не выдаёт, но для выделения флагов в C придётся преобразовать тип flags к (u)int64_t, что выглядит не очень красиво...
Примеры dll на GCC 64 для работы со скриптом
Пользователь
Сообщений: Регистрация: 27.12.2022
17.12.2023 22:11:13
Поясните, почему в таблицах Квика orders, trades, ... переменная flags, хранящая битовые флаги, имеет тип NUMBER (что в переводе на C значит double), а не INTEGER? Ведь тип LUA_NUMBER это double (64 бита) LUA_INTEGER это long (64 бита) (под 64-битовой ОС) Эти флаги в C правильно получать функцией lua_tointeger или lua_tonumber? Вроде бы работает и то и это... Тот же вопрос насчёт поля qty. И почему в подтаблице datetime поля также имеют тип NUMBER, а не INTEGER? Они что, внутри Lua имеют тип double?
Если на C переменной, в которую читаю flags, присвоить тип LUA_NUMBER, то транслятор выдаёт ошибку: должен быть тип целого числа.
Возможные "стратегии" для торговых программ
Пользователь
Сообщений: Регистрация: 27.12.2022
16.12.2023 23:04:22
Сначала надо как-то подтвердить справедливость утверждений 1-3...
Возможные "стратегии" для торговых программ
Пользователь
Сообщений: Регистрация: 27.12.2022
15.12.2023 17:06:41
> Гарантированно выигрышная стратегия: купить "голубых фишек" и облигаций.
Чем гарантирована? Вспоминается закупка народом летом в прошлом году акций газпрома и пролёт с дивидендами с выходом указа о разовом НДПИ. Сейчас Китаю в связи с эпидемией не надо будет столько нефти, и рост российского рынка акций в 2024 г. прогнозируется в 5%. И потом, сейчас как-то стрёмно держать акции по нескольку дней...
У меня есть "стратегия", которая даёт прибыль раза в 2 выше облигаций, меня интересуют стратегии, которые дадут хотя бы 5-10% в день от данных торг. программе средств.
Опытные трейдеры в прошлом году писАли, что делают 50-70% годовых. А трейдер из СПб с ягодной фамилией показывал свой аккаунт за прошлый год с прибылью почти 100% на мосбирже.
> Все выигрывать не могут.
Эти общие места давно известны. И я не "все"...
> И поэтому любая публично известная стратегия, которую каждый может использовать, заведомо проигрышная.
Не каждая и не каждый: к примеру, Рабинович не смог выиграть в лотерею с пом. своего бога, т.к. не покупал лотерейный билет. А кто-то не захочет рисковать. А кто-то решит, что это обман... У БКС в приложении есть что-то типа форума по каждой бумаге, я когда-то читал, как опытные трейдеры писали, на чём они зарабатывают в настоящий момент.
> Если бы существовала выигрышная для всех стратегия, откуда взялись бы деньги?
Ошибка в подобных общих "рассуждениях", напр., в том, что "общая для всех выигрышная стратегия" не всегда останется таковой... Напр., пока цена запампленной акции ещё не достигла потолка. И не для всех стратегия может оказаться "по зубам". И вроде бы есть стратегия торговли "смарт мани", следуя за крупным игроком как рыба-прилипала. Вроде бы тоже публичная, не устаревающая и похожая на правду...
То All: недавно ютюб подсунул видео об Ильнуре Мухаметзянове (по кличке Татарин), который выиграл 6 чемпионатов по трейдингу:
Кто-то может это прокомментировать? Он, кажется, говорил там, что в 2019 г. сделал 1300% годовых, звучит, как ненаучная фантастика. При этом он говорит, что торгует только пробой, продаёт, когда цена вырастет на 1%, не ставит стопов (выходит вручную), делает сотни сделок в день (типа скальпинга). Как можно столько раз угадывать ход цены? Это противоречит учению вышеупомянутого носителя фамилии солнечной ягоды из холодного Спб... Который, кстати, говорил, что у него обучаются студенты, а также люди, пришедшие после обучения у Герчика, что он сам вначале 2 года не мог добиться прибыли, якобы покупал курсы, а потом выработал свою стратегию захода в сделки и выхода оттуда (кажется, пунктов из 8-10). На бесплатных видео он тоже кое-что рассказывает. Он снимает офис с ещё 2-мя трейдерами. Татарин тоже говорил, что много обучался у опытных трейдеров, но ему пригодилось 10% инфо от их обучения. Свою стратегию не раскрывает. Упомянул, что бывает водит цену у бумаг 3-го эшелона. Может быть, в этом секрет сверхприбыли?
Примеры dll на GCC 64 для работы со скриптом
Пользователь
Сообщений: Регистрация: 27.12.2022
15.12.2023 14:08:38
Цитата
TGB написал: От себя добавлю: возможно, для вас окажется полезным сайт
Кстати, хотел найти работающий пример для разбора таблиц в длл, взял с этого сайта код quikluacsharp.ru/qlua-c-cpp-csharp/primer-realizatsii-funktsii-obratnogo-vyzova-onalltrade-vnutri-dll/ а там полная ерунда: вместо lua_pushcfunction написано lua_pushcclosure. Да и luaL_openlib уже устарела и здесь не нужен также и новый её вариант для луа 5.4. Потерял много времени...