swerg (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 3 4 5 6 7 8 9 10 11 12 13 След.
Продублировать функцию копирования окна в контекстные меню
 
На другую вкладку окно перетаскивается так: зажимаем Ctrl, после этого мышью тащим окно за заголовок на нужную вкладку
Исчезновение прерывистых линий
 
как-то картинок-то не видно :(
Не запускается Lua на Quik, Не работает скрипт (сделки на график Квика)
 
Какие-то ошибки пишет?
Ошибка при тестировании Trans2QuikAPI, Ошибка: A call to PInvoke function...............
 
Цитата
Алексей Смирнов написал:
DLLImport не пойдет, потому-что Trans2QuikAPI.dll у меня в Проекте находится.
Это не понял.
В DLLImport  явно же указано место, откуда брать DLL. Исправьте на нужное - вот и всё.
Последняя доступная версия QUIK
 
Апдейт ставится на любую предыдущую версию.
Ошибка при тестировании Trans2QuikAPI, Ошибка: A call to PInvoke function...............
 
Как-то странно, у вас текст ошибки про TRANS2QUIK_IS_QUIK_CONNECTED, а в тексте программы её вообще нет. Где-то обман видится мне.

Вероятнее всего не хватает уточнения про CallingConvention.
Попробуйте заменить описание функций вот на такое примерно, пример для TRANS2QUIK_CONNECT (не проверял, надеюсь мне удалось правильно соорудить синтаксис для VB):

<DllImport("D:\...Проект\Resources\TRANS2QUIK.dll", CallingConvention:=CallingConvention.StdCall, EntryPoint:="_TRANS2QUIK_CONNECT@16")> _
Public Shared Function TRANS2QUIK_CONNECT( ByVal lpstConnectionParamsString As String, _
    ByRef pnExtendedErrorCode As Long, _
    ByVal lpstrErrorMessage As String, ByVal dwErrorMessageSize As Long) As Long
End Function


Кстати, если я не ошибаюсь, на .NET можно в один проект включать и VB.NET файлы, и C#
Если так - то просто возьмите готовый заголовочный файл библиотеки от arqa (есть в архиве), там есть пример на C#, подключите его, там есть готовые правильные определения интерфейса. Ну разве что выкинуть из него что-то, что лишнее, т.к. там, к сожалению, не чистый заголовочник.
Запрос API.
 
Вы про Trans2Quik.dll? или про какое-то другое API?
QUIK v.7.1.0.381, Баги
 
Евгений Ершов,
нажимаете F9 и включаете обведённую настройку
QUIK версия 7.1 (вопросы)
 
Цитата
Николай Камынин написал:
сначала мелькает окно цветное
Цитата
Николай Камынин написал:
дергается изображение на двух мониторах.
Цитата
Николай Камынин написал:
все иконки на рабочем столе дрожат.

Я, конечно, извиняюсь, но может есть смысл уточнить что вы принимали по утру?
Таблицы
 
Первым делом спросят версию терминала
Одновременное выставление (исполнение) заявок на разных инструментах
 
Это невозможно, на бирже нет связанных сделок.
std::recursive_mutex и cинхронизация потоков в Lua
 
Собственно исходники ведь доступны.
Где в коде luaV_execute есть lua_lock? покажите

И совсем другое дело функции доступа к "переменным", например:
http://www.lua.org/source/5.1/lapi.c.html#lua_settable

Зачем вы всё время фантазируете, ничего не проверяя, вот что не понятно.
std::recursive_mutex и cинхронизация потоков в Lua
 
Вячеслав,
у вас есть пруф подтверждающий то, что вы сейчас написали, или это ваши фантазии?
Как-то всё очень сомнительно выглядит, особенно вот это
Цитата
Вячеслав написал:
и в этот момент начнёт выполняться основной поток Quik, который захочет вызвать наш callback, то основной поток Quik будет ждать на lua_lock операции
Программа info.exe прекратила взаимодействие с Windows и была закрыта
 
С обновлением QUIK с сервера РАЗРАБОТЧИКА тоже нет совершенно никаких проблем.
А в остальном - не понятно, зачем вы платите деньги такому брокеру, которому на вас откровенно плевать и который не слушает ваше мнение??
std::recursive_mutex и cинхронизация потоков в Lua
 
Цитата
Вячеслав написал:
Предполагаю, что QLua использует отладочные функции debug.sethook для перехвата управления и переключения Lua VM c потока main на поток callback'ов.
В QLua используются реальные разные потоки операционной системы Windows.
Потоки переключает Windows, где реализована вытесняющая мультизадачность. Бесконечные циклы не мешают Windows переключать процессор между исполнением кода разных потоков, никакая Lua VM тут ни при чем.
Что вы еще пытаетесь найти в Lua VM?

И да, код в смысле Lua-программы прерывается в реализованном случае вовсе не обязательно "между операторами Lua". Прерваться код может и "посередине выполнения одного из операторов".
Обновление программы
 
Цитата
sandyman написал:
Ау, техподдержка? Может что-то стоит предпринять в отношении такой безалаберности брокеров?
Вы платите деньги брокеру, но требуете, чтобы другие оказывали на него давление.
Стандартная позиция терпил в нашем государстве. "Царь-батюшка, убери *** в нашем подъезде, без тебя никак".
Упрощение QUIK, Можно ли упростить Квик?
 
А что такое "упрощение"? ну вот конкретно можете нарисовать?
Если сделать конфигурацию квика только с нужными вам графиками/таблицами - это упрощение? или что-то всё равно будет мешать? тогда что именно будет мешать в таком случае?
Задержка данных при обмене с сервером
 
нене, я не предлагаю задумчивое лицо. Это анриал в обсуждаемой ценовой категории.
Я про то, что это минимум цен, от которого можно как-то отталкиваться, выходя с предложением к брокеру.
Уведомление, когда скрипт перестал работать/не запустился
 
пока, наверное, единственный вариант - как-то сигнализировать из самого скрипта "я запустился". Вариантов можно придумать разных (создать файл с датой/временем запуска, например, сразу при старте скрипта).

Вообще, на мой взгляд, идея хорошая как пожелание: сделать явную индикацию, что при старте QUIK не запустился какой-то скрипт, который должен был запуститься автоматически при старте.
Задержка данных при обмене с сервером
 
Некий самый общий ориентир можно почерпнуть здесь
http://arqatech.com/ru/products/quik/rates/
Фаил настроек, Нет окон при загрузке настреок из файла
 
Всегда пожалуйста.
QUIK тем и кайфовый, что его просто можно копировать - и всё будет работать. Без этих идиотских "инсталлирований".
Задержка данных при обмене с сервером
 
Цитата
Сергей Чугунов написал:
терзают другие "смутные сомнения"...
Да нет никаких "смутных сомнений", ёлы-палы.
Ретейловый брокер - это всегда компромисс между стоимостью и качеством. Стоимостью, заметьте, для клиентов, т.е. из вашего кармана.
Хотите иметь невообразимые времена задержки - поступайте как делают взрослые парни: скидываетесь брокеру на отдельный для вас сервер, подключаетесь к этому серверу - и радуетесь!
А что, скинуться на 10 человек/подключений - глядишь, и радость к нам придёт.
Программа info.exe прекратила взаимодействие с Windows и была закрыта
 
Не понятно: вы запустили  - и сразу не работает, ил работало работало - и свалилось?
Задержка данных при обмене с сервером
 
Цитата
Фёдор Сухов написал:
3. ??? (добавьте своего).
Вы предлагаете добавить всех брокеров?
Фаил настроек, Нет окон при загрузке настреок из файла
 
Цитата
briliantoff написал:
А почему-бы в файле настроек не сохранять все настройки QUIKа? Я например использую звуки, уровни, цвета да и других всяких куча, но при переустановке винды или переходе на другой комп все приходится настраивать заново.
Не очень понятно о чем это.
Если вы просто скопируете всё папку с QUIK - то все ваши настройки полностью сохранятся.
Не понятно как вы так переходите на другой комп, что ничего не сохраняется и приходится перенастраивать заново?
Фаил настроек, Нет окон при загрузке настреок из файла
 
Цитата
briliantoff написал:
А почему-бы в файле настроек не сохранять все настройки QUIKа?
Так настройки же ваши и были сохранены. и никуда не делись, ведь так? или нет?
вы не уточнили этот момент.

Но чтобы было что отображать - данные необходимо получить с сервера, иначе что отображать-то.
Обновление программы
 
Цитата
sandyman написал:
который исключает неправильные действия брокеров
Договор у вас с брокером.
И именно брокер по идее решает какой софт вам предоставлять, а какой - нет, по разным соображениям.
QUIK v.7.1.0.381, Баги
 
Цитата
vorobevakatia написал:
в чем может быть проблема ?
Вы подключены к серверу? по другим типам инструментов удаётся выставить заявки?
Если да - то брокер не предоставил вам торговых операций по опционам, вопросы брокеру.
std::recursive_mutex и cинхронизация потоков в Lua
 
Цитата
Вячеслав написал:
Я прав?
Казалось бы, это элементарно проверить.
Но вам нравится фантазировать. Не буду мешать.
Цена заявки не соответствует установленному диапазону
 
Цитата
Старатель написал:
Ограничения устанавливаются брокером в процентах? От какой цены? По классу в целом или по каждой бумаге в отдельности?
Вы точно по адресу вопрос задаёте? ;)
Трендовые линии привязка к одному графику
 
5 графиков для квика - это ни о чём.
Если бы на картинке было 100 инструментов - я бы не предлагал такой вариант.
std::recursive_mutex и cинхронизация потоков в Lua
 
Цитата
Вячеслав написал:
QLua использует 1 мьютекс для разделения выполнения функции main и callback'ов или 2?
Вы задаёте просто удивительные вопросы, ну вот честно.
Ради любопытства, можете сказать, как вы предполагаете использовать 2 мьютекса для синхронизации между потоками? ну вот чисто теоретически?
А если это никак - то о чем вопрос??
std::recursive_mutex и cинхронизация потоков в Lua
 
Цитата
Вячеслав написал:
P.S. Подозреваю, что в QLua просто переопределили lua_lock и lua_unlock, чтобы разрешить многопоточность. Сейчас выясняю, как выполняется синхронизания глобальных переменных в Lua между потоками при переопределённых lua_lock / lua_unlock.
Вы так пишете, как-будто есть другие способы.
Про это уже писалось (на старом форуме, как водится).
Трендовые линии привязка к одному графику
 
disasterovich,
у вас совсем немного инструментов, между которыми вы переключаетесь.

А что если сделать несколько вкладок, на каждой вкладке - график своего инструмента.
Тогда это разные графики, на каждом свои тренды. И переключаться легко и быстро.
Переподключение к серверу: автоматическое или из Lua
 
Научите без библиотек?
std::recursive_mutex и cинхронизация потоков в Lua
 
Цитата
Вячеслав написал:
используется разные структуры lua_State*
Это вот откуда такой вывод?
Цитата
Вячеслав написал:
и сразу ли значение, присвоенное в одном lua_State станет доступно в другом
Конечно сразу. Вы и сами легко это можете проверить, добавляя в колбеке за раз 100 (или тысячу) элементов одном потоке, и тут же вычитывая их в main(). Новые элементы будут видны в main еще до завершения колбека.
std::recursive_mutex и cинхронизация потоков в Lua
 
Цитата
Николай Камынин написал:
т е на какой момент извлеченный в main элемент будет первым в таблице, если колбеке есть вставка первого элемента?
Таблица, как известно, в QLua всегда целостна. Не зависимо от многопоточного обращения.
Целостна в том смысле, что в любой момент времени количество элементов, вычитываемое через получения размера в таблице гарантированно совпадает с реальным количеством элементов на момент вычитывания значения счётчика.

Потому не очень понятен ваш вопрос.
Если на момент обращения элемент в таблице уже размещён - то произойдёт корректное обращение к элементу таблицы, если же элемент еще не размещен - то его и не  будет!

Единственное тонкое место, как известно из предыдущих обсуждений, состоит лишь в том, что если в одном потоке у нас есть
  t[1] = 5  (поток 1)
а в другом потоке есть
  x = t[1]    (поток 2)
и они происходят "одновременно", то возможны варианты:

а) x = t[1] приведёт к ошибке, т.к. на самом деле в потоке 1 этот код еще вовсе не начал выполняться и элемент еще не добавлен; однако тогда и счётчик нам скажет, что количество элементов еще 0 (если это первый элемент)

