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

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

Страницы: Пред. 1 ... 28 29 30 31 32 33 34 35 36 37 38 ... 41 След.
Отладка QUIK 8.12
 
Евгений, Это проблемы робота, а не версии. :smile:

Мой мониторит 200-300 инструментов, заявки выставляет... ну вот за сегодня на текущий момент их 49 (4 активных, остальные исполнены) плюс десяток у другого брокера. Всё это работает на всех версиях без каких-либо проблем, не говоря уже про зависания (чистый Lua, которому по барабану все эти версии). Задержка реакции на события от мыши и клавы у меня вначале максимально могла достигать одной секунды, сейчас я понизил порог до 150 мс, так что реакция практически мгновенная. Как можно добиться "даже десятков  секунд"?
Запаздывание OnOrder, Телега неумолимо бежит впереди лошади
 
Я когда-то чуток поигрался с OnOrder, и у меня сложилось впечатление, что там сидит добрый десяток подводных камней. Разбираться не стал, выкинул нафиг (оставил только OnTrade) и ни разу об этом не пожалел. Зачем он нужен, этот OnOrder? Чтобы получить сообщение, что заявка отклонена? Ну, не будет OnTrade - делов-то?
Индекс формирующегося бара.
 
Alexander, Странно. Я уже забыл, как это делается, но точно помню, что получал минутные свечи за полгода, причём сразу по 30 тикерам (больше они не давали), а всего тикеров было порядка полутысячи. Данные с тиками действительно давались не более, чем на месяц (кажется), а свечи.. но уж точно счёт шёл не на недели! Не говоря уже о более тяжёлых.
Индекс формирующегося бара.
 
Alexander, Истории минутных свечей (да хоть тиков!) практически за любой период в Инете до мамы! Я когда-то этим интересовался (историю брал с сайта mfd.ru), но уже с полгода как завязал с этим занятием: сейчас меня интересуют максимум часовые свечи, причём теперь я их считаю сам. Чего и другим советую. СКАЗКА!  :smile:  
Отладка QUIK 8.12
 
Константин, Это называется "ничего с собой не ношу". Пишу без lib и ничего не компилирую, чтобы вообще ни от чего не зависеть. Проще не бывает. :smile:  
Индекс формирующегося бара.
 
Alexander, А почему здесь круглые скобки? Все эти O, C, V - они что, функции?
Нулевые значения PRICEMIN и PRICEMAX
 
УПС! Только сказал - у всех перекинулся в единичку! Но у нашего Тантала по-прежнему 0. Чо делается... :smile:  
Нулевые значения PRICEMIN и PRICEMAX
 
Nikolay, Ну почему же? Вот прям ща У ВСЕХ тикеров класса FQBR данные как раз некорректные. В частности, У ВСЕХ у них сейчас LOTSIZE равен нулю. :smile:  
Нулевые значения PRICEMIN и PRICEMAX
 
rodionos,
5. Через месяц написать письмо по той же проблеме. :smile:

Я тут когда-то писал, что пользуюсь только LOTSIZE. Как оказалось, даже LOTSIZE иногда приходит нулевым!
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
 
swerg, Это основной закон программирования, действующий почти для любого софта: самая удачная версия примерно третья, далее идёт загаживание продукта всяким дерьмом, и он медленно умирает. То же с книгами (достаточно вспомнить хотя бы "Робинзона Крузо" с его дурацкими "продолжениями"), с фильмами (не говоря уже про сериалы), с операционками (MS-DOS 3.3+Win-95+NT4/5+всё остальное дерьмо), с браузерами (здесь уже буквально все версии изуродованы до уровня половой тряпки) и со всем остальным. У гениев чуть иначе: "Бетховен написал три симфонии: первую, пятую и девятую". :smile:  
4.24 Транзакции. Флаги транзакции., Что это такое?
 
XXM, О! Ещё один грамотей нарисовался! Прям дословно!  :smile:

В качестве "замусоривания темы": народ, обратили внимание какие кульбиты выписывает "зиночка" (ZYNE)? Превосходный тест для отладки софта! Все уже озолотились?  :smile:  
4.24 Транзакции. Флаги транзакции., Что это такое?
 
