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

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

Страницы: 1 2 3 4 5 6 7 8 След.
Как запустить скрипт qlua из командной строки?
 
Максим, Скрипт на Lua - это ИНТЕРПРЕТИРУЕМЫЙ код. Проще говоря, текст. Кто ж его интерпретировать (читать) будет? Из командной строки можно запустить разве что Квик.
Получение параметров
 
getParamEx, АДНАЗАЧНА! Он по-любому нужен, а все остальные по большому счёту, нафиг не нужны.  
ParamRequest и getParamEx2, Как получить актуальные данные через getParamEx2?
 
Старатель, Совершенно верно: у меня всегда открыта ТТТ, и в неё добавлены все интересующие меня инструменты и параметры. И я принципиально не пользуюсь ParamRequest - скрипт у меня работает только с Квиком, позволяя торговать и мне, в режиме кентавра - либо через команды скрипту, либо самостоятельно, через стаканы (о моих сделках в этом случае он узнаёт через OnTrade). Мало того: я ТОЖЕ "истинный ценитель автоматизации", у которого в терминале открыто не просто "только одно окно: Доступные скрипты", но и в окне этом только один скрипт.  :smile: Я пока ещё торгую и сам "по инерции", но уже почти все тикеры отдал на откуп скрипту - доказано, что он торгует лучше меня. А потому ТТТ заказана, в основном, для него, и может быть свёрнута в иконку и тихонечко лежать там, не раздражая юзера своим мельтешением.

Да, есть ещё "окна, созданные скриптами" - сводная таблица и контекстное меню, всплывающее по клику на строчку этой таблицы. А ещё у меня есть таблица "состояние счёта" (для контроля - я туда редко заглядываю), таблица заявок (с той же целью), позиции по деньгам и клиентский портфель, показывающий мгновенную ликвидность. Всё для юзера. Я даже написал версию, которая торгует только сама и выводит только текущее состояние денег по каждой валюте (3 строчки, 5 столбцов), но на неё скучно смотреть - она показывает только "то, что было", но не "то, что будет".  :smile:

Да, я подумал несколько иное - извиняюсь.
ParamRequest и getParamEx2, Как получить актуальные данные через getParamEx2?
 
Старатель, Это Вы не в теме.  :wink: Скрипт ТОЖЕ не может "выполнить действие" - он может лишь послать заявку, и за это время котировка ТОЖЕ может поменяться. Я вначале собирался ставить в заявку BID или OFFER - как раз для мгновенного исполнения, но потом передумал, ибо это ТОЖЕ ничего не гарантирует. Но для любого тикера всегда существует некий "дребезг", и потому в 99 случаях из 100 заявка по LAST всё равно сработает в течение пары минут, если не секунд, так что работает мой скрипт ТОЛЬКО по LAST и ТОЛЬКО опросом ТТТ. И только за сегодня у него уже есть одна сделка у одного брокера (рублёвая) и шесть сделок у другого (долларовые). ЧТД!
ParamRequest и getParamEx2, Как получить актуальные данные через getParamEx2?
 
Александр, Ну так и получать надо эти "актуальные данные" тупым опросом ТТТ - тыщу раз уж об этом писал! Даже если интернет отрублен или биржа не работает - даже тогда там есть какие-то данные, вполне себе "актуальные" - просто курс не движется, и робот, который "используется для автоматизации", вполне в состоянии их читать. Что мой и делает раз в секунду. Данные - пальчики оближешь, актуальнее не бывает, надёжнее тоже не бывает, ждать ничего не надо. НУ НАФИГА вам искать на свою задницу приключений?
Как облегчить работу с метками на графике, Медленное перемещение графика при просмотре и масштабировании
 
Евгений, А я вообще не припомню случая, чтобы я отвечал на вопросы, если не знаю на них ответа. И в этой ветке я тоже ЗНАЛ ответ: НЕ МОЖЕТ причиной Ваших проблем быть "слабость процессора". О чём и сообщил. А флуд начали именно Вы. Так "не лучше ль на себя кума, оборотиться"?  :wink:

