Еще один недоросль учит как надо вести безнес. Даже не смешно уже. Особенно, конечно, умиляют применяемые штампы. Это ж не твои мысли, чувак, это штампы, которых ты нахватался от твоих друзей-школьников по уровню развития. Ну ладно друзья, это их проблемы, но почему ты не растёшь над ними?
Иван написал: Anton, а разве таблица обезличенных сделок + экспортированные стаканы из QUIK не дадут в сумме этот самый полный ордерлог?
В стакане вы не видите отдельные заявки. Только суммированный объем по всем заявкам с одной ценой. Если записать все изменения стакана - то примерно лог ордеров получится, но и то не полный, т.к. в стакан транслируются на абсолютно все изменения, там данные поступают лишь с определённым интервалом (хоть и маленьким). Если за время между интервалами выставили 10 заявок и сняли 5, то "дельта" стакана вам даст дельту между новыми и снятыми заявками, а не реальный объем всех этих реальных заявок.
Денис написал: з.ы. Мне не смогли помочь на этом ресурсе с отключением маржинальной тороговли. Жаль что ТП Квика настоль не компетента. Помог же мне пользователь квика на яндекс дзене. Для того чтобы, отключить маржинальную торговлю, надо в настройках запретить использование заёмных средств.
Чушь. Вас обманул "пользователь квика на яндекс дзене". Запретить самому себе маржинальную торговлю настройками терминала вы не можете. Максимум что вы можете - это вести расчеты в терминале "только на собственные средства", такая настройка есть, да. Но ни к какому запрету она отношения не имеет, вы по прежнему можете выставлять заявки с использованием заёмных средств брокера, хотя расчет доступного количества в терминале осуществляется лишь в рамках ваших собственных средств.
Вопрос один: нафига козе боян?? Что нового даёт этот инструмент в сравнении с QUIK? Впрочем, объяснение мы видим в начальных строках по ссылке.
Однако, Зачем сужать видение своего мира строго в рамках 1С и продажи конфигураций, причем называя это "хобби" (т.е. буквально лишь те 2 составляющие разноцветного окружающего мира, какие вы и так видите и так каждый день) - вот что не понятно. Вопрос философский.
Artem написал: Не могу понять, что произошло. Последний раз баловался Qlua еще на 7 Квике и таких проблем не припомню. Запускал два Квика от разных брокеров, один 8.10, другой 8.7 и везде одно и тоже
Ответ как обычно в вашем вопросе. Между квиком 7.x и 8.5 изменилась версия Lua, теперь она 5.3 И в ей такое вот умолчательное конвертирование float в строку.
Отличаются режимами сборки Для /MD требуется еще установленный Microsoft Visual C++ Redistributable соответствующей версии (в зависимости от версии Visual C++, в котором собирали). Ну либо установленный MS Visual C++ соответствующей версии.
_sk_ написал: Есть потребность в отключении слушателей по таймауту (а не когда придёт очередной коллбэк)
"Отключить слушателей по таймауту (а не когда придёт очередной коллбэк)" абсолютно эквивалентно "в начале колбека проверить надо ли уведомлять этого конкретного слушателя или таймаут его уведомлений истёк". В целом вся эта машинерия выглядит через чур запутанной, потом же сами концов в ней не найдёте... "Почему этот слушатель не сработал? то ли по тайм-ауту отключили, то ли колбека не было, то ли просто что-то пошло не так." "Архитектурно-правильно".... но это так, мысли вслух
_sk_ написал: Надо всё это для того, чтобы можно было выполнять в потоке коллбэков регулярные задачи, которые удобнее и архитектурно правильнее делать там, а не в main.
Архитектурно правильно (в тех рамках, что мы имеем) как можно меньше нагружать колбеки основного потока, вынося всё что возможно в main(). Некоторые еще и несколько потоков делают, этакие множественные main(). Или даже в отдельный процесс. А потому всё же хотелось бы услышать что это за такие "архитектурно правильные задачи", которые нельзя вынести в main().
Требуется событие в QLua, которые бы вызывалось в основном потоке и вызывалось бы всегда гарантированно при завершении скрипта. Рабочее название: OnFinalize Сейчас такого события нет. OnStop вызывается только при нажатии на кнопку. При ошибке выполнения скрипта (не синтаксического разбора) хорошо бы бы тоже его вызывать с передачей соответствующего признака
Пожелание такое на форуме совершенно точно было, но сейчас его на удивление даже найти не удаётся. Что слышно про его реализацию?
Анатолий написал: как известно начиная с версии 8.3.2.5 в квике версия луа повысилась до луа 5.3
А вот тут, кстати, ошибка. В QUIK 8.3 - Lua 5.1 (но x64 платформа) Lua 5.3 началась только в QUIK 8.5 Может в этом у вас проблемка и причина неработоспособности?
Ошибка создания заявки. [GW] "Превышен лимит отправки транзакций для данного логина."., Учебный сервер выдает ошибку: Ошибка создания заявки. [GW] "Превышен лимит отправки транзакций для данного логина.".
Олег написал: А какое ограничение стоит на демо стенде и при реальной торговле (для общего развития)?
На демо вы только что узнали - "в минуту 1800 транзакций" А на реальных торгах - это проблема вашего брокера как обеспечить вам и другим участникам торговлю без такого сообщения. Зачем вам об этом печалиться. Ну либо спросить у конкретного брокера.
Александр М написал: Это же Ваши слова, у Вас обязан быть этот список с приоритетами. Выложите его здесь или в любом другом разделе, прикрепите сверху и все сразу увидят, что Вы там рассматриваете и ничего ли по дороге не потерялось.
Становитесь клиентом, который платит деньги за поддержку (брокер, например), и перед вами будут даже отчитываться. В крайнем случае заинтересуйте вашего брокера (финансово, через объём торгов и, соответственно, комиссии) настолько, чтобы через него получать информацию. А по-другому, зайчики, это не работает.
ВладимирА в мейне проинициализировал: .... Проинициализировал такую таблицу прямо в мейн (как и таблицу визуализации результатов),
Гнилое это дело в main() (т.е. отдельном потоке) работать с визуальными элементами. Добром не заканчивается (это из общих соображений). Хотя квиковцы с вызовом методв создания визуальных элементов из main() как бы справились, но не верю я, что там все надежно сделано. Это так, общие мысли по поводу процитированного.
Вопрос должен оформляться просто: - полный код, который каждый может скопировать и запустить/проверить/поэкспериментировать, иллюстрирующий проблему (но желательно код наименьшего объема при этом) - описание что ожидается - описание как на самом деле - вопрос "как сделать ожидаемое?"
Тогда, быть может, кто-то разберётся и ответит.
А все эти амбулы-шмамбулы - это вы для книжек своих поберегите, может их кто и прочитает. Но в вопросы такого плана никто вникать не будет.
Для полноценного интерфейса проще взять внешнюю библиотеку. Например такую. Не всё там просто и гладко, но хотя бы возможностей в самом деле много.
Александр написал: В метатрейдере скрипт работает в отдельном потоке. В метатрейдере скрипт работает пока пользователь его не завершил или не возникла ошибка.
Спасибо, вы рассказали то, что я никак не мог найти в документации, да и просто в интернетах.
Ладно, хрен с ним с этим троллем. Я на самом деле никак не могу получить ответ на свой вопрос, который давно меня заботит. Ну вот как это сделано в метатрейдере, в других терминалах? нигде ж нет никакого main(). Есть по сути просто скрипт с колбеками (да? я не ошибаюсь?) И вот когда в этих системах прекращается вызов этих колбеков?? я никак не могу этот момент найти, или ищу плохо. Или там после запуска скрипта вызов из него колбеков никогда не прекращается? Расскажите, а
Владимир написал: НЕ БЫВАЕТ "модели без main()"! При запуске скрипта ЧТО-ТО должно начать выполняться. Вот это "что-то" и есть main, хоть горшком её назови.
Чушь. Берем скрипт и начинаем из него дергать колбеки по мере поступления событий. Никакой main() для этого не нужен. И ничего "что-то" выполнять постоянно для этого тоже не требуется.
Об этом и мой вопрос: как скрипту себя остановить? как сказать "я устал, я ухожу, не дергайте больше мои колбеки" без наличия main()?
Так сказали же, вроде: по OnStop сбросить все заказанные обработчики и отдать управление в main.
Внимательнее вопрос стоит прочитать. Модель другая: нет main() чтобы не было многопоточности, есть только обработчики. OnStop - это если пользователь остановить захотел. А если скрипт сам захотел остановиться - откуда OnStop возьмётся?! Вопрос был: как в модели без main() скрипту самого себя остановить? как это сделано в других имеющихся системах торг. терминалов (не фантазийных), кто знает?
Вообще говоря морока с main() была в QUIK внедрена по глупости считаю. В каком потоке обрабатывать колбеки - это отдельный разговор, непосредственно к main() не имеющий отношения. Но с main() квиковцы внедрили такую логику: колбеки вызываются до тех пор, пока не произошел выход из main(). Как вышли (добровольно, замечу!) из main() - так вызов колбеков прекращается.
И вот на какой вопрос я при этом не нахожу ответа. Если бы не было main() - каким образом останавливать обработку колбеков, когда автор скрипта уже не хочет чтобы колбеки вызывались? ну вот в самом деле, нельзя же все время для всех скриптов вызывать колбеки. Или можно? Как этот момент решается на других платформах, кто-будь может рассказать? я вот сколько на метатрейдер смотрел - так и не смог найти ответ на вопрос: когда же "колбеки" из скриптов в нём перестают вызываться?
Многопоточности в jit нет, в этом беда. А модель API для qlua сделали в QUIK многопоточной по самой идее, так что jit, похоже, нам с вами не светит никогда. Грусть.
Nikolay написал: Владимир, это же написано в документации к расширению языка от разработчика
Как уже всем известно, документацию Владимир не читает? так что смысла давать на неё ссылки - нет, увы. Разве что только ушат помоев получите в ответ (уже получили, как видите).
Владимир написал: Я не понимаю, что такое "торговая система"
Скрипт Lua
Неожиданно. Вольное применение терминологии - это здорово, конечно, но как же вас понять-то тогда??
Т.е. у вас 2 разных Lua-вкрипта торгуют одним и тем же инструментом на одном классе, так? ну и ведите в каждом из них свою позицию по куплям / продажам. При надобности пишите в два разных файла, в каждом скрипте в свой файл. Но до добра это всё не доведёт, по-моему. Один скрипт покупает, другой тут же продаёт - в чем финансовый результат таких прикольных действий?
Не понятно в чем проблема-то у вас? Брокер специально для вас сделал волшебство: как-будто вы продаете / покупаете один актив в разных системах. Готовый арбитраж. (На самом деле юридически, конечно же, это разные активы, разных торговых площадок, и брокер на разных площадках депонирует для вас эти разные по сути активы, однако для удобства в терминале неттирует для вас позиции по разных площадкам, как-будто это один и тот же актив.)
Но что хотите вы - не понятно. Хотите вести и видеть раздельные позиции по каждой торг. системе? Уточните у брокера, вдруг он умеет отключать это волшебство неттирования.