XXM, Хренли там крутого? Флаг - это битик в соответствующей позиции двоичного представления числа. Надеюсь, хоть это Вам известно?
4.24 Транзакции. Флаги транзакции., Что это такое?
 
XXM, Даю описание:
2097152+262144+131072+1=2490369
2097152+262144+1=2359297
4.24 Транзакции. Флаги транзакции., Что это такое?
 
О! Я же говорил, что они нафиг не нужны! :smile:  
4.24 Транзакции. Флаги транзакции., Что это такое?
 
XXM, Ого! Они что,, и описания меняют с той же частотой, что и версии?  :smile:

Ну, допустим, там ЕСТЬ какие-то флаги, при этом никто не знает какие и на кой они кому нужны. Логично будет считать, что их НЕТ!
4.24 Транзакции. Флаги транзакции., Что это такое?
 
Михаил Филимонов, Пункт 4.24 называется "Описание параметров транзакций". Транзакции возвращают таблицы (да у Lua больше и нет нифига), а в таблицах этих бывают поля флагов - в частности, в таблице транзакций ТОЖЕ есть поле "flags" (NUMBER), о котором  в пункте 4.24 сказано: "Флаги транзакции (временно не используется)".
запуск из работающего скрипта другого скрипта или скриптов
 
Артем, Кое-чем всё-таки отличается: модули, конечно, должны возвращать управление обратно в main, но, как когда-то прекрасно показал Антон, возвращают его не всегда. И прерываний по таймеру нет - только эмуляция в цикле со sleep. Что до многопоточности - на уровне данных действительно "можно имитировать многопоточность с помощью сопрограмм", а вот если под многопоточностью понимать многозадачность, то создание нескольких процессов в рамках одного приложения будет заметно сложнее, и я не уверен, что это возможно для Lua - больно уж дохлый язык. Даже в Си в таких случаях следует учитывать, что методы класса "функции" работают на одном и том же программном стеке, и при переключении процессов приходится заботиться о сохранении и восстановлении данных этого стека.  
запуск из работающего скрипта другого скрипта или скриптов
 
Александр, Лапуль, что и как мне делать, я всегда решаю САМ, без сопливых.. :wink:  
запуск из работающего скрипта другого скрипта или скриптов
 
Александр, Лапуль, Вы опять всё напутали: а) не "единственными верными" - я только хочу уберечь новичков от откровенных кретинизмов, которыми их здесь усиленно пичкают местные "гуру", б) очень даже полезными - испытанными, проверенными реально работающими в) я не раз уже говорил, что, несмотря на то, что Си мой наилюбимейший язык на протяжении десятилетий, ЭТИ задачи нужно решать именно на Луа г) я чуть ли не единственный на этом форуме, кто И В САМОМ ДЕЛЕ пишет исключительно на Луа (обратите, кстати, внимание на название форума) д) терминал Квик меня устраивает настолько, что я не хочу даже искать лучшего е) несмотря на то, что я "в каждой теме успел засветится с одним и тем же по сути", до стада местных "гуру" вряд ли хоть одно положение дошло, "хотя глухому навряд ли можно все это объяснить" ж) мне абсолютно насрать на все Ваши сообщения, но если всякая шавка начинает тяфтяфкать на меня, любимого, то мимо я вряд ли пройду.

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

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

Диалог у меня тоже написан на чистейшем Lua, там немного задействована и мышка и клава, и он полностью обеспечивает всю необходимую функциональность, даже желать больше нечего, несмотря на то, что возможности для написания диалога здесь почти нулевые. Но ведь и необходимая функциональность почти такая же.

Текст довольно длинный и непонятный, разбираться неохота, но у меня много лет проставлен битик: диалог есть программирование данными (в частности, событиями) - объём операторного программирования здесь ничтожен. а потому анализировать КОДОМ, что там Press, а что Move - это путь в тупик.
запуск из работающего скрипта другого скрипта или скриптов
 
Юрий С, А что такое "торгует по МА"? Скользящая средняя, что ли? Нет, это он вообще не использует. :smile:

