[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
05.03.2022 18:39:11
nikolz, вот уже не твой, потому что мой код на ГитХабе не заметили... ОК, бывает...
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
05.03.2022 14:00:45
Цитата
nikolz написал: , если не трудно , дайте ссылку на пакет Alglib , который содержит методы машинного обучения. и перечислите, какие методы обучения в этой библиотеке есть. Спасибо.
- я запихал лес из Alglib в Java и Python. И в QLua конвертировать не проблема. Я использую ВСЕ языки программирования одновременно.
Это только у Вас объединение QLua с Python и C++ вызывает боль и гордое повторение мантры "яжпрограммист".
- всё к QLua можно прикрепить. Там и К-Кластер, простой perceptron, случайный лес и много чего ещё...
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
04.03.2022 16:26:21
Цитата
Владимир написал: , Алгоритмист я, придурок. Тыщу раз об этом говорил.
А задачку про "Титаник" решить не можешь. Только к не приставай - сожрут.
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
04.03.2022 16:16:11
Цитата
Nikolay написал: Нет, математики их не заменят. Но когда программист не знает элементарную математику, это гораздо хуже, если он не знает Git. Тем более, что сейчас Git, Docker, Cuber. А через несколько лет скажут что так не модно. Одно то, что сейчас почему-то все решили, что приложение - это браузер и больше ничего не надо, уже вызывает отторжение.
Настоящие математики на MatLab,R, Python И не о какой оптимизации они не слыхали.
Языки программирование не отличаются от естественных в плане описания. Знать ботанику нужно для программы Селекция. Знать юридические документы нужно для программы Кадры. Математика выше школьной нужно в ограниченном круге. А исходники одних только синуса и косинуса - это заранее просчитанная таблица.
А добавить котика на страничку можно даже без школьной математики. А вот без Git и Docker этого котика никто не увидит.
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
04.03.2022 15:27:24
Цитата
Nikolay написал: Сюр. Потому как есть алгоритмист, который пишет код, выполняющий то, что могу понять несколько людей на планете. Кто проверять то будет?
Цитата
Владимир написал: , Ну, ваще-то алгоритмист пишет не код, а описание алгоритма. :: Я всегда считал себя именно алгоритмистом, но писал и пишу довольно много кода - только потому, что я ещё и программист немножечко.
...сейчас они придут к мнению, что "программисты" не нужны и "математики" их полностью заменят :D И , ещё раз официально признал, что ОН "- это кто угодно, только НЕ программист."
Цитата
TGB написал: Интересно, временами, наблюдать битву титанов, когда "титанник", практически, уже почти утонул :: .
Да я сам в шоке, на какую правду-матку я их развел :)
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
04.03.2022 13:53:30
Цитата
Nikolay написал: Справедливости ради, знание современных систем хранения версий - это ни в коем времени не характеризует кого-то как программиста. Я когда начинал, мы учились на бумаге. В первую очередь просто алгоритмы. Потом код на бумаге. И ничего, абстрактное мышление хорошо развивает. То что сейчас без знаний Git не считают кого-то полноценным программистом, то это сюр, т.к. это знание ничего не дает.
Это не "сюр", а требование к качеству кода, который должен проходит ревью. Так что есть минимальные требования к современным программистам для работы в команде.
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
04.03.2022 13:46:05
Цитата
nikolz написал: Ваша ссылка на сайт - это сайт для чайников по обучению МО на питоне. Вы научились собирать из готовых кубиков на питоне программу, которая, как "черный ящик", ищет решение регрессионной задачи. Прекрасно. ------------------------------------- Но, если для Вас парсинг и МО - одно и тоже , тогда покажите Ваши результаты машинного обучения в LUA, на указанных Вами CSV файлах. ------------------------ или хотя бы разверните TORCH на Lua для начала.
Для меня нет трудностей в использовании Alglib на LUA. Но я скорей всего Python к QLua полностью прикручу, когда Биржа очухается.
И если у тебя из МО получается "черный ящик"... ну... посмотри его код хотябы...
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
04.03.2022 13:34:08
Цитата
Владимир написал: , Лапуль, любому дебилу понятно, что пишущий коммиты и багрепорты - это кто угодно, только НЕ программист.
Лапуль, первый раз в жизни слышу, что CSV нужно ПАРСИТЬ! Да у меня весь "малый Синдбад" работает именно с CSV! Именно им, например, я обрабатывал тиковые массивы для отладки своего скрипта, о которых писал. Для справки, лапуль: CSV - это И ЕСТЬ таблица! Для Синдбада (даже малого) это таблица НЕОДНОРОДНЫХ кортежей, с которыми всё ваше стадо не умеет работать даже на уровне постановки задачи - вы из любого говна проблему сделаете, ибо вы ТУПОРЫЛЫЕ!
Лучше сразу признайся, что ты даже не знаешь значения слов "коммиты" и "багрепорты"
Такого фееричного слива я не ожидал
Чтож, Владимир, официально признал, что ОН "- это кто угодно, только НЕ программист." Не знать, как отправить коммит... мда...
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
03.03.2022 15:55:41
В Квике как раз из CSV в таблицу загнать можно.
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
03.03.2022 15:52:05
Цитата
nikolz написал: странное у Вас предложение. Вы предлагаете соревнование на питоне. Если очень Вам неймется, то тогда предлагайте на LUA. Форум-то про КВИК, а в нем лишь LUA.
CSV можно парсить только на Питоне? А Владимир нам парсер на ASM покажет, если Мираж действительно его...
Цитата
Владимир написал: , Лапуль, Вы же сами тут говорили про свои коммиты, да багрепорты - ну какой Вы после этого, в задницу, "программист"? Вы НУЛЬ! Абсолютный нуль.
, Ах, "МО" сиречь "машинное обучение"? Впрочем, неважно - в любом случае это есть полное и абсолютное говно. А г-н Roffild нам ярко демонстрирует РЕЗУЛЬТАТЫ этого "обучения".
Дед, "коммиты" и "багрепорты" - это не свечки от геморроя! Современные программисты их по-другому используют! Не сливайся так быстро...
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
03.03.2022 11:50:10
Я фанат современного программирования, который рос на , споря с программистами медицинского оборудования и с создателями . Я исходный код воспринимаю быстрее обычного текста.
И тут явился Владимир, который БЕЗ ДОКАЗАТЕЛЬНО наплёл, что он крут и Я ему неровня! Чтож... отвертеться у него не получится!
Задача начального уровня для МО: train.csv - данные для обучении модели test.csv с gender_submission.csv - тестовые данные с результатом
Нужно для train.csv получить свой "gender_submission.csv" и отправить в Kaggle на автоматическую проверку.
Мой результат с 77.99% на простой 4-х слойной сетке. Точную ссылку дам только после Владимира.
Владимир, отказ и увиливание от решения этой задачи будет расценено, как полная капитуляция и потеря права хоть чё-то вякать про программирование!
Проверочный файл можешь закачать куда-нибудь (админы этого форума додумались ZIP запретить) или сразу на . И исходники решения тоже выложи, если твоя модель больше 80% выдаст.
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
02.03.2022 15:44:39
Цитата
nikolz написал: и еще... TORCH (факел) программа машинного обучения содержащая практически все, что из этого сейчас модно. --------------------- Гугл взял пакет TORCH7 для луа и сделал оболочку для питона. ----------------- разработчики TORCH7 взяли пакет программ для научных исследований на Фортране и сделали оболочку для CИ. ------------------- Прикольно.
Нет. Pytorch -
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
02.03.2022 15:28:31
Цитата
nikolz написал: 50 лет - это тот срок, через который методы, известные в науке, доходят до массового потребления.
не... это в 2008г все алгоритмы на полную заработали. Сейчас за 30 дней после публикации на АрХив алгоритм разлетается по всем фремворкам. В месяц могут кучу новых алгоритмов на АрХив выложить. Да, и засрали АрХив своим МО - народ уже бурлил по этому.
TensorFlow - Google Pytorch - Facebook с фиксом классов TF XGBoost и его модификации от Макрософта и Яндекса ...и я тоже накоммитил в этих проектах...
Владимир, поскольку ты всерьёз считаешь себя гением, то докажи это на ! Хотя бы стартовый "Титаник" осиль...
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
01.03.2022 20:12:20
Цитата
Владимир написал: ...Нет, лапуль, про Машинное Обучение я тоже не в курсе. Зато я в курсе, что обучение тоже УГРОБЛЕНО! ...И как, при работе этого самого "МО" комп успевает-таки отслеживать нажатие клавиш? Чо, УСПЕВАЕТ?! Большой успех молодого спортсмена! ::
Да поняли мы уже, что бот для шахмат - это достижение для тебя. Считаешь, что алгоритмы не создаются...
Чувак, всё современное МО строится на алгоритмах, недоступных компам до 2000-х. "Градиентный спуск" может распознать тебя в московском метро и предсказать цену акций. "Случайный лес" строит цепочку условий. МО - это то, что обыграет Каспарова. Но ты до сих пор можешь сидеть в своей пещерке. Хотя в твоём возрасте уже сложно разбираться в алгоритмах МО...
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
01.03.2022 15:26:40
Цитата
Владимир написал: , Лапуль, я же не спорю - криворукие бездари способны засрать и 32ГБ, и 64ГБ, и вообще всё, что им будет дадено - это же не поможет! Комп ВСЁ РАВНО не будет успевать реагировать на движения мышки или нажатия клавиш пользователей! А вот наш "Мираж", кастрированный до 16К ПЗУ и 4К ОЗУ (это и на программу, и на дебютный справочник, и на "операционку") с процессором КМ-86 ОФИЦИАЛЬНО выполнил норму КМС! Криворуким же бездарям НИЧЕГО не поможет!
И чё? Шахматы для древнего компа... без исходников...
На ASM можно выжать максимум в
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
01.03.2022 13:30:24
Цитата
Roffild написал: * и котики - двигатель прогресса!
О каких словах еще знает этот форум?
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
01.03.2022 13:22:27
Цитата
Владимир написал: , Лапуль, я не спрашивал про "новое" - я спрашивал про ПОЛЕЗНОЕ! Когда комп с поистине ЧУДОВИЩНОЙ памятью и быстродействием не успевает реагировать на движения мышки или нажатия клавиш пользователей, это по-русски называется ПЦ! Повторяю вопрос: ЧТО ИМЕННО ПОЛЕЗНОГО для конечных пользователей сделало всё ваше стадо так называемых "программистов" за весь XXI век?
Тоесть ты тоже из тех придурков, которые не знают, как ОСи распределяют оперативку? Я свои 32ГБ забиваю пополной, что ускоряет МО в разы. Только крики про нехватку оперативы начинаются при попытки сыграть ГТА в 2-3 окна. Своп вруби, если пенсии на оперативу не хватает. Под Виндой 1 прога макс 64ГБ может поправу сожрать (я проверял).
Вообще именно контейнеры позволяют ограничить проге ресурсы компа - вот реальный мир!
* и котики - двигатель прогресса! Мы достигли колоссальных результатов в области доставки контента в глаза и уши пользователя!
Для программистов -
Для учёных - , но тебе туда нельзя из-за новых идей и алгоритмов... (по сортировке тоже много)
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
01.03.2022 10:36:47
Владимир, а если ты заплатил за то, что в свободном доступе на ГитХабе с лицензией BSD or GPL... мы то тут причем?
Это твоё поколение в закрытых лицензия погрязло. Права на название "Unix" до сих пор по рукам ходит...
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
01.03.2022 10:17:50
Владимир, а есть у тебя вообще критерий "новизны"? По твоей логике, твоё поколение тоже ничего не придумало: Многие алгоритмы берутся из работ математиков 19века. Аэродинамика - баллистика и наблюдение за птичками. Жюль-Верн дал "чертёж" подлодки. А первый компьютер собрала бабка Аида еще в 19веке!
А Грейс Хоппер исправила баг своими руками! - наши уже не могут так исправлять...
Так что хватит уже приписывать себе идеи других поколений!
Щас наши контейнеры изобрели - теперь софт независим от конфигурации сервера.
[BUG] Повышенная загрузка CPU при большом количестве функций в скрипте
Пользователь
Сообщений: Регистрация: 04.10.2021
28.02.2022 18:34:29
Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15
Пользователь
Сообщений: Регистрация: 04.10.2021
28.02.2022 16:06:40
Мда... большая текучка кадров в Арке...
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
25.02.2022 17:48:42
Цитата
написал: Я же русским языком спросил: что ваше стадо сделало ДЛЯ ЛЮДЕЙ? Какое им дело до ваших вонючих языков?
ДЛЯ ЛЮДЕЙ:
Цитата
...и он отправил это сообщение через Хром (или его клона) с Андройда или Винды...
А для говна твоего типа я ничего не сделал... А такие как ТЫ, ничего не создали. Попробуй сам хоть что-нибудь создать. Стань же первым представителем свой касты "Г-программистов"!
Только прекрати уже использовать ПО, в которое Я багрепорты и коммиты отправил :D
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
25.02.2022 15:12:32
Цитата
Владимир написал: jQuery, GWT, AJAX, PHP, SEAM, Wicket, Greasemonkey, Silverlight
На 2021г: из Пыха Яву сделали, DOM и JavaScript улучшили, остальное выкинули из-за смартфонов.
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
25.02.2022 15:01:04
Цитата
Владимир написал: Повторяю вопрос: за все двадцать с лишним лет нынешнего века всё ваше стадо, вместе взятое, ХОТЬ ЧТО-НИБУДЬ полезного сделало? ДА или НЕТ?
...и он отправил это сообщение через Хром (или его клона) с Андройда или Винды... лицемер ёпт.... Вернись уже в свой DOS! И смартфон выкинь!
И я застал "Войну Браузеров".
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
25.02.2022 13:39:12
Владимир, а... это про мой "тот скулёж"... Это был не "скулёж", а требование соответствия стандартам программирования 2022г, о которых ты даже не вкурсе...
Программирование ПО - это область, знание в которой устаревают за 5 лет. Ты даже последний стандарт С не видел... за то гордо называешь себя "программистом"... мда...
Кратко, что появилось и изменилось за последние только 10 лет: GitHub, CI/CD, Docker, UnitTests, Python3 и т.д. - это лишь малая частичка, что Я использую, как программист.
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
25.02.2022 12:11:31
Цитата
Владимир написал: , Дык я же спрашивал молодую шоблу по кличке "программисты", способны ли хотя бы они сами ХОТЬ ЧТО-ТО полезное назвать? И тишина...
Лапуль, я не "один алгоритм придумал", а НАЗВАЛ один ПОЛЕЗНЫЙ алгоритм! Ваше стадо скулящее вообще ни одного назвать не сумело! А в Яндекс я хаживал, когда ещё Илья Сегалович мне по нему экскурсию проводил (была у нас одна совместная работёнка). И мне же принадлежит фраза: "Умер Сегалович - умер и Яндекс". И кто сейчас ковыряется в этом говне, мне совершенно не интересно.
ЗА КАКИМ ХЕРОМ, лапуль, "осиливать хотя бы Python" - мне когда-то хватило одного беглого взгляда про его "динамическую типизацию", чтобы забыть о существовании этого говна навсегда.
Страуструпа, естественно, не читал - только Кернигана, и всегда говорил, что этот бездарь способен только изуродовать гениальный язык. Фраза "указатель на структуру покрывает все "классовые" потуги Страуструпа как бык овцу" тоже моя (и Жванецкого, конечно).
Проблема российских (начиная с 00-х) программистов: они И В САМОМ ДЕЛЕ считают себя "программистами"! А программисты вымерли, ещё в прошлом тысячелетии - осталось лишь скулящее ВОТ ЭТО.
Python - это "клей" для С, С++ и др., поэтому на нем Машинное Обучение сейчас. Но про МО ты не вкурсе... первые попытки хоть и были 1960-х, но это всё баловство до выхода в 2008г карты от Нвидия и TensorFlow в 2011г. Даже школота осиливает Python, а ты не смог...
Именно советские программисты сейчас скулят, что надо изучать Python, Git, C++20, Java... Им BASIC и Fortran подавай :D
Внутри Python на С... если ты действительно Кернигана........
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
25.02.2022 11:23:07
Проблема советских (и начала 90-х) программистов: они до сих пор считаю себя "современными программистами" :)
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
25.02.2022 11:12:37
Цитата
Владимир написал: , Да был я на Хабре, Господи! Такая же распальцованная шушера правит бал! Я даже поэму об этом написал, даже здесь её, кажется, приводил. И здесь же задавал вопрос: ЧТО ИМЕННО сделано ВСЕЙ СВОРОЙ "современных программистов", ЗА ВЕСЬ XXI век, что могло бы быть расценено как полезное? Мне так никто ничего и не назвал. Может, Вы знаете? Нет, я и сам знаю одну полезную штуку - почти каждый день её использую, иногда сотни раз в день - ну просто прелесть, что за утилита! Только вот нюанс: этот алгоритм придумал и реализовал именно я. И на Хабре написал пару заметок именно про него. Визгу было!..
Да стар ты уже, поэтому колесо от телеги и от машины не отличаешь - это одно "колесо" и ничего нового :D
И почему только один алгоритм придумал? В Яндекс даже курьером не возьмут...
Осиль хотя бы Python на пенсии, а то Страуструпа прочитал и возомнил себя "программистом". Или не прочитал?..
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
25.02.2022 10:09:58
Владимир, иди лучше Хабр почитай, а то и ты частенько несешь бред...
Глянул я на днях исходники OpenCart. Как же он хорош! Для 2008 года :D Сейчас за такой стиль кода кастрируют... А ведь не чурались тогда программисты (и Я) запросы в базу по всем файлам разбрасывать...
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
25.02.2022 09:02:04
БорисД, форум лишь потеряет гопника-тролля Владимир, а не современного программиста. Его опыт устарел на десятилетия.
Бесконечный цикл функции с заданным интервалом времени
Много примеров, но все они мало применимы. Какие циклы. Тайме, чаще всего, организуется по месту, а не где-то в main, в одной точке. Далее, чтобы это было удобно, могли бы хоть функцию обратного вызова организовать, чтобы по завершению она была бы вызвана. Иначе зачем он нужен, чтобы напечатать привет...
А исходя из этого - таймер это объект - шаблон, класс, замыкакние. Который создается там где он нужен и вызывается его проверка. По истечению вызовется функция в контексте определения, что даст захваченную область видимости этой функции и не надо возится с параметрами.
с этим кодом:
Код
local t0 = os.clock()
local t1,t2,t3,t4,t5,t6,t7=t0,t0,t0,t0,t0,t0,t0 -- таймеры
-- функции исполняемого кода
function f1(x1) print(x1..", f1"); end
function f2(x1,x2) print(x1..", f2"); end
function f3(x1,x2,x3) print(x1..", f3"); end
function f4(x1,x2,x3,x4) print(x1..", f4"); end
function f5(x1,x2,x3,x4,x5) print(x1..", f5"); end
function f6(x1,x2,x3,x4,x5,x6) print(x1..", f6"); end
function f7(x1,x2,x3,x4,x5,x6,x7) print(x1..", f7"); end
while true do --бесконечный цикл
local x=os.clock()
if x-t1>1 then f1(x) t1=x end
if x-t2>2 then f2(x,x2) t2=x end
if x-t3>3 then f3(x,x2,x3) t3=x end
if x-t4>4 then f4(x,x2,x3,x4) t4=x end
if x-t5>5 then f5(x,x2,x3,x4,x5) t5=x end
if x-t6>6 then f6(x,x2,x3,x4,x5,x6) t6=x end
if x-t7>7 then f7(x,x2,x3,x4,x4,x6,x7) t7=x end
end
?????
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
24.02.2022 12:03:11
Может так правильнее:
Код
local timers = {
[1] = function(...)
for key, value in pairs({...}) do
print("arg num=", key, " val=", value)
end
end
}
-- Заполнение таймеров одной функцией (влом копи-пастить)
for key, value in pairs({3, 5, 8, 9, 16}) do
timers[value] = timers[1]
end
-- Цикл
while true do
local tm = math.tointeger(os.clock())
for sec, fun in pairs(timers) do
if (tm % sec) == 0 then
fun(tm, sec, "Любое количество", "аргументов!")
end
end
sleep(100)
end
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
24.02.2022 11:49:20
Ну... да... с "tmlast = tm" баганул и надо поправить...
Но без понимая смысла этих таймеров я не знаю насколько правильно.
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
24.02.2022 11:42:38
Просто печатает через каждые {1, 3, 5, 8, 9, 16} секунд:
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
24.02.2022 10:56:57
Код
local timers = {
[1] = function(...)
for key, value in pairs({...}) do
print("arg num=", key, " val=", value)
end
end
}
-- Заполнение таймеров одной функцией (влом копи-пастить)
for key, value in pairs({3, 5, 8, 9, 16}) do
timers[value] = timers[1]
end
-- Цикл
local tmlast = 0
while true do
local tm = os.clock()
local fun = timers[math.tointeger(tm - tmlast)]
if fun then
fun(tm, tmlast, "Любое количество", "аргументов!")
end
tmlast = tm
end
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
24.02.2022 10:00:56
nikolz, а какой практический смысл этих таймеров? Попытка обуздать коллбеки?
Я на практике знаю про профайл кода и что замеры... ну... э... "бредовые".
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
24.02.2022 09:43:35
Sleep(15) - это минимум на Винде 10 с последними обновами...
Бесконечный цикл функции с заданным интервалом времени
Я уверен, что создатель QLua уже уволился из конторы, потому что часть новых функций добавляет уже абы кто, путая названия и порядок аргументов функций. Ну... не составили code-style для QLua...
QLua - попытка ответить на MQL, быстро составленное на коленке.
Колбеки выполняются в основном потоке терминала! - За такое уже надо увольнять!
Ну... поймал ты в колбеке момент отправки заявки... будешь в колбеке ждать сделку блокируя поток терминала, чтоб не спамить заявками? А еще инфа о портфеле может обновиться ДО инфы по сделки! Асинхронная модель Квика!
Проблема в синхронизации последовательности заявка-сделка-портфель, чтоб не отправить лишнею заявку. Моё решение на Гитхабе.
И где гарантия, что в колбек поступает ВСЯ информация БЕЗ потерь? Можно и сделку не поймать...
В момент выполнения колбека пришли еще 5. Какая судьба у этих 5? Вызовутся последовательно все 5 или (вероятнее всего) только последний (или ничто)???
Бесконечный цикл функции с заданным интервалом времени
Пользователь
Сообщений: Регистрация: 04.10.2021
22.02.2022 10:14:06
Я тоже хочу всех "лапуль" поучить :D
учитывает баг `isConnected() == 1`, разрыв связи, клиринг и выходные!
Код
local rd = require("roffild")
function main()
ISRUN = true
while ISRUN and rd.isTradingAllowed() ~= true do
sleep(1000)
end
message("started")
while ISRUN do
if rd.isTradingAllowed() then
-- здесь основной код
end
sleep(100) -- 0.1сек
end
end
function OnStop(flag)
ISRUN = false
return 3000 -- Timeout
end
Я callback'и не использую ВООБЩЕ! (кроме этого OnStop)
Библиотека для QLua от Roffild'a
Пользователь
Сообщений: Регистрация: 04.10.2021
21.02.2022 13:18:23
QLua спроектирован кошмарно!
После освоении основ QLua можете попробовать мою библиотеку, в которой я пытаюсь устранить часть проблем QLua.
QLua подстановка с описанием для редакторов Lua
Пользователь
Сообщений: Регистрация: 04.10.2021
21.02.2022 12:58:27
Я проверил в редакторах Lua:
с (рекомендую).
с (плохо отображаются многострочные описания).
Код
---@type qlmoney_limits
local tbl = getItem("money_limits", 2)
Описание поля при наводке мыши:
Ну, и... звездани на ГитХабе...
Автологин
Пользователь
Сообщений: Регистрация: 04.10.2021
21.02.2022 11:49:23
Вообще-то в том же МТ5 при первом входе создается хеш-ключ автологина, который привязан к Комп+Винда+ПапкаПрофиля+итд. Когда хеш-ключ не совпадет - вводи логин и пароль опять.
Но программистам Квик проще свалить на "безопасность" :D
Как сверить количество лотов в Квике и в моем роботе .
Пользователь
Сообщений: Регистрация: 04.10.2021
21.02.2022 10:09:35
- мой вариант getFuturesHoldingPrice()
В Квике НЕТ синхрона таблиц, поэтому приходится самому костыль синхрона делать...
Баги QUIK 8.13
Пользователь
Сообщений: Регистрация: 04.10.2021
09.02.2022 17:34:44
МТ5 согласен с моим вариантом:
Баги QUIK 8.13
Пользователь
Сообщений: Регистрация: 04.10.2021
09.02.2022 17:19:32
Похоже стандартный MoneyFlowIndex считается особым способом...
ВТБ ао MoneyFlowIndex оба 6 периода Дата: 2021.12.16 20:45 (5 минутки) Расхождении не только там...
Мой вариант:
Код
Settings = {
Name = "Tester",
Step = 0,
line = {}
}
LINES = 1
for x = 1, LINES, 1 do
Settings.line[x] = {
Name = "Line" .. tostring(x),
Type = TYPE_LINE,
Color = RGB(255, 255, 255),
Width = 1
}
end
function Init()
LINES = #Settings.line
return LINES
end
function OnCalculate(index)
local start = O(index)
if start == nil then
return nil
end
return indicMoneyFlowIndex(indicToDataSource(), 6, Size()-index)
end
---Money Flow Index
---@param datasource fnCreateDataSourceReturn DataSource
---@param period number Период
---@param shift number Сдвиг в барах
---@return number
function indicMoneyFlowIndex(datasource, period, shift)
if shift == nil then
shift = 0
end
local stop = datasource.Size() - shift
local start = stop - period
if start < 1 or stop < 1 then
return nil
end
local pos = 0.0
local neg = 0.0
local last = (datasource.H(start) + datasource.L(start) + datasource.C(start)) / 3.0
for x = start+1, stop, 1 do
local tp = (datasource.H(x) + datasource.L(x) + datasource.C(x)) / 3.0
if tp >= last then
pos = pos + (tp * datasource.V(x))
else
neg = neg + (tp * datasource.V(x))
end
last = tp
end
if neg ~= 0.0 then
return 100.0 - (100.0 / (1.0 + (pos / neg)))
else
return 100.0
end
end
---DataSource for Indicator
---@return fnCreateDataSourceReturn
function indicToDataSource()
return {["O"] = O, ["H"] = H, ["L"] = L, ["C"] = C, ["V"] = V, ["T"] = T, ["Size"] = Size}
end
На картинке: белый - мой зеленый - стандартный
Редактор для LUA
Пользователь
Сообщений: Регистрация: 04.10.2021
13.01.2022 20:32:47
getcandlebyindex и сдвиг графика
Пользователь
Сообщений: Регистрация: 04.10.2021
10.01.2022 12:46:22
O(i)==nil на таких барах. Но всегда ли?
Изменение настроек (Settings) внутри кода индикатора, В окне свойств пользовательских настроек не отображается новое значение
Пользователь
Сообщений: Регистрация: 04.10.2021
27.12.2021 09:42:34
Код
function OnCalculate(index)
local start = O(index)
if start == nil then
return nil
end
if MINSTEP == nil then
local info = getDataSourceInfo()
local secinfo = getSecurityInfo(info.class_code, info.sec_code)
MINSTEP = secinfo.min_price_step
STEP = Settings.Step
-- ..........
end
local result = {}
start = start - ((math.tointeger(rd.round(start / MINSTEP)) % STEP) * MINSTEP) + FIRST
for x = 1, LINES, 1 do
table.insert(result, start - (x * STEP * MINSTEP))
end
return table.unpack(result)
end
Баги QUIK 8.13
Пользователь
Сообщений: Регистрация: 04.10.2021
23.12.2021 13:09:20
24. У Тёмной темы главное меню плохо дружит со стрелками на клавиатуре.
Баги QUIK 8.13
Пользователь
Сообщений: Регистрация: 04.10.2021
17.12.2021 09:51:02
23. Интерфейс: "Редактор настроек графика" вообще не знает, что индикатор привязан к другому Инструменту, который при Добавлении можно указать. Узнать и изменить Инструмент через Редактор невозможно.