Я сюда пришёл... а, ну да - в конце сентября, АБСОЛЮТНО ничего не знающий про Lua (но кое-что знающий про Квик). И мне здесь реально помогли несколько раз. Сейчас же я знаю про программирование на Lua практически всё [что мне необходимо], и иногда помогаю другим - "долг платежом красен". Ну, а "что называется били себя в грудь" тоже именно Вы, изображая себя экспертом. За что и получили. :wink:  
Как облегчить работу с метками на графике, Медленное перемещение графика при просмотре и масштабировании
 
Евгений, А кто сказал, что вы тут эксперты?  :smile: Достаточно посмотреть на здешние ветки, на проблемы, которые здесь обсуждаются, на глюки, которые не исправляются годами, на версии софта, которые плодятся, как тараканы... Вот, скажем, есть в Квике таблица заявок - скрипт тут вообще никаким боком, она для юзера. Так вот: при разрыве связи в этой таблице некоторые строки просто пропадают, на их месте белые пятна, которые так и сидят до конца сеанса. При этом, если создать новое окно заявок (или перезапустить Квик), то информация всех этих строк на своих местах. Так что же требовать от поддержки языка (на котором мало ли что можно написать), если даже простейший диалог такой глючный? А "проверить как он бабло рубит" я и сам в состоянии - для этого вполне достаточно знаний по арифметике для первого класса. А ошибки... вот у меня есть три задумки, которые мне пока просто лень реализовывать: а) убрать заглушку "1 заявка - 1 лот" (иначе могут проявляться неприятные глюки по OnTrade, я об этом писал) б) снимать заявки, которые не сработали в течение 5 минут и в) попробовать поторговать с плечом (чисто из спортивного интереса, чтобы посмотреть, насколько выгодно кормить брокера). А больше я и не знаю, чего от скрипта желать: МЕНЯ он и так полностью устраивает - это и так вполне себе "конфетка".

Да, видел я здесь пару-тройку "братьев по разуму". Но не больше.  :sad:  
Как облегчить работу с метками на графике, Медленное перемещение графика при просмотре и масштабировании
 
Евгений, Я же сказал: я н продаю скрипты. К тому же, это не просто первый, но и единственный мой крипт на Lua. А его секретов я и сам не знаю. Нередко бывало, что я возмущался: "Да что же ты, скотина, делаешь?! Нужно продавать, а ты покупаешь"! Но в 9 случаях из 10 я был вынужден признать его правоту: он понимает рынок лучше меня.  :smile:  
Как облегчить работу с метками на графике, Медленное перемещение графика при просмотре и масштабировании
 
Евгений, Я писал этот скрипт для себя, любовно, а не для продажи. И приносит он мне все 100% того, что зарабатывает.  :smile:  2% в день - это слишком круто для него, но пару раз случалось и такое.
Как облегчить работу с метками на графике, Медленное перемещение графика при просмотре и масштабировании
 
Какой можно делать вывод из этого? Какой угодно, кроме "слабоват процессор". Задачи торговли просто смешны по нагрузке на процессор (да и на сеть тоже). На кой нужна куча потоков или чтобы "каждый график или хотя бы вкладка были в отдельных потоках" - без понятия. У меня один скрипт, работает "вот прям ща" на двух Квиках (двух разных провайдеров), загрузка ЦП (двухъядерник с двумя гигами ОЗУ) болтается в районе 5-10%, сетевая нагрузка тоже практически пуста. Ах, нет - ОЗУ всё-таки 4 гига. В общем, "дело было не в бобине". :smile:  
Подкиньте идею
 
Nikolay, Лично у меня интерфейс с сервером отсутствует как класс. Интерфейс с Квиком ужат до предела, до пары-тройки утилит. А интерфейс с юзером имеет все возможности, которые вообще можно выжать из чистого Lua.

Да как угодно "эта группа формируется"! Объект реакции на событие типа "группа событий" не может быть втиснут в очередь событий - здесь требуется именно стек очередей, поскольку все объекты этой очереди должны быть обработаны "вне очереди".
Подкиньте идею
 