б) после выполнения x = t[1] не будет ошибки, но в x окажется nil; это произойдёт в том случае, если в потоке 1 уже успеет добавиться новый элемент в таблицу с индексом 1, однако само значение ему еще не присвоится; (хотелось бы отметить, что само состояние таблицы будет при этом совершенно корректным! т.е. количество элементов в таблице равно 1, это единственный элемент равен nil)

в) в результате выполнения после  x = t[1] в x будет значение 5, т.е. к моменту выполнения этого кода в рамках потока 2 в потоке 1 уже успел и новый элемент в таблицу добавиться, и значение ему присвоиться.

Собственно классика многопоточности )
Переподключение к серверу: автоматическое или из Lua
 
Николай, вы очень невнимательны. Исходники лежат рядом, каждый может легко их прочитать и собрать самостоятельно, во избежание.
Ну и, конечно, любопытно, что вы скажете о разных торговых приводах, которые авторы принципиально распространяют только в бинарном виде.
Трендовые линии привязка к одному графику
 
В смысле одно окно графика, но переключаете инструмент при помощи рядом стоящей таблицы со список инструментов и якоря, верно?
Крякозябры в Quik Junior, Проблема в терминале
 
Какой шрифт выбран для таблиц в "Настройки - Основные"?
Документация по Qlua
 