Ну, правильно. В моём ОДНОМ скрипте сейчас 15 модулей (функций). Сейчас переписываю его набело - собираюсь добавить ещё одну, 16-ю (вернее, разбить одну на две части). При этом сохраняется та самая "масса преимуществ, которые даже не хочется перечислять, за их очевидностью" и не притаскивается масса потенциальны глюков, которые ОБЯЗАТЕЛЬНО будут при автономной работе нескольких скриптов. Тем более, что скриптов у Вас явно МНОГО, ибо Вы не хотите запускать их вручную.
запуск из работающего скрипта другого скрипта или скриптов
 
Юрий С, У Квика не так уж много возможностей (в отличие от количества глюков). Я не знаю, можно ли здесь "вручную запустить сколь угодно много скриптов, которые работают параллельно без всяких конфликтов", но знаю, что делать этого не следует, даже если это и возможно. Я искренне не понимаю за каким хреном может понадобиться даже второй скрипт - у меня даже в планах нет создания такового. ЗАЧЕМ Вам множество скриптов? Тут на днях был один, у которого "86 роботов" - не ходите по его стопам.
Создание авто ввода текста в Lua, Как создать скрипт который при нажатии клавиши мышки вводил бы текст автоматически.
 
Антон, Ох, Антон! Уж от Вас-то я никак не ожидал необходимости "активировать скрипт"! ОЙ! Это же не тот Антон... тогда снимаю вопрос. :smile:

Для того и сделана невозможность быстрого заполнения паролей. чтобы не копировали и не вставляли. В Квике, кстати, копировать и вставлять можно, а скриптам пароли и вообще нафиг не нужны. По крайней мере, тем, которые общаются только с Квиком.

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

P.S. Редактировать посты на этом форуме нельзя НИКАК.
Не синхронизируется файл новостей news.log в процессе работы терминалы
 
Sergey, Насколько я понимаю, в файл никогда ничего сразу не записывается. Это называется "буферизация файловых операций" (которую лично я делаю в своих программах практически всегда), да ещё операционка кеширует обращения к диску. Короче, я бы не рискнул что-либо "отслеживать по размеру файла". Но если очень хочется, то можно сделать примерно как у меня: выходной файл меня записывается по окончанию работы скрипта (OnStop), но есть кнопочка, при нажатии на которую запись производится в любой момент, при этом файл именно ЗАКРЫВАЕТСЯ, "и делай с ним, что хошь".
Создание авто ввода текста в Lua, Как создать скрипт который при нажатии клавиши мышки вводил бы текст автоматически.
 
Антон, А что такое "вводить текст автоматически"? Вручную - это я еще понимаю, а автоматически-то нафига? Для чего подобное может понадобиться?
getMoneyEx
 
Таблица лимитов по денежным средствам
ПараметрТипОписание
currcodeSTRINGКод валюты
tagSTRINGТег расчетов
firmidSTRINGИдентификатор фирмы
client_codeSTRINGКод клиента
openbalNUMBERВходящий остаток по деньгам
openlimitNUMBERВходящий лимит по деньгам
currentbalNUMBERТекущий остаток по деньгам
currentlimitNUMBERТекущий лимит по деньгам
lockedNUMBERЗаблокированное количество
locked_value_coefNUMBERСтоимость активов в заявках на покупку немаржинальных бумаг
locked_margin_valueNUMBERСтоимость активов в заявках на покупку маржинальных бумаг
leverageNUMBERПлечо
limit_kindNUMBERВид лимита. Возможные значения: положительные целые числа, начиная с «0», соответствующие видам лимитов из таблицы «Лимиты по денежным средствам»: «0» – T0, «1» – T1, «2» – T2 и т.д.; отрицательные целые числа – технологические лимиты (используются для внутренней работы системы QUIK)
Эвента на изменение таблицы "Клиентский портфель"
 
Anton, У меня нормальная постановка вопроса "один квик - один брокер". Мало того: один Квик - один счёт. Или, как минимум, один код клиента. Вести же статистику или события отслеживать одним процессом проблемы не представляет. По крайней мере, это в 100500 раз меньшие проблемы, чем использовать для этого "86 роботов".
Эвента на изменение таблицы "Клиентский портфель"
 
Михаил Филимонов,
Цитата
Вы сами-то торгуете несколькими роботами?
О, классный вопрос! Народ, кто-нибудь ещё торгует целой шоблой роботов? Я имею в виду, в количестве более одного?
Эвента на изменение таблицы "Клиентский портфель"
 