Nikolay, Оба-на! Я когда-то занимался диалоговыми программами, и у меня всегда имело ОГРОМНОЕ значение, где событие прошло! В частности, обработчики событий в главном и контекстном меню моего скрипта совершенно разные. Кроме того, "очередь событий" автоматически делает невозможной иметь объект реакции типа "группа событий", что накладывает просто крест на хоть сколько-нибудь сложном диалоге. Наконец, обмен событиями между скриптами (тем более, на Lua) - это идеологический маразм, это не будет работать НИКОГДА! В крайнем (и далеко не лучшем :smile:) случае это будет служить ВЕЧНЫМ источником глюков. А глюков в Lua и без того более, чем достаточно.
Подкиньте идею
 
Игорь Б, По условию там вроде как МНОЖЕСТВО скриптов, и все они должны ПИСАТЬ, готовя сводную таблицу. Я вижу такое решение файл - один, но для каждого скрипта выделяется собственное пространство (фиксированного объёма). Далее они читают и пишут только в свои зоны, а общий диспетчер (который эту таблицу формирует) ставит флаги "прочитано, можно писать следующую порцию". В любом случае, работа множества скриптов с обменом информацией через файл есть геморрой.
Подкиньте идею
 
Kolossi, Подкидываю идею: объединить "несколько роботов" в один и не мучиться. :smile:

Ну, а если не хочется, то есть только два способа: через файл и через ОЗУ двойного доступа (для Lua нереально). Поэтому (если s_mike прав) пусть ГЛАВНЫЙ скрипт, запускаемый первым, создаёт эту общую таблицу, записывает её ID в файл, а остальные читают при запуске. А скрипты могут ничего не проверять, если "главный скрипт" по выходу убьёт их всех (правда, я не знаю как это сделать и можно ли сделать вообще).
Самый быстрый способ получить данные по инструменту
 
Алексей Злобин, А зачем? Если меня полностью устраивает ЭТОТ вариант? От добра добра не ищут... :smile:  
Самый быстрый способ получить данные по инструменту
 
getParamEx (без всяких "двоек"). Акций ММВБ смешное количество - я опрашиваю одновременно и акции СПБ. Да, скрипт у меня один-единственный на все случаи жизни. :smile:  
Получение данных из таблицы текущих торгов
 
Да ведь копеечная экономия! Я, правда, не работал "с огромными тыщами", но несколько сотен тикеров этот вариант преспокойно обслуживает.
Получение данных из таблицы текущих торгов
 
foobar, А я вообще с сервером не связываюсь: все данные получаю только от Квика, команды даю тоже только ему. В мейне стоит тупой цикл:
Код
 while f do
  r();      -- раз в секунду запускаем утилиту опроса
  sleep(1000);   -- текущих данных и принятия решений по ним
 end;
А внутри ежесекундного прерывания ещё один тупой цикл с опросом:
Код
function r()   -- мелкий обработчик прерывания по таймеру
 for i=0,N-1 do -- цикл по тикерам (прорисовка таблицы)
  s=a[i][2];   -- предыдущее и последнее значение курса
  a[i][2]=tonumber(getParamEx(a[i][1][0],a[i][0],"LAST").param_value);
...
Таким образом, коллбэки мне нужны только на OnTrade. Не хило бы, конечно, иметь ещё и по OnOrder, но там множество разных глюков, разбираться с которыми не имею ни малейшего желания, а потому выкинул это прерывание вообще. Никто ничего не жрёт, ничего не помирает, таблица спокойно обновляется, команды на покупку или продажу передаются в Квик - что ещё нужно от скрипта? А в более тяжёлом (15-секундном) прерывании (вызываемом прямо из этого, то есть фактически тоже в мейне) я считаю свечи по разным периодам и ещё кое-что. Мне - ндравицца! :smile:  
Ошибка в работе lua скрипта в quik 8.8.4.3
 