Обновляемый список изменений в QLua.
Подскажите, что можно "почистить" в квике
 
У меня есть пожелание к ARQA: сделайте опцию "не загружать обновление для файла Winros.exe"
Файл это в самом деле не нужен, но напоминания про наличие обновлений только из-за него - задалбывает.
Спасибо.
std::recursive_mutex и cинхронизация потоков в Lua
 
Что касается "Потокобезопасных функции для работы с таблицами  Lua" - то они несколько про другое. Во всяком случае они не реализуют тот алгоритм, который приведён в примере.
Отличие будет в том, что не будет лочения потоков на время обработки всех элементов таблицы.
Подходит ли это автору вопроса - не понятно. Он ведь лочит вокруг всего цикла обработки, а не вокруг обработки одного элемента.
std::recursive_mutex и cинхронизация потоков в Lua
 
Цитата
Вячеслав написал:
Вопрос в том, прочитаются ли данные в потоке main сразу после вставки их в таблицу в обработчике callback'а
Да, прочитаются. Ну с поправкой на sleep(50), конечно, т.е. "сразу" может случиться через 50 мс, после фактического добавления.
std::recursive_mutex и cинхронизация потоков в Lua
 
Вячеслав,
то как вы делаете, на мой взгляд в общем-то идеально. Не могу только понять при чем тут версия квика, от неё точно ничего здесь не зависит.