Михаил Филимонов, А Вы себя к каким людям относите? :smile:

Я когда-то работал техническим директором компьютерной фирмы. Так за "86 роботов" я бы уволил любого своего программера, ни секунды не задумываясь! Ах, какая прелесть: "не виснет"!
Эвента на изменение таблицы "Клиентский портфель"
 
СОРОК ДВА РОБОТА?! Куда уж прожорливее - хоть с какой стороны смотреть. У меня как-то и один скрипт справляется. Думаю, как и у всех нормальных людей. Ресурсов практически не жрёт - ему же не надо рассылать данные по 42 направлениям. :smile:  
Определить выбранный язык QUIK из LUA
 
BlaZed, Как выбрать - понятия не имею, как написать самому - хоть пятиязычный хоть какой - очень просто: заводим ячейку типа CurrentLanguage, в которой хранится натуральное число, по которому, как по индексу, выбирается нужная строка из массива мультиязычных строк. Правда, я сильно сомневаюсь, что Квик справится с корректной интерпретацией каких-нить японских иероглифов или с арабской вязью, да и вообще с UTF.
Определить выбранный язык QUIK из LUA
 
Nikolay, Ну если интерфейс сделать двуязычным, то можно (делается, кстати элементарно даже на Lua). Но ЗАЧЕМ?!
Нулевые значения PRICEMIN и PRICEMAX
 
Ну, значит, этим данным верить нельзя - слишком нестабильны. Сам я пользуюсь только LOTSIZE (при запуске скрипта, на всякий случай), LAST (который тоже обновляется довольно странно и иногда заметно расходится со стаканом в определении последней цены), да недавно присобачил LASTCHANGE (чисто для ориентировки юзера - скрипту эти данные не нужны). Но в столбцах таблиц текущих торгов Квика эти данные отображаются, вроде как корректно и вроде как всегда. И в Сбере, и в ВТБ, и рубли, и доллары, и евро. А вот "ошибка о нарушении диапазона" - это несколько иное: насколько я помню, выход за 40% в любую сторону в течение дня запрещается, а на следующий день и вообще за 10% (наблюдал такое во время паники на бирже). Но, кажись, только у Сбера - ВТБ пофиг все эти границы. Так что я не понимаю, что тут вообще может "поддержка исправлять".
Определить выбранный язык QUIK из LUA
 
BlaZed, Господи, это же ВАШ скрипт! На каком хотите, на таком и пишите. У меня, например, половина заголовков в таблице на русском, друга - на английском. Просто так получилось, случайно.  :smile:  
Эвента на изменение таблицы "Клиентский портфель"
 
Два Квика каких-то версий, несколько раз обновлённых, а какая там версия Lua - ваще без понятия,  где её смотреть. О, в "компонентах" какая-то qlua.dll 3.0.3.2 - это, штоле? И мне абсолютно пофиг, подвесит этот пример мою ласточку или нет. Торгует (тьфу-тьфу, в обоих Квиках успешно) - и слава Богу!  :smile:  
Эвента на изменение таблицы "Клиентский портфель"
 
swerg,
Цитата
Что это вообще такое "интерфейс у скрипта"?
Это способность скрипта реагировать на события (клики мышкой, нажатие клавиш). Существует и верхняя граница: "Задержка свыше 5 секунд вызывает раздражение, свыше 15 - нервные расстройства". У меня, например, возможна секундная задержка реакции на событие, а при смены режима выдачи талицы задержка может достигать 15 секунд, и это уже слегка раздражает, несмотря на то, что необходимость в это операции возникает очень редко.
Эвента на изменение таблицы "Клиентский портфель"
 
О, Господи! Скрипту ДО ЛАМПАДЫ! Этот цикл нужен юзеру для эмуляции отсутствующих прерываний по таймеру. У меня это раз в секунду, раньше было раз в полторы секунды, у многих это составляет доли секунды - столько, сколько нужно Юзеру. В любом случае, на скорость работы скрипта это не влияет НИКАК - во время sleep код скрипта не интерпретируется вообще.
Цитата
while f do -- бесконечный цикл до остановки скрипта
r(); -- раз в секунду запускаем утилиту опроса
sleep(1000); -- текущих данных и принятия решений по ним
end; -- конец бесконечного цикла
Эвента на изменение таблицы "Клиентский портфель"
 