swerg, Я, милок, уже пару раз здесь говорил, что с раннего детства терпеть не могу распальцованных дураков и редко спускаю им их "поучения".  А моя некомпетентность привела к тому, что мой скрипт уже с месяц как полностью рабочий, и в последние дни я занимаюсь тончайшей шлифовкой алгоритма. Точнее, занимался - последние два дня я просто любуюсь его работой, и только за сегодня он уже принёс мне 1.6% прибыли, а ещё не вечер! Надеюсь, к концу дня будет 2%. Впрочем, неважно. И ему НАСРАТЬ на бесконечно меняющиеся версии софта - он [пока что] прекрасно уживается с любыми. Осталось разве что убрать кретинизм с "1 заявка - 1 лот", и больше я вообще от него ничего не хочу. Так что НЕ СОВЕТУЮ разным умникам "отвечать на мой идиотизм" - чревато. Вот подобные "отвлечённые" тяфтяфки - это сколько угодно. :wink:  
Ошибка в работе lua скрипта в quik 8.8.4.3
 
s_mike@rambler.ru, Лапуль, что-то мне подсказывает, что "базовых знаний" у меня раз эдак в сто поболе, чем у Вас.  :wink: Автор ветки КУПИЛ рабочий Lua-скрипт, а НЕ какую-либо скомпилированную библиотеку, на которые конечным пользователям именно НАСРАТЬ - они не знают, что это вообще такое, и знать не хотят. И правильно делают! Мало того: у автора НИ ЗВУКА не сказано про компиляцию, кроме диагностики, содержащей слова "in precompiled chunk". Мало того: довожу до Вашего сведения, что скомпилированный код - это ТОЖЕ код, только на другом языке! И конечному пользователю АБСОЛЮТНО насрать как на компиляцию, так и на декомпиляцию - он имеет полное право вообще ничего не знать даже о существовании того и другого - он купил конечный продукт, который ОБЯЗАН работать!

Да, "у меня через слово упоминаются экскременты", и это НЕ случайно. Ибо подобная математика есть ГОВНО! IF под каждую сраную версию софта, которые плодятся как тараканы, требуется вмешательство разработчиков конечных продуктов под неё THEN такой софт есть ГОВНО! И подобные Вам программисты, гнущие пальцы с вумным видом и немедленно затыкающие хлебальники при первом же щелчке по носу (как это сделали лично Вы в соседней ветке), в моём понимании, характеризуются тем же  термином.
Ошибка в работе lua скрипта в quik 8.8.4.3
 
И автор будет дурак, если деньги вернёт. :smile: Он, насколько я понимаю, писал скрипт на ЯЗЫКЕ Lua, который вряд ли претерпел значительные изменения (по крайней мере, в описании языка). А если скрипт вдруг ПЕРЕСТАЛ работать в новой версии, причём он РАБОТАЛ в той версии, которая была рабочей в момент разработки скрипта, то автор-то здесь при чём? Сам факт, что текущая версия имеет номер 8.8.4.3 говорит о том, что все они есть полное дерьмо. ВСЕ ДО ЕДИНОЙ!

P.S. Моему скрипту НАСРАТЬ, какая версия Квика используется (у одного брокера это 8.7.1.3, у другого 8.10.3.1, причём, насколько я помню, я раз 5 эти версии обновлял, даже не глядя, что там за изменения произошли) - именно поэтому  писал свой скрипт (и неоднократно предлагал делать то же самое другим разработчикам) на чистейшем Lua, который ОБЯЗАНЫ поддерживать ВСЕ библиотеки! А если вдруг И ЭТО не так, то гнать надо взашей всех разработчиков!
Сравнение вещественных чисел., (55.3 < 55.3) - верно!
 
Сергей, Эпсилон работает не в пример быстрее и не в пример надёжнее. :smile:  
Сравнение вещественных чисел., (55.3 < 55.3) - верно!
 
Ну да, стандартное решение в подобных случаях - добавить некий "эпсилон", очень малый по сравнению с "рабочими" числами"
Сравнение вещественных чисел., (55.3 < 55.3) - верно!
 
Владимир, О, Господи! Вы что, на каждый чих лог открываете?! Его надо открывать ОДИН раз в начале работы скрипта и закрывать в конце.
Сравнение вещественных чисел., (55.3 < 55.3) - верно!
 