Идеальность в том, что вы, с одной стороны, полностью блокируете работу с таблицей из другого потока на все время добавления в неё элемента, с другой стороны полностью блокируете добавление в таблицу на всё время перебора имеющихся элементов внутри main(). Т.е. у вас всегда гарантированно в цикле обрабатывается некое полностью статичное состояние таблицы. И это само по себе безусловно здорово.

Однако, есть важный момент. Состоит он в том, что на всё время обработки таблицы (в main()) у вас фактически полностью блокирована работа call-back'ов при наступлении события OnParam(). И тут уже возникает вопрос про эффективность такого алгоритма. В самом деле: видно, что вы пытаетесь сделать "очередь событий" в таблице, и события из этой очереди разгребаете как бы в отдельном потоке main().
Но в вашем алгоритме вы не можете положить в таблицу очередное событие из OnParam() до тех пор, пока не обработали все имеющиеся события в таблице. Т.е. у вас получится, что в таблицу попали какие-то события (в виде элементов таблицы), вы их в main() обрабатываете - и на всё время этой обработки у вас OnParam() тупо залочен, QUIK стоит и ждёт, пока вы в main() обработаете все имеющиеся элементы таблицы.
Не видно, чтобы тут случился выигрыш-то от двухпоточности. У вас всё равно каждый поток постоянно ждёт другой поток, в том числе и поток добавления событий.
Add/SetLabel
 
Теперь понятно, спасибо.
Изменение размера шрифта заголовков таблиц
 
Ну т.е. в "тёмной теме" шрифт и высоту заголовка изменить нельзя, верно?
Недоработочка это, как мне видится.
Зарегистрируйте, пожалуйста,  пожелание: "желаю настраивать высоту заголовков окон в тёмной теме (обычных и "лоченых" окон раздельно) и шрифт (размер, цвет) шрифта заголовка окна"
Различие архива фортс и данныз квика, одна и таже сделка проходит по разному времени
 
QUIK вам отдал время отсечением милисекунд, а биржа в архиве - округлила.
Тут бы бирже вопрос задать, зачем они так сделали.
пересечениэ мувингов
 
Вычислять мувинги руками по данным всех сделок, например, а не брать с графика.
Переподключение к серверу: автоматическое или из Lua
 
После потери связи можно настроить автопереподключение штатными средствами.
А чтобы терминал автологинился при запуске (или перезапуске в случае краха) можно использовать скрипт на Lua с небольшой доп. библиотекой.
Страницы: Пред. 1 ... 3 4 5 6 7 8 9 10 11 12 13 След.
Наверх