Михаил Филимонов, Я, лапуль, ВСЕГДА знаю, сколько у меня чего куплено, когда и почём, и сколько денег имеется - как свободных, так и потенциально свободных (тех, которые я могу освободить без продажи в убыток при необходимости). И так по каждой валюте и по каждому тикеру. Программист я или дерьмо беспомощное?
Эвента на изменение таблицы "Клиентский портфель"
 
Nikolay, Да что бы то ни было! Если чел торгует сам и не знает, что у него творится в портеле - это уже к ветеринару!
Эвента на изменение таблицы "Клиентский портфель"
 
Nikolay, Не иначе, чувак по чужим счетам лазить намылился, потому как для свои счетов это чистейший БСК.  :smile:  
PostMessage из LUA
 
Ну да, ну да. По одному только этому форуму гуру стадами ходят, а как посмотришь, какие вопросы обсуждают - плакать хоччетс.  :wink:  
PostMessage из LUA
 
АХХХРЕНЕТЬ! Костыль на костыле! Остаётся удивляться, как эта конструкция до сих пор вообще работает! Снимаю шляпу перед разработчиками софта, усилиями которых для организации примитивнейшей техники "купи-продай" приходится идти на подобные извращения. Особенно понравилось "торговать на Едином Брокерском Счете можно только в Квик": какая вам, ублюдкам, разница, что там "на той стороне", если протокол передачи данных выдерживается?

MT5, насколько я подозреваю (и кое-где краем уха слышал) "те же яйца, только в профиль". Ну, конечно - прям навскидку:
"Торговая платформа для совершения операций на финансовых рынках — это не только мощнейшие (:lol:) инструменты для трейдинга, но и множество дополнительных сервисов". Прям как когда-то со сцены лепили два придурка: "Кролик это не только ценный мех но и 3-4 килограмма легкоусваиваемого мяса".

Разумеется, "торговая платформа обладает мощной аналитикой. Для анализа котировок валют или акций в программе имеется 82 различных аналитических инструмента, включая технические индикаторы и графические объекты". И, как всегда, обсираются предшественники: "Универсальным представителем семейства стала торговая система MetaTrader 5, выпущенная в 2010 году. Её не следует рассматривать как обновленную версию MetaTrader 4 — функционал совершенно разный". С КАКОГО ХЕРА он "совершенно разный"?!

Вся эта рекламная хрень, естественно, переплетается лапшой про  "самообучаемые алгоритмы искусственного интеллекта": "Алгоритм может быть разной степени сложности, начиная от комбинации нескольких простейших индикаторов технического анализа, до сложных нейронных систем искусственного интеллекта, которые занимают ни один десяток тысяч строк программного кода". То бишь, ИИ на проверку оказался сраными нейронными сетями.

Сложность торговых алгоритмов. Иногда процесс принятия торгового решения выглядит очень сложно, особенно если он построен на глубоком изучении статистических распределений вероятности или построении нейронных сетей, на основании которых торговый алгоритм генерирует сигнал на покупку или продажу активов.
Да заткнитесь вы со своими долбаными "нейронными сетями"! СВОИ деньги им скармливайте, а не впаривайте юзерам своё говно! А процессы принятия решений [должны быть] просты и понятны: курс растёт - покупаем, падает - продаём. Ну, чуть сложнее. Просто данных довольно много, меняются они довольно часто, и юзеровские бестолковки просто физически не могут переварить такой объём информации. Да и сидеть, уткнувшись в монитор, неохота - пущай работает "железяка х..ва"!

Над этими вопросами работают мощные, с неограниченными ресурсами команды программистов и математиков в ведущих инвестиционных компаниях мира с миллиардными оборотами. И периодически их торговые алгоритмы терпят фиаско, а компании получают много миллиардные убытки за несколько дней.
Так чего же вонь не прекращается про ИИ? Даже со сраной торговлей справиться не могут, а туда же - ИИ! Я уже 20 лет гоняю эту шушеру стихами Маршака:
Мой мальчик! Тебе эту песню дарю.
Рассчитывай силы свои.
И, если сказать не умеешь "хрю-хрю", -
Визжи, не стесняясь: "ИИ!"...