Сергей, Да плевать на все "шаги фьючерса"! Попробуйте вывести в ветке else что-то типа:
F:write(string.format("x1=%1.5f x2=%1.5 x1*10=%1.5f x2*10=%1.5f\n",x1,x2,x1*10,x2*10));
Сравнение вещественных чисел., (55.3 < 55.3) - верно!
 
Сергей, А КАК ИМЕННО они "в лог пишутся"? Может, "%1.1f"? Код приведите...
Сравнение вещественных чисел., (55.3 < 55.3) - верно!
 
Сергей, Скорее всего, никакой ошибки нет, поскольку на самом деле числа там что-то вроде 55.30001 и 55.29999 или что-то в этом роде. а вот "переводить в целые и работать в целых" не получится - никаких целых в этом языке просто нет.  :smile:  
Status это работает ?
 
Nikolay, Да плевать, кто там что "отдаёт", а что "режет"! Данные должны быть корректные ВСЕГДА. И именно язык со своей долбаной динамической типизацией вносит сюда неопределённость.

А я уже "научен горьким опытом" - у меня давным-давно в таблицах стоит тип "строка" на всякий пожарный.  :smile: Но даже это не всегда помогает! Что до прерываний - мне просто СТЫДНО писать на клиенте-интерпретаторе заглушку на многократное поступление прерываний, а ещё и вразнобой - тем более, что глюкам этим много лет. Но что делать - поставил: "одна заявка - один лот". На код смотреть тошно, но терплю...

Ну да, да - это я скопировал новый код, раньше было просто чтение поля, которое задавалось как число, и без всякого tonumber. Тоже не работало. А сортировка и так работает "спицифиццски" - ей по барабану, стоит там минус в начале или нет. Тоже маразм но я уже привык. :smile:  
Status это работает ?
 
s_mike@rambler.ru, Динамическая типизация тут ПРИ ЧЁМ! Чуть не в половине веток этого форума обсуждаются проблемы, так или иначе связанные с тем, что программист лишён возможности определять тип переменных, который зависит лишь от того, какая именно моча ударит в голову исполнительному механизму в данный момент. А "чтецам документации" я уж цитировал давнее: "Читайте сами, раз уж ничего оттуда внятно процитировать не можете". И ответьте на вопросы ветки, господин "понимающий": С КАКОГО БОДУНА "все работает, а опционы к вечеру статус = 0, хотя все торгуется"? С КАКОГО БОДУНА техподдержка рекомендует использовать param_image, а не param_value в получении статуса? С КАКОГО БОДУНА конструкция
iT=tonumber(GetCell(T,p1,0).image);
работает, а
iT=tonumber(GetCell(T,p1,0).value);
НЕ работает? С КАКОГО БОДУНА OnTrade и OnOrder дают по 2-3-4 прерывания на одно событие? В какой такой "документации" это написано, господа "рядовые программисты"? Вон, там написано, что в языке и goto есть, а на проверку там кастрированное убожество, которое абсолютно нихрена не умеет. Молчите? То-то же... :wink:  
Status это работает ?
 
Этот маразм с этой долбаной "динамической типизацией" вообще вряд ли кто может объяснить. Я вот тоже вынужден использовать код вида:
iT=tonumber(GetCell(T,p1,0).image);
поскольку "нормальная" конструкция работать напрочь отказывается. А param_image вроде как всегда строка. И вообще, за динамическую типизацию руки-ноги бы повыдёргивал всем козлам, которые этот кретинизм придумали, ибо они АБСОЛЮТНО нихрена не понимают в программировании.
Не могу найти в документации код для "Тип инстр-та" для передачи его в GetParamEx
 
Создаёте в Квике таблицу текущих торгов, забрасываете туда все инструменты, которые там вообще есть, забрасываете туда же столбцы "код инструмента", "код класса", "тип инструмента" и что там Вам ещё надобно. Кликаете правой кнопкой мыши по таблице, выбираете "копировать всё" и делайте с этим, что Вам заблагорассудится.
Получение данных из таблицы текущих торгов
 
