вот честно говоря, уже неохота, что-то писать. Вы просто убиваете тему своим выяснением отношений. 1. Насчёт работы с "майном" - всё уже детально обсуждено и описано на quik2dde.ru
2. При использовании враппера - выигрыш в том, что это всё изолировано и не приводит к засорению программы, повышает читаемость. Справедливости ради, замечу, что я - сторонник того, чтоб враппер располагался в qlua.dll, а не в коде LUA-скрипта. Но в данной теме это не обсуждается, поэтому я её не развиваю.
3. подобного Не подобного. Я чувствую, что Вампросто захотелось поспорить. Ещё раз повторю: враппер делался разработчиками. Если у Вас есть вопросы по врапперу - задавайте им. Со своей стороны, я уже отметил в предыдущих постах, что КРАЙНЕ ВАЖНО СОБЛЮДАТЬ ПОРЯДОК РАБОТЫ С КОНТРОЛОМ. привёл рабочий пример. Что Вам ещё тут нужно доказывать/обсуждать/выяснять? Какой смысл от всех этих последних 10-ти постов??? Или Вы так любите, чтоб последнее слово было за Вами? Чтож, тогда умолкаю, я везде был не прав, несу полную чушь и полный бред, прошу меня понять и простить. Вам так легче? Вы это хотели услышать?
не добавляются строки в таблицу
Пользователь
Сообщений: Регистрация: 01.02.2015
15.02.2015 10:44:18
поэтому работу с майн лучше свести к минимуму. Подчеркну: не полностью отказаться, а свести к минимуму, оставив в нём лишь работу с разделяемыми переменными.
Список доступных для транзакций инструментов, получение списка инструментов для совершения транзакций с учетом различных аккаунтов у одного и того же брокера.
Пользователь
Сообщений: Регистрация: 01.02.2015
15.02.2015 10:37:27
Цитата
Николай Камынин пишет: Кроме того, терминал QUIK-это программа подачи поручений, исполнение которых не является обязательным для брокера.
Честно сказать, даже не знаю, что сказать.... :))))) То есть, получается, я, к примеру, купил-брокер исполнил, далее: я захотел продать-брокер НЕ захотел. Так что ль, получается???:)))))) Вообще-то, это его прямая обязанность исполнять поручения и действовать в интересах клиента. И НЕ ВАЖНО бесплатная там какая-то программа или нет. Вот есть к примеру, не программа, а телефон (или по другому ещё один канал связи с брокером для ввода поручений. рассматривайте его именно так) - он бесплатный. Я звоню брокеру, а брокер мне говорит: "а вот х.. тебе". Так что ль? Вы не перестаёте меня удивлять)))
не добавляются строки в таблицу
Пользователь
Сообщений: Регистрация: 01.02.2015
15.02.2015 10:27:41
Цитата
Серж пишет: И не имеет значения, в каком потоке строится таблица: в основном или в main.
если писать весь скрипт в одном "майне" и целиком в основной части скрипта то "Да" - не имеет. Но так можно писать и на тупайле. смысл тогда использовать LUA? А вот когда часть кода "и там и там" тут начинается геморрой из=за которого некоторые, казалось бы очевидные вещи начинают работать не так, как должно быть.
не добавляются строки в таблицу
Пользователь
Сообщений: Регистрация: 01.02.2015
15.02.2015 10:18:44
,
иди тролль в другом месте.
Цитата
Серж пишет: sam063rus пишет: 2. что будет если таблиц будет несколько? Идентификатор таблицы вам на что?
тут разговор про то, что размер кода, равно как и число переменных значительно увеличаться, что приведёт к полной неразберихе в коде.
Цитата
Серж пишет: Можно подумать, с использованием враппера порядок вызова не имеет значения
имеется ввиду, что враппер уже описан и в нём УЖЕ учтён правильный порядок, который разработчики так и не удосужились привести в документации. Нетрудно заметить, что подход "в лоб" у автора не сработал. Поэтому я лишний раз и обратил внимание на правильность порядка работы с контролом.
Цитата
Серж пишет: sam063rus пишет: 1. надо забыть про работу в "майне", как дурной тон. Обоснуйте.
работа в "main" - это работа в другом потоке.
--------------------------------------------------------------------------------------------------------------- я так понял, что Вам бы лишь, что-нибудь написать. Или у Вас просто настроение не задалось?
не добавляются строки в таблицу
Пользователь
Сообщений: Регистрация: 01.02.2015
15.02.2015 06:39:21
1. надо забыть про работу в "майне", как дурной тон. 2. что будет если таблиц будет несколько? именно для этого и придумали классы. 3. при создании объекта "таблица", (без использования враппера), имеет очень большое значение порядок вызова методов, т.е. по сути, порядок создания объекта должен соблюдаться. это нигде не описано у разработчиков да и мой вариант врядли можно назвать абсолютно правильным но, как-то вот так (слегка переделанный твой вариант):
Код
is_run = true
function OnInit()
t_id = AllocTable()
res = AddColumn(t_id,1,"col1",true,QTABLE_CACHED_STRING_TYPE,30)
message("AddColumn - " .. tostring(res))
res = AddColumn(t_id,2,"col2",true,QTABLE_CACHED_STRING_TYPE,30)
message("AddColumn - " .. tostring(res))
CreateWindow(t_id)
row1 = InsertRow(t_id, -1)
message("InsertRow - " .. tostring(row1))
row2 = InsertRow(t_id, -1)
message("InsertRow - " .. tostring(row2))
SetWindowCaption(t_id, "thats my table")
end
function main()
while is_run do
sleep(100)
end
end
function OnStop()
DestroyTable(t_id)
is_run = false
return 1000
end
Таблица создаётся, колонки и строки добавляются, заголовок меняется, из меню закрывается и останавливается. Для того, чтобы скрипт останавливался при нажатии "крестика" в окне таблицы - надо уже прикручивать коллбек, что мне делать уже лень. Думаю сам разберёшься.
Вертикальная сетка, Привязка вертикальной сетки к режиму торгов
Пользователь
Сообщений: Регистрация: 01.02.2015
15.02.2015 01:03:31
если "обозначить" то, только через скрипт
не добавляются строки в таблицу
Пользователь
Сообщений: Регистрация: 01.02.2015
15.02.2015 01:01:51
решил обойтись без quik_table_wrapper.lua ? :))))))
Библиотека QCtrls.dll
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 16:42:57
лучше б, что-нибудь по делу написал.
Библиотека QCtrls.dll
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 16:40:54
я так понимаю. это всё лирика с Вашей стороны...
Список доступных для транзакций инструментов, получение списка инструментов для совершения транзакций с учетом различных аккаунтов у одного и того же брокера.
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 13:18:51
выскажу своё мнение:
брокеру для этого придётся писать, а точнее, опять же заказывать ЗА СВОЙ СЧЁТ серверный модуль для квика у ARQA, который будет являться по сути динамическим фильтром списков с функцией возможного оповещения тем или иным способом. Что брокер, разумеется делать не будет.
касаемо основного вопроса: вот, у меня была ситуация: опционы у меня присутствовали во всех списках в квике, лимит позволял но, у брокера была в своё время отключена по умолчанию эта возможность для всех клиентов (дабы оптимизировать свои риск-параметры). всё решилось только звонком брокеру.
Почему это не может сделать ARQA? Ответ: спрос на такую услугу - единичный. К тому же придётся переписывать часть квика для динамического апдейта всех списков. В конечном итоге, из-за такого сомнительного нововведения неизбежно возрастёт траффик и понизится производительность самого квика. (здесь могу, конечно, ошибаться)
Почему это не может да и врядли будет делать брокер? Ответ: Брокер не пишет серверные модули, а покупает их у той же ARQA.
Главный вопрос: Что будет, если в один момент прошла транзакция на основании информации из старых списков, а в следующий момент списки изменились и оказалось, что новая связанная транзакция уже невозможна исходя из изменившихся списков?
Пожелания по квику и LUA
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 09:40:55
мне кажется или Вы удалили часть своих сообщений?
Библиотека QCtrls.dll
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 09:19:45
Цитата
sam063rus пишет: С другой стороны, имея AllocTable, можно воспользоваться полу-хакерским методом и создать вместо таблицы какую-нибудь тоже НАТИВНУЮ кнопку или вообще другой контрол средствами Windows API, которая будет работать в окне квика.
под "средствами Windows API" имелось ввиду, конечно, состряпать dll, аналог vclua.
Библиотека QCtrls.dll
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 09:16:31
С другой стороны, имея AllocTable, можно воспользоваться полу-хакерским методом и создать вместо таблицы какую-нибудь тоже НАТИВНУЮ кнопку или вообще другой контрол средствами Windows API, которая будет работать в окне квика. Потому что, эта функция по сути, скорей всего возвращает хендл окна. Насчёт этого, могу, конечно, ошибаться, потому как об истинной реализации могу только догадываться, читая между строк примеры в хелпе QLUA. Но, честно говоря, не хотелось бы до этого опускаться.
Библиотека QCtrls.dll
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 08:56:35
и так с остальными контролами. потому как если разработчики решат вдруг добавить парочку деклассированных то, это выльется в штук 20 функций для работы с этими "деклассированными контролами" и их описаний в хелпе. в итоге, справка по QLUA, равно как и код на QLUA будет стремиться к роману "Война и мир" по объёму.
Библиотека QCtrls.dll
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 08:49:48
таким образом, разработчики, вместо того, чтоб добавлять в qlua вот эти вот, по сути, промежуточные функции: могли бы изначально вписать враппер "quik_table_wrapper" в QLUA, а мы, как пользователи, получили бы удобный, ещё один НАТИВНЫЙ класс в QLUA.
Библиотека QCtrls.dll
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 08:33:31
swerg, я, конечно, понимаю, что Вы более опытный в метатаблицах, их метаметодах, а самое главное, как это всё реализовать (забиндить) на C++ или в том же Лазарусе. Но я не думаю, что таких большинство. Суть разговора в том, что вот у нас есть qctrls.dll и есть пример обёртки на QLUA, как с ней работать, вопрос: нахрена мне, как в первую очередь, трейдеру вся эти "танцы" когда я могу по примеру всё той же vclua в достаточно в простой форме обратиться к таблице, создать/отредактировать/удалить её. и мне даже не понадобиться вникать в то, как реализовано это, главное, чтоб оно БЫЛО реализовано. Или, другой пример, есть функция QLUA message, которая на самом деле combobox с жёстко заданными свойствами (это другой пример крайности). Другая выгода: т.к. это всё будет реализовано не нами, а разработчиками (у которых по определению больше информации) то, это отчасти упростит ранее выявленные проблемы с многопоточностью.
Plugin API
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 08:17:39
Можно заменить и уменьшить единовременную сумму на принцип привязки плагинов к серверу, который используется у Вас. Это позволит Вам иметь хоть и меньший стабильный ежемесячный доход но, больший совокупный по времени использования. А также, ввиду более низкого ценового порога вхождения привлечёт больше заинтересованных пользователей, что обеспечит Вам приличный оборот, причём на ежемесячной основе.
Plugin API
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 08:08:48
Предлагаю всем заинтересованным пользователям поддержать данное предложение в этой теме.
Plugin API
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 08:03:23
В целях уменьшения задавания "глупых" вопросов на форуме, а также для всесторонней поддержки независимых разработчиков и самого квика, предлагаю раскрыть на коммерческой основе интерфейс системы плагинов в квик (QUIK Plugin API), как это сделано в wealth-lab и других раскрученных торговых системах, ставших де-факто стандартом. Например, цена в 50 000 руб. на мой взгляд, устроила бы обе стороны. Это позволило бы самим пользователям сделать квик более гибким, не быть привязанным к qpile или qlua, несмотря на в принципе, достаточно сильный её (qlua) потенциал, избавило бы от использования всевозможных связок: QUIK-QLUA-"что-то там ещё" QUIK-"что-то там ещё", отчасти, упростило бы решение проблем с многопоточностью и синхронизацией.
Если такая цена для Вас приемлема и Вы, как разработчики, считаете её обоснованной за возможную незначительную упущенную выгоду от потери монопольного создания и продажи плагинов к квику, прошу зарегистрировать данное пожелание.
вопрос разработчикам, структура файлов с графиками
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 01:00:59
я надеюсь, что теперь, разработчики хоть немного задумаются над тем, что открытость - это не всегда во вред)))))
Автоматическое переключение на другой сервер
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 00:31:32
Цитата
Дмитрий пишет: у обоих есть возможность не защищать ключ паролем
Это, как это??? Первый раз об этом слышу)))
Библиотека QCtrls.dll
Пользователь
Сообщений: Регистрация: 01.02.2015
14.02.2015 00:28:44
одно дело когда они "внутри" в C-библиотеке и другое дело когда "наружу" в виде всяких врапперов в коде LUA-скрипта.
Пожелания по развитию моб. приложения
Пользователь
Сообщений: Регистрация: 01.02.2015
13.02.2015 15:33:40
Цитата
Egor Zaytsev пишет: это наша недоработка, которую мы обещаем исправить.
а когда научитесь деньги за это платить? или быть может вас надо научить?.....
Автоматическое переключение на другой сервер
Пользователь
Сообщений: Регистрация: 01.02.2015
13.02.2015 15:30:12
а что сейчас разве есть те которые работают без ЭЦП?
Автоматическое переключение на другой сервер
Пользователь
Сообщений: Регистрация: 01.02.2015
13.02.2015 14:16:13
это решение - никакое. не хотел это тут говорить но, у меня двойная авторизция и все ваши плюшечки с тем, что можно по-быстрому переподключиться у меня не проходят. мне приходится указывать помимо пароля ещё и место ключеового контейнера. а стоит серверу потерять коннект - ЭЦП сразу воет, что надо ввести ключ
Web-quik mobile и заявки
Пользователь
Сообщений: Регистрация: 01.02.2015
13.02.2015 14:05:57
отвечу за "этих" - звонок брокеру исправит Вашу прискорбную ситуацию. У него для этого всё есть.
работа с фьючерсами
Пользователь
Сообщений: Регистрация: 01.02.2015
13.02.2015 13:58:54
засада. незасада... Вам ясно сказали, что:
Цитата
Новичкам и НЕновичкам не следует торговать "голыми" фьючерсами, расчитываемыми в валюте отличной от рубля без соответствующей позиции, которая будет страховать валютный риск. Либо, торговать - шустро и крыться перед клирингами и не позднее определённого времени. Но такая торговля, - состояние вам не принесёт.
Но... мыши давились но, продолжали жрать кактус...
неверите мне - поверьте моему опыту с 2008 г.
Автоматическое переключение на другой сервер
Пользователь
Сообщений: Регистрация: 01.02.2015
13.02.2015 11:19:30
а что делать, если он будет просить заново вводить учётные данные(пароль, место хранения ключевого контейнера)?
line break, отображение графиков в виде line break
Пользователь
Сообщений: Регистрация: 01.02.2015
13.02.2015 03:42:06
если Вы про это:
то, что мешает Вам его самому сделать в QLUA?
вопрос разработчикам, структура файлов с графиками
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 18:57:34
Кстати, вот ещё интересная информация:
вопрос разработчикам, структура файлов с графиками
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 18:45:43
оно там есть
Библиотека QCtrls.dll
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 16:39:42
Цитата
Николай Камынин пишет: за исключением его пристрастияк слову "дерьмо".
это ни к кому конкретно не относится. равно, как и я не призываю к тотальному отказу от LUA. просто всё хорошо к месту.
Конвертация Qple на Lua
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 16:36:45
тут разговор о чистом эквиваленте, а вы тут уже и событийную модель успели приплести. вобщем, разговор ниочём.
Вилы Эндрюса
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 14:59:19
походу курнул:)))
специально для Вас они придумали QLUA - так что, можете сами написать себе индикатор на свой вкус, размер и кошелёк:)))
Облигации в таблице "Состояние счёта"
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 14:52:44
в общем, по моей проблеме, по акциям Белон - цена приобретения (средневзвешенная цена позиции) завышена чуть ли не в 2 раза.
Облигации в таблице "Состояние счёта"
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 14:45:08
по облигациям, так: ((Ликв. цена * Номинал / 100 + НКД) * Позиция) - ( (Баланс. цена * Номинал / 100 + НКД) * Позиция ) где, баланс.цена: Средневзвешенная цена открытия позиции. Для облигаций значение указывается в % от номинала ликвидн.цена: Цена, по которой в текущий момент возможно закрытие данной позиции по бумаге. Для облигаций значение указывается в % от номинала
Облигации в таблице "Состояние счёта"
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 14:32:28
квик считает на основе сохранённых в прошлые дни брокером данные. а вот. как брокер сохраняет это вопрос. у меня по портфелю все позиции - всё нормально за исключением Белона.
Облигации в таблице "Состояние счёта"
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 14:29:58
когда брал - срдневзвешенная была, кажется 3,5 что ль. ну или 3,9 но неуверен.
Облигации в таблице "Состояние счёта"
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 14:27:29
Белон:
CreateDataSource, какое правильное расположение функции CreateDataSource?
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 14:17:25
если я правильно понял всю эту хрень, то:
createdatasource без параметров получает данные на основе таблицы всех сделок
наличие setupdatecallback заставляет обновляться при получении изменения по указанному параметру
наличие setemptycallback заставляет обновляться при получении новой свечки
вопрос разработчикам, структура файлов с графиками
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 13:57:35
да уж... только ленивый до сих пор не понял формат dat-файлов :)))))
CreateDataSource, какое правильное расположение функции CreateDataSource?
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 13:48:56
Для того чтобы получить текущее состояние данных достаточно CreateDataSource. Однако чтобы фактически произошла подписка на новые данные (а новыми считаются любые полученные с сервера) то нужен колбек SetEmptyCallback или SetUpdateCallback.
CreateDataSource, какое правильное расположение функции CreateDataSource?
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 13:32:53
Функция SetEmptyCallback это то же самое что и SetUpdateCallback, только указывать функцию не требуется.
Облигации в таблице "Состояние счёта"
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 13:15:45
а почему тогда по остальным позициям всё нормально? у меня только одна позиция (эмитент) сбоит из писка.
CreateDataSource, какое правильное расположение функции CreateDataSource?
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 13:07:33
param – необязательный параметр. Если параметр не задан, то заказываются данные на основании таблицы всех сделок, если задан – данные по этому параметру.
Параметр Тип Описание SetUpdateCallback function Позволяет задать пользователю функцию обратного вызова для обработки изменившихся свечек
таким образом, ничего странного.
Кстати, вот ещё интересная информация:
CreateDataSource, какое правильное расположение функции CreateDataSource?
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 12:27:48
p.s. причём, абсолютно не имеет значения: для графика вам эти свечки понадобились или для скрипта и его datasource, т.к. и там и там идёт обращение к одной и той же функции. а createdatasource - просто обёртка к ней.
CreateDataSource, какое правильное расположение функции CreateDataSource?
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 12:24:57
и что тут странного? рассматривайте папку "archive", как кеш на локальной машине. он служит для того, что уменьшить траффик и, соответственно, нагрузку на квиковские сервера. просто в следующий раз, когда вы опять захотите открыть тот же график - квик уже не будет обращаться на сервер за прошлыми 3000-ми свечами, а качнёт их из файла. а с сервера будет получать только актуальные данные.
Библиотека QCtrls.dll
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 11:36:44
для чего внедряют скрипты? чтоб облегчить жизнь рядовым пользователям (трейдерам), а не программистам. Программистам это облегчает жизнь - лишь отчасти. - уменьшается время на рекомпиллинг. повышается гибкость программы.
если превратить реализацию qlua в сплошные метатаблицы то, кто по вашему сможет ей пользоваться? для кого она? кто целевая аудитория? ответ: только роботорговцы, которые изначально опытней рядовых трейдеров и программисты. напрашивается тогда вопрос: а кому это надо? мои предложения направлены на соблюдение интересов основной массы пользователей - трейдеров. а если роботорговцы так хорошо разбираются то, что мешает им создать свою ТС и устанавливать свои правила? (извиняюсь если чем обидел)
Библиотека QCtrls.dll
Пользователь
Сообщений: Регистрация: 01.02.2015
12.02.2015 11:22:30
Цитата
s_mike@rambler.ru пишет: я никак не приветствую навязывание мне каких-то готовых классов с неизбежными ограничениями:
нет проблем: пишите на ассемблере:)) полная свобода действий.
а вообще-то никто и не говорил про ограничения, а наоборот. к тому же qlua развивается именно по экстенсивной модели и ничто, что до этого работало не отбрасывается.
Цитата
s_mike@rambler.ru пишет: Касаемо метатаблиц. Нам (мне) мусор с метатаблицами очень нужен.
да не волнуйтесь вы так - чтоб он исчез - потребовалось бы переписать саму LUA, что естественно делать никто не станет. Тут разговор о высокоуровневой надстройке к qlua и большей открытости её GUI.