Статистика Московской биржи неумолима, даже среди профессиональных участников торгов в спекулятивной «мясорубке» в борьбе за прибыль более 60% участников теряют деньги, а зарабатывает менее 10%.
Ну да, биржа и устроена для доения лохов, какими бы титулованными они ни были.
 
PostMessage из LUA
 
Михаил Филимонов,
Так не запрашивайте! Сообщите это скрипту САМИ, и пусть он САМ ведёт свою бухгалтерию! У меня эти данные лежат в входном файле, одной строкой, которая на данный момент имеет вид (точнее, имела утром, когда я запускал скрипт):
_M[0]=2910.50;M[1]=44.29;M[2]=85.44;
Это означает, что на сегодня у скрипта имеется 2910.50 свободных рублей, 44.29 свободных доллара и 85.44 свободных евро. Плюс то, что он там сумеет выгодно продать (инфа о сделках у него также имеется, в том же файле). При этом эта строчка написана фактически в теле скрипта, благо loadstring имеется в наличии:
Код
s=l:sub(1,1);   -- первый символ строки может быть командой
if s=="_" then   -- команда задания суммы доступной валюты
 loadstring(l:sub(2))();-- выполняем оператор из файла
Ну что же Вам ЕЩЁ требуется? Попробуйте! Или поверьте на слово - это полный кайф! Да, кстати: ЕДИНСТВЕННАЯ таблица, к которой мой скрипт вообще обращается, это ТТТ - остальные ему нафиг не нужны!
PostMessage из LUA
 
swerg,
Цитата
Не обращайте внимание, это местный клоун.
Вы ХОТЬ РАЗ за все эти месяцы опровергли "клоуна" хоть в чём-нибудь? А вот он неоднократно возил носом, в том числе лично Вас, не позволяя подобным "умникам" корчить из себя профи. Например:

04.10.2020 19:42:05 swerg, Я уже дважды вопрошал в эт ой ветке: "КАК ИМЕННО Вы будете контролировать актуальность данных даже на ИДЕАЛЬНОМ API? Не знаете? А что же тогда докопались до разработчиков?"  НЕ МОЖЕТ быть такого способа! НЕ МОЖЕТ! В ПРИНЦИПЕ не может! А "рекомендованный лучшими собаководами" я тоже давал (в другой ветке). Цитирую: "Квик как-то получает данные, которые лично я намерен считать априори достоверными и не контролировать это дело вообще никак. Луа получает эти данные от Квика".  ВОТ И ВСЁ! За достоверность ЭТИХ данных отвечает брокер и разработчики Квика, и уж их возможности кратно превосходят возможности любого окопавшегося за своим компом программера! Подходите и берите! Надёжнее не бывает в природе!

27.10.2020 11:08:32 swerg, Вот он я "такой программист". 40 лет вхожу внутрь блоков if, и горя не знаю  :smile: Программы бывают чуть посложнее, чем a=b+c;

27.10.2020 12:14:23 swerg, Так программы ПО ФУНКЦИОНАЛУ СВОЕМУ бывают посложнее!  :wink: Не только торговые погремушки. Скажу больше: без входа внутрь блоков if или внутрь циклов goto И В САМОМ ДЕЛЕ нафиг не нужен. В частности, вот это убожество: кто его использует - поднимите руки!