Я формирую таблицу в мейне, заполняю её строками (удаляю ненужные или добавляю недостающие) тоже в мейне (раз в 15 секунд), заполняю ячейки данными тоже в мейне (раз в секунду) - тогда и получаю необходимые данные (через GetParamEx) для нескольких сотен инструментов разных классов. Времени это не жрёт, от слова "совсем". И никаких коллбэков, от того же самого слова. Исключение - OnStop и OnTrade. Чего и  другим советую.  :smile:  
Online Oткрытые позиции по фьючерсам, Продукт позволяет в течение дня получать статистику по открытым позициям физических и юридических лиц с пятиминутными интервалами
 
Столь же понятно, что никто этот продукт не купит и за 50 деревянных. :smile:  
Можно ли сделать скрипт, который будет запрещать устанавливать более 1 заявки в 5 минут
 
Сделать такой скрипт можно за 5 секунд. Достаточно поставить в цикле мейна sleep(300000), а в обработчике поставить messagе("МОЖНО!")  :smile:  
Инструменты технического анализа, Доступ и Lua
 
Евгений, А это уж как кому заблагорассудится. Лично я плюю на них на всех с высокой колокольни.  :smile:  
Некорректная выгрузка DLL при завершении скрипта, Некорректная выгрузка DLL при завершении скрипта
 
Виталий, Конечно, "на Lua были и есть траблы". Но они более-менее стабильные: отладил - и забыл на долгие годы.

ЧАВО???!!! Какие "100500 строк кода"?! Вот фрагмент основной таблицы моего скрипта (сегодняшний слепок) - раскрашен, как попугай! Блин, как тут картинку-то вставить? Ага, кажись, вот так...

Не знаю, не знаю. Я вот как раз и рассчитываю, что этот мой скрипт и будет "5 лет без сбоев работать". А у Билла и было-то три операционки: DOS 3.3, Win-95, да WinNT - какой уж тут, в задницу, "прогресс"...
Некорректная выгрузка DLL при завершении скрипта, Некорректная выгрузка DLL при завершении скрипта
 
Виталий, Господи, я прекрасно понимаю, что интерпретируемый язык на 1-2 порядка медленнее. Но кому нужен ТАКОЙ код? Нормальные алгоритмы торговли времени почти не требуют.

Насчёт "есть логика, которую банально удобнее и проще реализовывать на иных языках" - вообще-то, согласен: меня в своё время дико раздражало отсутствие типа integer и булевых операций. Но вот зачем "lua отдает данные во внешку" - это выше моего понимания! :smile:

Насколько я вижу по этому форуму, проблемы с переходом на новую версию возникают как раз не у тех, кто пишет на lua (кстати, есть тут такие, кроме меня?), а как раз у "альтернативщиков". А чего "чинить логику"? Во всех языках чуть не самая стабильная конструкция как раз if-then-else. Я и писал на lua, и других агитировал это делать как раз под этим самым лозунгом: "Меньше шансов, что в очередное "полезное" обновление что-то отвалится".

Да, я именно "логами и мессагами" и отлаживался. А "удобным отладчиком" не пользуюсь вот уже лет 30 - с тех пор, как нарвался, что в сложных случаях глючит как раз пошаговый отладчик.

Ну да, в Lua у нас таблицы, причём безобразно сделанные и глючащие. А что ещё нужно, кроме "примитивных ячеек и кликов по ним"? Ну, горячих клавиш пара-тройка. У меня одна таблица информационная (динамически обновляемая, имеющая три режима выдачи), а вторая - контекстное меню для каждой строки первой таблицы! Накидать его можно... ну, не за секунды, а за пару часов. Накидал и забыл! Много дней у меня уж работает этот диалог, и он меня ПОЛНОСТЬЮ устраивает! Всё, у меня диалог ГОТОВ! Написан и забыт. Остались небольшие проблемы с этими долбаными прерываниями, которые тут приходят целой колодой, да ещё вразнобой. Ну и шлифовка своих алгоритмов - всю эту неделю скрипт торгует в автоматическом режиме, а я за ним присматриваю и пытаюсь понять: лучше меня он торгует или хуже. Результат явно не в мою пользу, так что даже и не знаю, что там ещё улучшать. :smile:  
Некорректная выгрузка DLL при завершении скрипта, Некорректная выгрузка DLL при завершении скрипта
 
Виталий, Вот режь меня, жги меня - НЕ ПОНИМАЮ, зачем здесь более быстрый язык! У меня и весь диалог, и вся индикация, и весь обмен с сервером написан на чистом Lua, и скрипт большую часть времени просто спит! Держит при этом несколько десятков тикеров (моделировал пару тысяч - разницы по скорости вообще не заметил). Свечи считаю сам (по десятку разных временных периодов), стоп-лоссы отслеживаю сам - НУ ЧТО тут может отжирать время, НУ ЧТО? О какой-никакой стабильности можно говорить как раз относительно Lua - дерьмо, конечно, но стабильное. А уж если тут определяют номера версий софта, настраиваются на них - какая тут может быть стабильность?
Некорректная выгрузка DLL при завершении скрипта, Некорректная выгрузка DLL при завершении скрипта
 
Александр, Лапуль, я уже говорил, что с раннего детства терпеть не могу распальцованных дураков. Гнутых пальцев я тут уже видел выше крыши, а программистов - полтора человека, и уж Вы никоим образом к ним не относитесь. Так что НЕ ВАМ что-то тут вякать про "пора менять работу".  :wink: И говорил уже тыщу раз: задачи организации торговли настолько элементарны, что решаются ЛЮБЫМ способом. В частности, на чистом Lua, без всего этого маразма с обилием языков, библиотек, версий и прочей лабуды.
Highlight с дробным timeout, не работает, но возвращает true
 
Старатель, Тип "string" всегда и везде, иначе наверняка ещё пару лет будут проблемы.  :smile:  
Некорректная выгрузка DLL при завершении скрипта, Некорректная выгрузка DLL при завершении скрипта
 
Александр, Я всегда спокоен, лапуль. И глюки все давно исправил. Вернее, один остался- не знаю, как именно исправлять - может, и не буду, заглушка на этот глюк (не мой, Квика - я о нём писал) и сейчас работает нормально.  
Некорректная выгрузка DLL при завершении скрипта, Некорректная выгрузка DLL при завершении скрипта
 
Александр,  Тут всем пора менять работу - программисты вымерли. Логика на C++, интерфейс на C#, форум по Lua...

У меня опыт работы 30+ лет, и я не могу "связать 3 интерфейса, чтобы запустить сборку". Более того, считаю это клиническим маразмом, так что сделал логику на Lua, интерфейс на Lua и всё остальное тоже на Lua.  :smile:  
Некорректная выгрузка DLL при завершении скрипта, Некорректная выгрузка DLL при завершении скрипта
 
Виталий, Не вижу ничего странного. Дело денежное и, следовательно, должно быть полностью подконтрольным. Тут просто не может не быть монополии! Вы полагаете, что какой-нибудь Сбербанк позволит использовать не аттестованное им программное обеспечение? Ну, конечно, должна быть создана видимость некоторой конкуренции. А конкуренции быть не может по определению - слишком проста математика для обеспечения сделок на бирже. Проста, понятна и логична. А потому весь этот туман от лукавого. Это не технические проблемы - это только политические.
Кто как решает вопрос с заявками/сделками?
 
Nikolay, Да я понял, понял - "зачем просто, когда можно сложно"? :smile:

НАФИГА юзеру "много тонкостей и нюансов"? Прошла сделка - пришло ОДНО прерывание, и дело с концом! Прошло изменение завки - тоже пришло ОДНО прерывание. А эти "тонкости" обычно называют "глюками".

Ну, хорошо: "все это обсуждалось на этом форуме уже много много лет, предложены разные варианты решений". Эти предложения РЕАЛИЗОВАНЫ, наконец, или "как всегда"?