28.10.2020 10:38:37 swerg, Врать - нехорошо  :smile: Это насчёт "не читает". Что до другого тезиса, так я давным-давно (в начале "нулевых" писал:  Для "подтверждения" своих мыслей они тычут пальцем в мегатонные доки, которые они якобы изучили (или хотя бы читали). Например, в трехтомник Кнута. Однако в последнее время (видимо, нарвавшись пару раз на тех, кто этого самого Кнута все-таки читал) предпочитают ссылаться на некие абстрактные "учебники" или там "документацию". Профессионал же не позволяет себе подобного НИКОГДА - он просто не умеет этого делать. Эта уловка обрубается стандартной фразой: "Читайте сами, раз уж ничего оттуда внятно процитировать не можете".

30.10.2020 09:31:55 swerg, Внимательнее ответ стоит прочитать.  main - это ТОЖЕ обработчик, и никакого отношения к многопоточности не имеет.  OnStop - это при нормальной организации НЕ ЮЗЕРОВСКАЯ функция, а системная. Так что нужно просто послать сообщение "убей меня". А можно и не посылать: main закончился - интерпретатор знает, что нужно делать. По крайней мере, ДОЛЖЕН знать!  НЕ БЫВАЕТ "модели без main()"! При запуске скрипта ЧТО-ТО должно начать выполняться. Вот это "что-то" и есть main, хоть горшком её назови.

30.10.2020 22:51:55 swerg, Чушь. Кто именно и с какого бодуна вдруг станет "брать скрипт" и, тем более, "начнёт него дергать колбеки по мере поступления событий". Как этот "кто-то" вообще узнает, что нужно делать? Как узнает, где там "колбеки"? По фиксированным именам? Кто вообще сказал, что скрипт запрашивает колбеки? Может, они ему нафиг не нужны. А что "ничего "что-то" выполнять постоянно не требуется", я и пытаюсь вдолбить чуть ли не всю эту ветку - не придурошный цикл с анализом флага останова, а примитивный wait.

31.10.2020 12:35:26 swerg, Может, хватит, господа?  :wink: Сначала один нёс какую-то клиническую ахинею про "роботов и всякие прочие глупости", да ещё с гнутыми пальцами вроде "вы даже понимаете суть вопроса". Получил щелчок по носу - теперь чего-то шипит про "троллей". Потом второй начал пальцы гнуть на тему API в том же ключе: "По-моему вы ничего не понимаете", да про int-float ("Как бы по мягче сказать, что вы не разбираетесь в теме. Повторю в квике 7, lua 5.1 - в нем не числа хранятся типом double, соответственно нельзя хранить int64"), да про "не надо путать стек процессора и стек Lua - это разные стеки. Вам бы документацию почитать и хорошенько разобраться в луа", да про "выучи английский", да про "умение читать документацию и гуглить", после чего вообще забился в истерике. Потом третий понёс пургу про "монстров фондового рынка", и тоже с гнутыми пальцами: "Вы еще далеки от понимания реальности фондовых рынков" и совсем уж клинический бред с ещё большей распальцовкой: "вот некоторые из аксиом, которые надо усвоить и научится программировать", затем бред про мантиссы ("для справки: Разрядность мантиссы в 64 битном вещественном числе составляет 52 бита, что  позволяет точно отобразить лишь 16 разрядное десятичное целое число, а не  18 квинтиллионов, как наивно полагает Владимир"), затем про "это VM а не интерпретатор", и тоже с истерикой: " в языках и виртуальных машинах вы ноль без палочки"... я прям утомился этому неучу по носу щёлкать!  Потом Вы. Ваша квалификация несколько выше, но стиль тот же, вплоть до прямой лжи: "Как уже всем известно, документацию Владимир не читает". А причина-то в другом - просто я с раннего детства не перевариваю распальцованных дураков и редко спускаю им их "поучения".  А "вопрос, который давно Вас заботит", выеденного яйца не стоит, ибо main есть ВСЕГДА! Поймите же, наконец, простую вещь: ЛЮБОЙ интерпретатор ОБЯЗАН знать, когда и с какого места нужно начинать интерпретировать представленный код, когда и в каком месте нужно прекратить это делать. И лучший способ это сделать - создать утилиту с согласованным именем: тот самый main. Эта технология была разработана ещё в прошлом тысячелетии - тогда на планете Земля ещё водились программисты. И на Ваш вопрос: "А если скрипт сам захотел остановиться - откуда OnStop возьмётся?!" ответ уже давался: сбрасывайте этот дурацкий флаг isRun НЕ ТОЛЬКО в OnStop, а в любом другом месте, где он "захотел остановиться". Или воткните в этот дурацкий цикл НЕ ТОЛЬКО sleep, но и хоть сотню конструкций if blah-blah-blah then break;end;  P.S. На всякий случай только что проверил оба способа - всё прекрасно работает.

05.11.2020 09:21:18 swerg, А при чём тут "визуальные элементы"? На этом форуме ещё несколько лет назад говорилось, что подготовка таблицы и прорисовка таблицы - это РАЗНЫЕ вещи, и давались предложения к разработчикам (проигнорированные) разделить эти вещи. Какое отношение к "визуальным элементам" имеет AllocTable? Или AddColumn? Или даже SetTableNotificationCallback, равно как и SetColor? Вот CreateWindow - имеет. Ну, SetCell, пожалуй, имеет (да и то спорный вопрос). Я свою таблицу визуализации готовлю именно в main! А строками её набиваю уже в "большом" прерывании (15-секундном), А ячейки значениями заполняю и раскрашиваю - уже в малом, полуторасекундном. При этом все три находятся именно в потоке main! Более того: ИМЕННО ТАК И НУЖНО делать - в данном случае "квиковцы" поступили совершенно правильно!  Да какой, в задницу, "полный код", если обсудить предлагается концепции, философию, алгоритмы? Кому он нужен, этот "полный код"? Я и хочу ОБСУДИТЬ, "что ожидается, как на самом деле и как сделать ожидаемое"! Я хочу поговорить С ПРОГРАММИСТАМИ! На кой мне эти "запускатели полного кода", которые "в вопросы такого плана вникать не будут"?  Господи, я же русским языком сказал: я хочу обсудить ДИАЛОГ НА LUA! Меня Не ИНТЕРЕСУЮТ все эти долбаные "полноценные интерфейсы из внешних библиотек! ВААПЩЕ нее интересуют!

23.11.2020 13:39:30 swerg, Ну да ну да... советчиков с растопыренными пальцами, "объяснявших", что 2 и "2" это разные вещи, было как собак нерезаных. а вот если головой подумать требуется... Да выгребусь уж как-нибудь. С диалогом выгреб, а с подачей заявок да приходом квитанций и подавно.

03.12.2020 11:14:35 swerg, Я уже просил (не помню, Вас или нет): не надо врать! Это про "не читает документацию". А как передаются параметры в Lua, мне АБСОЛЮТНО до лампады - я не разработчик языка, я просто пользователь. Просто ЕСЛИ они передаются не ссылкой, а самой таблицей значений, ТО это есть идиотизм. Идиотизм тех, кто ПИШЕТ эту самую "документацию".  

09.12.2020 20:32:59 swerg, А что ещё делать остаётся? Управление теряется, прерывания идут как бог на душу положит, с типами данных полная задница, например: iT=tonumber(GetCell(T,p1,0).value); - скрипт вылетает, причём даже не хрюкает - смотрю, а он уже полчаса как стоит, а вот iT=tonumber(GetCell(T,p1,0).image); - пока работает. Ну и куча других аналогичных "мелочей". Я ведь писал когда-то, прямо в этой ветке - как чувствовал: 4. Я считаю (лучше сказать "надеюсь"), что прерывание OnTrade НЕ МОЖЕТ "потеряться" и придти после того, как пришла информация о другой сделке по той же заявке, а потому... Зря надеялся.

12.01.2021 20:02:53 swerg, Я, милок, уже пару раз здесь говорил, что с раннего детства терпеть не могу распальцованных дураков и редко спускаю им их "поучения".  А моя некомпетентность привела к тому, что мой скрипт уже с месяц как полностью рабочий, и в последние дни я занимаюсь тончайшей шлифовкой алгоритма. Точнее, занимался - последние два дня я просто любуюсь его работой, и только за сегодня он уже принёс мне 1.6% прибыли, а ещё не вечер! Надеюсь, к концу дня будет 2%. Впрочем, неважно. И ему НАСРАТЬ на бесконечно меняющиеся версии софта - он [пока что] прекрасно уживается с любыми. Осталось разве что убрать кретинизм с "1 заявка - 1 лот", и больше я вообще от него ничего не хочу. Так что НЕ СОВЕТУЮ разным умникам "отвечать на мой идиотизм" - чревато. Вот подобные "отвлечённые" тяфтяфки - это сколько угодно.

В частности, в этой самой ветке: чтение таблицы состояния счёта СКРИПТОМ есть алгоритмический идиотизм. Не его это собачье дело! Точка. Так что клоуна в зеркале поищите.  :wink:  
Страницы: Пред. 1 ... 28 29 30 31 32 33 34 35 36 37 38 ... 41 След.
Наверх