Да мне плевать на таблицу trades - я туда вообще не лезу никогда! Пусть там "номер транзакции появляется не всегда сразу" - мне какое дело? вот когда он "потом меняется на корректный" - тогда и дайте мне НОРМАЛЬНЫЙ OnTrade! Неужели за "много лет" такого "варианта решения" так и не было предложено? Ну, ловите - предлагаю...  :smile:  
Некорректная выгрузка DLL при завершении скрипта, Некорректная выгрузка DLL при завершении скрипта
 
Виталий, Аналогов этому терминалу нет и не будет. Ибо задачи разработчиков диаметрально противоположны задачам пользователей: им не нужна стабильно работающая версия, им нужен непрерывный апдейт для имитации бурной деятельности. Алгоритмически задача торговли тупа до неприличия: есть какие-то курсы, которые либо растут, либо падают, либо стоят на месте, И ВСЁ - больше здесь нифига нет! Ну, кое-какие проблемы с передачей данных - деньги всё-таки, "безопасность", панимаш! А вот если туда впендюрить и DLL, и ОС, и .NET, всё это хорошенько палкой перемешать, изуродовать язык со страшной силой... тогда разработчикам будет обеспечен фронт работ на долгие годы.  :smile:  
Некорректная выгрузка DLL при завершении скрипта, Некорректная выгрузка DLL при завершении скрипта
 
Виталий, Так ведь хрень вполне себе стейбл!  :smile:  
Кто как решает вопрос с заявками/сделками?
 
swerg, А что ещё делать остаётся?  :smile: Управление теряется, прерывания идут как бог на душу положит, с типами данных полная задница, например:
iT=tonumber(GetCell(T,p1,0).value); - скрипт вылетает, причём даже не хрюкает - смотрю, а он уже полчаса как стоит, а вот
iT=tonumber(GetCell(T,p1,0).image); - пока работает.
Ну и куча других аналогичных "мелочей". Я ведь писал когда-то, прямо в этой ветке - как чувствовал:
4. Я считаю (лучше сказать "надеюсь"), что прерывание OnTrade НЕ МОЖЕТ "потеряться" и придти после того, как пришла информация о другой сделке по той же заявке, а потому...
Зря надеялся.  :smile:  
Кто как решает вопрос с заявками/сделками?
 
Как оказалось, я страдал чрезмерным оптимизмом: мало того, что прерывания OnOrder и OnTrade приходят пачками (что, конечно, есть форменное свинство и должно быть исправлено), так они ещё приходят и вразнобой! По крайней мере, когда одна заявка реализуется через нескольких сделок: сначала приходит OnTrade с ID заявки и ID сделки, затем с ID заявки и ID ВТОРОЙ сделки, а затем с ID заявки и снова, падла. с ID ПЕРВОЙ сделки! В результате мой алгоритм думает, что сделок совершено больше, чем в действительности. Ну руки бы пообрывал таким программерам! И что мне теперь, держать инфу обо всех сделках до конца сеанса и бегать по ним по всем - вдруг она уже обработана? УЖАС, господа! Столько версий расплодилось - НУ ХОТЬ ЧТО-НИБУДЬ БЫ работало по-человечески!
CreateDataSource, не грузятся данные при формир. через CreateDataSource
 
Виктор, Архивы торгов ведутся во многих местах - например, вот архив акций, торгующихся на СПб - отсюда я качал минутные свечи за полгода чуть не по тысяче тикеров (когда отлаживал свой алгоритм): http://mfd.ru/export/?groupId=33

А сейчас я и вообще свечи считаю сам (в прерываниях по таймеру), на небольших временных интервалах (до часовых, кажется), но мне больше и не требуется.
Программисты на LUA, Требуются LUA программисты
 
nikolz, Секрет. Алгоритм у меня свой, и (тьфу-тьфу!) очень хороший. :smile:

На исторических данных я работал до июня, и это было довольно утомительно. Да, "сделки будут разные", но только потому, что там у меня были минутные свечи (собссно, только цена закрытия), а сейчас я ориентируюсь на цену последней сделки из getParamEx. И я больше не гоняю исторические данные, ибо точно знаю: алгоритм - тот же (с некоторыми улучшениями по результатам работы).
Страницы: 1 2 3 4 5 6 7 8 След.
Наверх