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

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

Страницы: Пред. 1 ... 23 24 25 26 27 28 29 30 31 32 33 ... 41 След.
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
TGB, Так и Вы мне вполне симпатичны - откуда взяться хамству? Ща, посмотрю какую-нить выжимку из описания моего "идеального стиля общения"...
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
TGB, Поверьте, у меня ОГРОМНЫЙ опыт общения! В том числе, опыт "затыкания пасти" флудерам.Я пробовал практически все способы, и этот оказался наиболее эффективным - я его даже назвал "идеальный стиль общения".  :smile: А груб я только с хамами, да и то веду себя с ними намного вежливее, чем они со мной.
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
s_mike@rambler.ru, Лапуль, мой скрипт давным-давно работает, и давным-давно торгует лучше меня. И не Вам указывать, чему там мне "следует научиться". Вы меня не интересуете вообще никак - я Вам, кажется, уже это говорил, и Ваш поросячий визг меня абсолютно не колышет: не будете встревать в разговор с идиотскими комментами - не трону. Вот какого хрена Вы сегодня опять влезли? Битому неймётся? Да и "запахи" здесь от таких, как Вы. :wink:  
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
s_mike@rambler.ru, Да, Вам слушать этот бред явно противопоказано. :smile:

Меня это блеяние про МОЖНО сделать достало ещё много лет назад. Так СДЕЛАЙТЕ, наконец, "простейшую таблицу под любым соусом при помощи метаметодов", чтобы у таблицы заявок строки не пропадали при обрыве связи! Что, не можете? Способны только языком чесать? А что происходит с этими долбаными таблицами "с любыми свойствами" после DeleteRow - не подскажете? А то я от этого говна вообще отказался. Что до loadstring - эта "deprecated" чуть ли не единственная приличная функция во всём языке, и я ею активно пользуюсь.
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
TGB, Да хрен с ними, с  "неокрепшими умами" - пущай укрепляются! Не в инкубаторе же их держать! :smile:

Все-таки это таблицы как деревья. С обращениям к их элементам как к многомерным массивам. И ничего не надо "с помощью них строить" - всё уже построено. Мой ТРЕТИЙ коммент в этот форум содержал фразу:

В общем, с языком почти всё ясно: граф (точнее, дерево) объектов построить можно, а простейшую таблицу или даже массив - нельзя. Остаётся разобраться со строковыми переменными: способна ли эта loadstring интерпретировать строки как операторы языка (или, скажем, функции), то есть имеется ли здесь техническая возможность программирования данными.
Отладка QUIK 8.13
 
Артем, Ну да, ну да... цитата из моей давней (2011 год) заметки о браузерах:

Лохотрон №4: война браузеров.

Даже тупорылые признают: После бесславной гибели Netscape реальных "боевых действий" фактически не было. Да и откуда им взяться? Если отвлечься от некоторых оформительских деталей, то все браузеры - и самые старые, и новейшие - близнецы-братья! Иначе и быть не может: браузер по определению есть УНИФИЦИРОВАННОЕ средство отображения информации! Какая разница, какой там у нас стоит браузер, если все они ОБЯЗАНЫ корректно отображать данные, представленные на ЛЮБОМ сайте?! Но нет - мы снова радостно заглотили очередную дурацкую наживку тупорылых! Примеры:

  • Разница между Firefox и Opera минимальная из-за ожесточённой конкуренции. Прут друг у друга фичи быстрее, чем пользователи успевают заметить отличия.
  • Microsoft таки сподобились содрать (почти) всю функциональность Opera/Firefox.
  • Нет никаких причин использовать IE, кроме наличия дурацких сайтов, написанных исключительно (!) под него.
  • Ни один браузер не считаю удобным. Пользуюсь тремя (!) сразу. Firefox держу ради одного (!) сайта.
  • Это разница в подходе (Firefox запускает новый процесс, а IE нет). Даже концептуальная. Одна all-in-one, второй "собери сам".

Снимаю шляпу перед тупорылыми! У меня никогда не хватило бы мозгов сообразить, что можно с такой наглостью впаривать быдлу сколь угодно идиотские сказки. Развернуть на 180 градусов саму идею браузера, заставить создавать сайты специально под "универсальное" средство просмотра - это ВЫСШИЙ пилотаж! И одновременно АБСОЛЮТНАЯ характеристика стаду баранов, именующихся продвинутыми юзерами. Именно продвинутыми, ибо они имитируют осознанность выбора.

Какая война, придурки, какая конкуренция?! Это всего лишь цирковое представление, специально для вас. Чтобы вы с упоением выискивали разный там "плагиат". Который, между прочим, применительно к браузеру называется "унификация интерфейса пользователя". Представьте, дуболомы, что в одном языке программирования слово if означает проверку условия, в другом - команду присвоения, в третьем - оператор цикла (чтобы избежать плагиата). Ну и как, нравится?

Война браузеров (грязная, беспощадная!) действительно была, я её и сам видел. Но она была между NN и IE! И в этой войне любые технические нюансы, достоинства и недостатки самих браузеров, не имели НИ МАЛЕЙШЕГО значения! А весь этот нынешний ублюдочный зоопарк из оперных хромированных лис есть лишь ИМИТАЦИЯ войны, лишь разводка для лохов. Я понимаю - вся эта погань из W3C и ниже мечтает рулить финансовыми потоками, она только на этом поганом клиенте ворует бабло десятками миллиардов долларов. НО НАМ-ТО КАКОЕ ДО ЭТОГО ДЕЛО?! Воруют - да и хер бы с ними, но они же еще и СРАТЬ ПРИХОДЯТ НА НАШИ КОМПЫ! Ну почему вы это терпите?! Ну нельзя же быть настолько тупыми, господа!

Получать объемы сделок
 
TGB, Подобную реакцию я здесь уже видел (в разговоре с Антоном, кажется). :smile:  На что отвечал примерно так: "Алгоритмически это именно прерывания, поэтому мне удобнее называть их именно так".
Получать объемы сделок
 
TGB, Разумеется, sleep там один (тот, который сейчас 300 мс). В цикле main вызывается именно этот, самый быстрый обработчик. А на каждые 5 срабатываний этого обработчика вызывается другой, полуторасекундный. А на каждые 10 срабатываний того... короче, всё очень просто: пара счётчиков - и нет проблем. :smile:  У меня даже три счётчика: 15-секундный, помимо прочего, используется ещё и для снятия несработавших заявок через 5 минут.
Получать объемы сделок
 
Артем, Колбеки-то пусть приходят когда им удобно. Но какая, в жопу, разница, ЧЕМ при этом занимается скрипт? Это же ПРЕРЫВАНИЯ!

Ну, хорошо: вот Вам задачка на сообразительность: я недавно где-то писал, что у меня целых три прерывания по таймеру, и самое быстрое из них (я пробовал для него значения 150, 300, 500, 1000, 1500 миллисекунд, остановился на 300) предназначено для обслуживания действий юзера (мышка, клава). Вопрос: ЗАЧЕМ я это делаю, если на действия юзера приходят именно "колбеки когда им удобно", а обработчики эти устанавливаются по SetTableNotificationCallback? ПРИ ЧЁМ тут вообще таймер, да ещё и самый быстрый? :smile:

TGB, Согласен, "QLua по существу является однопоточным", а потому всей этой фигнёй с "проблемами параллелизма (в том числе атомарностью)" не следует озадачиваться. :smile:  
Получать объемы сделок
 
Артем, Колбеки дёргаются внутри sleep() - и это НОРМАЛЬНО! Фактически sleep есть инструкция интерпретатору: "Скрипт спит - займись чем-нибудь полезным". У меня именно ВЕСЬ скрипт работает в одном потоке (кроме OnTrade, OnStop и обработчиков событий, повешенных на SetTableNotificationCallback). По-нормальному, там надо бы только проставить какие-то флаги, и обрабатывать их тоже в том же потоке, но этот козёл теряет управление, так что на код OnStop стыдно смотреть. А что делать? Код ужасен, но он, по крайней мере, РАБОТАЕТ! А на стеки, треды и прочую хрень - плевать. Пишем на девственно чистом  Lua!
Получать объемы сделок
 
Артем, Да, Вы неправильно поняли. До знакомства с Квиком я и в страшном сне не мог себе представить, что ИНТЕРПРЕТИРУЕМЫЙ код способен подвесить комп, и даже пытался спорить с Антоном. Я был неправ - нет ничего невозможного для нынешнего состава создателей софта! Кстати, реализация "многопоточности" здесь столь же идиотская.
Получать объемы сделок
 
Артем, А чего же ещё Вы хотели при ТАКОМ коде? :smile:  
Получать объемы сделок
 
Anton, Ну, если неизвестно - значит задаём переменной. :smile:

Ну, допустим, секунда (меньше уж совсем неприлично). И чего? Проверим размер таблицы, да считаем 2-3 записи - в чём проблемы?

Нет, задача - дать мат. А уж во сколько ходов - дело стопятидесятое. Какой первым подвернётся. Во всяком случае, у нашей шахматной программы было именно так. :smile:

О! Вот наглядный до тошноты пример, как надо загаживать комп всяким дерьмом! ЛЮБЫЕ ресурсы будут засраны! Интел одобряет.(с) :sad:

Артем, Вся ваша шобла "молодых" ХОТЬ ЧТО-НИБУДЬ сделала полезного за весь XXI век? НУ ХОТЬ ЧТО-НИБУДЬ? Только пальцы веером. Да и то до первого щелчка по носу.  :wink:
 
Получать объемы сделок
 
Anton,  А какие проблемы таймер поставить? Та утилита, которая вызывается из мейна в цикле со sleep и есть таймер. У меня их даже три штуки: для реакции на действия юзера (было 150 мс, потом увеличил до 500, потом уменьшил до 300, на этом и остановился), затем "тиковый" обработчик (прорисовка таблиц, принятие решений - раз в полторы секунды) и, наконец, "свечной" (раз в 15 секунд - расчёт свечей по разным таймфреймам и принятие более глобальных решений). Задержка будет? Да и хрен с ней - мы же не микросекунды ловим! Я даже знать не хочу, какая там задержка, и "в среднем половина этого времени" меня вполне устраивает. Именно что "и рыбку съесть и пальчики облизать и все на чистом луа, без сей и виндов". :smile:

И откуда будет "бесполезная дрызготня в цикле"? Какой там период для работы с этой таблицей? Пять минут? Минута? Ну, проверили её размер, да запустили цикл от его старого до нынешнего значения. Сколько там успеет натикать за 5 минут? Вот эти данные и забираем.
Получать объемы сделок
 
УПС! Вы что, группируете данные ПО ЦЕНАМ?! А не по ценовым диапазонам?! Безумству храбрых поём мы славу! :smile:  
Получать объемы сделок
 
Да не надо никаких колбеков! Идём по таблице до [текущего] конца, (которое при следующем вызове станет новым началом блока) и распределяем поток на части по тем тикерам, которые нас интересуют. Дальше по ним считаем чего надо и забываем данные самих потоков, если уже получен интегральный результат.
Получать объемы сделок
 
Anton, Я бы, ни секунды не задумываясь, делал бы это в прерывании по таймеру. Но, меня эта таблица ваапще не интересует.

Старатель, Идея самая простейшая: считать что-либо ТОЛЬКО в мейне.
Отладка QUIK 8.13
 
TGB, Наоборот! Я с самого начала (кстати, посмотрев на ветки именно этого форума, где постоянно плакались по самым смехотворным проблемам) решил, что писать буду только на Lua. И примерно за полгода написал всё, что хотел - с полного нуля до полностью удовлетворяющего меня скрипта. Думаю, у меня стабильность В РАЗЫ выше средней по форуму. И я больше не "кувыркаюсь" - так, шлифую в фоновом режиме, если что замечу. Например, вчера нарвался на явление: заявка снимается и через секунду снова ставится. Подрихтовал...

Anton, В это я тоже АБСОЛЮТНО не верю. У меня четверть кода (если не треть) написана исключительно для компенсации различных глюков, возникающих при работе скрипта. И я уверен, что максимум после третьей версии любого софта никаких "крайне интересных инноваций там быть не может. А вот количество глюков от версии к версии неуклонно растёт.
Отладка QUIK 8.13
 
TGB, Ну, меня пока что устраивает нынешняя стабильность, хотя уже и начинает раздражать. И я НЕ ВЕРЮ, что не исправляемые годами глюки вдруг будут вычищены в очередной последней версии, которой, к тому же, без году неделя.
Получать объемы сделок
 
s_mike@rambler.ru, А кому они нужны, эти индикаторы? Тем более, если они и в самом деле подвешивают терминал на самых простых задачах?
Получать объемы сделок
 
Старатель, Насколько  вижу, в таблице "all_trades" все записи идут вперемешку, Так на кой ковыряться ТАМ? снимать время от времени очередную порцию от i1 до i2 - и считай что хошь У СЕБЯ! Какой там размер этой таблицы? Сколько миллионов строк?
Отладка QUIK 8.13
 
TGB, Но не исчезнут они никогда! :smile:

Не, я пока погожу. В конце концов, эта версия работает на компе моего друга. Вот и посмотрим, как она будет себя вести. Кстати, у меня сегодня упала самая древняя версия, 8.7.1.3.
Отладка QUIK 8.13
 
TGB, Снова Квик гавкнулся. Кажется, причина та же, что была и в прошлых глюках: конфликт утилит прорисовки таблиц и подачи транзакций. По крайней мере, сейчас было так: решил я купить кое-каких акций "вручную" (через всплывающее контекстное меню моего скрипта). По клику на кнопку "купить" у меня там сначала посылается заявка, а потом убивается меню. Так вот: заявка была послана (и даже сработала), а меню осталось на месте "неубиенным" - у Квика крыша съехала, пришлось прибивать весь процесс. По-моему, это уже ТРЕТИЙ глюк на одну и ту же тему! Ну и нахрена вы плодите туеву хучу версий, господа разработчики?
Отладка QUIK 8.13
 
TGB, У меня просто большой опыт.  :smile: И это убеждение сложилось лет за 15-20 до того, как я узнал про существование Квика.

Я могу перейти (у одного из брокеров) именно на неё, только вот когда мой друг на неё перешёл, она ему дня два периодически выдавала сообщение "превышен общий лимит кредитования". А такой диагностики у него не могло быть потому, что не могло быть никогда. Ну и цвет текста в таблице пропадал минимум однажды.
Отладка QUIK 8.13
 
TGB, Эта версия стоит у моего друга. А у меня - 8.7.1.3 и 8.11.0.66. И у меня стойкое ощущение, что чем больше номер версии, тем глючнее содержимое. В конце концов, само обилие версий самым убедительным образом доказывает, что все они говно. Все до единой!
Отладка QUIK 8.13
 
TGB,А у меня вчера Квик два раза упал на ровном месте. На компе вообще ничего нет, кроме двух Квиков, по одному скрипту в каждом, и вот этого браузера. Ну, ещё Far Manager, в котором я иногда что-нить набиваю. Против падений у меня теперь дамп текущего состояния записывается каждые 5 минут, но при обрыве связи и последующем восстановлении и работающем скрипте этот ублюдок выдаёт колоду прерываний OnTrade по тыщу лет назад исполненным заявкам. Ну просто руки-ноги бы повыдёргивал этим грёбаным программерам!

Теперь поддержка в этой ветке уж точно не появится! :smile:  
Получать объемы сделок
 
s_mike@rambler.ru, ЭТО Я, дорогой, "скрипт написал как раз на луа". И объём его в сто раз меньше (точнее, в 86,.79 раза) и обслуживает он не какой-то сраный график, а весь мой портфель по всем параметрам, включая индикацию и торговлю, и ему насрать и на версию Квика, и на версию Lua, и на "адаптацию для работы с библиотекой bot4sale.dll", равно как и со всеми другими библиотеками. Именно потому, что это "чистый незамутненный луа". :wink:  
Получать объемы сделок
 
s_mike@rambler.ru, Вот уж АБСОЛЮТНО до лампочки! Достаточно взглянуть в начало текста:
Версия:5.05
Требования:Quik 8.6
Размер:1.57 MB
и любому дебилу ясно, что это никак не Lua.

Достаточно взглянуть в конец:
Адаптировано для работы с библиотекой bot4sale.dll
и любому дебилу...
Получать объемы сделок
 
s_mike@rambler.ru,
1. Вы что, предполагаете самостоятельно разработать и графическую библиотеку? Если нет, то сложность представления данных в виде таблицы или графика ОДНОГО порядка.
2. Нет там ответа на его вопрос, ибо совершено очевидно, что вся тамошняя хрень написана НЕ на Lua.
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
TGB, Так это он хакеров не переносит, а "необоснованное подозревающих" - вполне. :smile:  
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
TGB, Владимир хакеров на дух не переносит. :smile:  
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
TGB, Я когда-то занимался чем-то похожим для баз данных, только это дело называлась у меня не "сериализация таблиц", а "транспортный формат данных" ( в общем случае, графовых, а не [только] табличных). Алгоритмически это перевод структурированных данных в общий поток с добавлением необходимых метаданных (перевод информации в данные) и наоборот, перевод данных в информацию. И в том, и в другом случае файловые операции здесь ни при чём - они работают с байтовыми массивами и могут быть вынесены вовне алгоритма преобразования.

Если я правильно понимаю ("результатом сериализации таблицы является Lua-скрипт восстановления этой таблицы"), то здесь имеет место что-то вроде "самораспаковывающегося архива". Решение, несомненно, имеет право на жизнь, хотя я предпочитаю иметь два внешних модуля: упаковщик и распаковщик - это упрощает структуру и уменьшает объём данных "в транспортном формате".

Что такое "ссылочные значения" я не понимаю: на мой взгляд, это точно такие же данные, которые интерпретируются исполнительным механизмом как ссылки (в реляционной терминологии как ключи). То есть они НИЧЕМ не отличаются от любых других данных. По крайней мере, для распаковщика - для различных приложений контроль целостности может быть намного более сложным - и битые ссылки, и висячие элементы (на которые никто не ссылается), и малозаметные вроде как разные ссылки на разные элементы, у которых идентичное содержимое, и чёрта лысого там только не может быть.

Lua-таблицы это, ваще-то, деревья. По крайней мере, у меня при запуске входной файл распаковывается именно в дерево, а при выходе "упаковывается взад". Даже хуже: частично это дерево инициализируется значениями вовсе не из входного файла, а по выходу далеко не всё сбрасывается на диск.
Как определить, когда идет торговая сессия, а когда нет?
 
Юрий Волошин, Никто ни за что не отвечает. А определить, когда идет торговая сессия, а когда нет, очень просто: если торги (по данному инструменту) идут, то значения LAST в ТТТ меняются. Если не меняются, нет и торгов. По любой причине: биржа не работает, брокер спит, провайдер в Инет не пускает или ещё почему.

Вот "прямо сейчас, 14:50 суббота -- все биржи закрыты", запустил Квик, запустил скрипт, в Инет не входил (данные, стало быть, вчерашние - что на Мосбирже, что на бирже СПБ, что русские акции, что немецкие, что американские, что китайские) - всё работает, а заявок скрипт не даёт, при этом статус "торгуется" "открыта" вообще не проверяется. Даванул на кнопочку "купить" для RUAL - говорит "Дай прогреться" (первую минуту у меня сделки запрещены, программа осматривается), даванул через минуту - и лишь тогда "Result=Not connected".

Теперь вхожу в Инет (скрипт по-прежнему работает)... МАМА ДОРОГАЯ! ЧТО ЭТО?! Куча сделок, продаж и покупок, и все в одну и ту же секунду! Во поэкспериментировал, блин! Раньше я сначала входил в сеть, а потом запускал скрипт. Что бы это значило?! Ха-ха-ха! Я просто В ДИКОМ восторге! Сделки-то есть, а заявок ни одной, это она залудила кучу прерываний OnTrade по моим ВЧЕРАШНИМ заявкам, вчера же и исполненным! О, сколько нам открытий чудных... Причём пока связи не было, не было и прерываний. Это брокер подсуетился, штоле? А мой-то скрипт ВЕРИТ этой лапше! Он заявки не подавал, но думает, что их подавал юзер, вручную, через стаканы и, соответственно, учитывает это как сделки по "левым" заявкам. ДА УЖЖЖЖ!  :lol:  
Использование данных по фьючерсам, вышедшим из обращения
 
BlaZed, Во-первых, если вам нужно что-то ещё, вам ТЕМ БОЛЕЕ следует отделить доступ к данным от всяких дурацких сервисов! Во-вторых, если это ВАМ надо, то с какого бодуна это ВСЕМ пихать? В-третьих, вам ТОЖЕ "кроме ТТТ от квика ничего не надо" - ни один ваш "остальной" не в состоянии сформулировать, что же ещё вам надобно. Ну, а если какой камикадзе вдруг осмелится - я бы на это посмотрел... :smile:  
Использование данных по фьючерсам, вышедшим из обращения
 
Да не забивайте Вы Квик всяким дерьмом - и так уже не продохнуть от дурацких "сервисов"!

Храните У СЕБЯ данные и обращайтесь к ним сколько душе угодно! САМИ "дергайте данные из файлов в папке Arhive"! Храните там ЛЮБЫЕ исторические данные по любому инструменту за любой период (в Интете этих данных просто ДО МАМЫ!), тестируйте там свои стратегии хоть до посинения - какое дело до этого разработчикам (и пользователям) Квика? НА КОЙ нам "такой функционал:
в панель выбора инструмента добавить еще один раздел "Архив", в котором и появлялись бы те инструменты, срок обращения которых истек, но данные по которым для терминала доступны? Мало глюков в софте, добавить надобно? И РАЗДЕЛИТЕ, блин, процессы доступа к данным и всю остальную херню вроде "склейки графиков!"!
Как установить поддержку сокетов в скриптах QUIK ?
 
Николай, Они ВЫНУЖДАЮТ переходить на всё более новое (и всё более глючное) говно. Билл здесь один из пионеров, но сейчас так делают абсолютно все. А о совместимости снизу забыли ещё в прошлом тысячелетии, и забыли сознательно.
[BUG] Пропадает текст в таблицах
 
Артем, На перфокартах даже мне не довелось уже программировать. И что такое "современные текстовые файлы"? Мой боевой скрипт содержит на сегодняшний момент 18943 байта. Архивный (эталонный) с комментариями почти в каждой строчке - 38729 байт. В любой "текстовый файл" поместится - даже в самый древний. Читаемость - прекрасная, структуризация - прекрасная, подавляющее большинство функций отлажено и законсервировано ещё в прошлом году, да и последняя замеченная логическая ошибка в коде датирована примерно февралём. Мне давно уже НЕЧЕГО "ловить" - я реализовал абсолютно всё, что хотел. Так что У СЕБЯ ловите ошибки всеми перечисленными Вами способами. Да и то вряд ли поможет - давно известно: "Кто умеет - тот делает, кто не умеет - тот учит как надо делать". :smile:

Старатель, Не знаю, что такое "злоупотребление метками вкупе с пробелами", но код у меня сейчас состоит из 16 функций, ровно столько же в нём меток, а пробелов там 927. На "типы и области видимости переменных" мне давно плевать.

Искать ошибку я, естественно, не буду, ибо научился её лечить ещё до того, как Вы её локализовали, о чём и писал: "Даванул на Enter - и все дела"!
[BUG] Пропадает текст в таблицах
 
Старатель, Чем Вам не нравится мой стиль? по мне так близок к идеальному. :smile:  
[BUG] Пропадает текст в таблицах
 
Старатель, Невозможно. У меня уже много месяцев 11 вызовов SetColor на весь код, и ни в одном из них второй аргумент не равен -1 (там всегда код строки, полученный от InsertRow). Да и третий аргумент ставится в -1 лишь в одном из этих вызовов (когда красится вся строка либо в красный, либо в зелёный при изменении курса). Последние два аргумента в -1 всегда, а четвёртый и пятый иногда устанавливаются в 0xFFFFFF, но это же не -1.

Да что толку от этого проверочного кода, если обновление таблицы у меня происходит раз в секунду (а клеток в ней обычно более 1000), а ошибка проявляется раз в неделю?
[BUG] Пропадает текст в таблицах
 
Roman Azarov, Я не столь оптимистичен. Внешнее проявление ошибки действительно то же самое, но я не делал ничего из того, что делал Старатель, и ошибка у меня проявлялась (и проявляется) чрезвычайно редко.

Да, я уже обещал прислать скрин при возникновении второй ошибки и писал, что проявляться она перестала. Я, правда, увеличил размер sleep c 150 до 500 мс, но вряд ли это так удачно купировало ошибку.
[BUG] Пропадает текст в таблицах
 
Roman Azarov, Добрый день, Роман.

Я прекрасно понимаю, что нестабильно проявляющиеся ошибки отловить труднее всего. Скрин при пропадании текста я приводил (по той ссылке, о которой говорил выше), но и я научился лечить эту штуку, и Старатель обеспечил устойчивую повторяемость этой ошибки. Что до второй - она явно виндовая, поскольку ячейки висят на экране вне зависимости от того, какое приложение активно. Скрин тут поможет разве что продемонстрировать, что я не врал про ошибку, а локализовать будет её нелегко. Код тут не поможет: собственно, я этот кусок кода и привёл - в цикле мейна анализируется флаг состояния меню, и единственное место, где убивается таблица меню (не считая аналогичного убийства по OnStop), и убивает её именно эта конструкция:
if m>2 then DestroyTable(t);m=m-3;end;
Но, видимо, подслушивает, собака - за последнюю неделю этот эффект больше не проявился. :smile:  
[BUG] Пропадает текст в таблицах
 
Roman Azarov, Что значит "о каком пожелании идет речь"? Убрать этот глюк, разумеется.

А что, описания недостаточно? Чем снимки экрана-то помогут? Вот ещё описание, чуть более раннее, от 20.03.2021 09:30:17:
Но есть ещё другой глюк, который раздражает: иногда при убийстве таблицы на экране остаётся лишь ОДНА из  её ячеек, которая торчит на экране как бельмо на глазу в любом запущенном приложении и исчезает только с выходом из Квика.
Насколько я заметил, остаются две ячейки: само значение и заголовок столбца.

Ну вы как дети малые: "Дайте код, дайте код". НА КОЙ вам "скрипт, которым создавалась таблица, и скрипт, в котором выполняется DestroyTable"? Ежу понятно, что код здесь ни при чём и близко! Ну, сидит в цикле мейна:
Код
 while f do          -- бесконечный цикл до остановки скрипта
  if m>2 then DestroyTable(t);m=m-3;end;
  if m==1 then u();end;      -- рисуем или убираем всплывающее меню
  if m==2 then          -- при открытом контекстном меню
 ...
И чего?

Вон, тыщу раз говорилось, что на одно событие прерывания приходят пачками, в любом коде. И как, помогло? И по теме этой ветки была аналогичная переписка (https://forum.quik.ru/messages/forum10/message53528/topic6319) - ещё до того, как Старатель добился устойчивого проявления этого глюка. Фрагменты:

- Владимир, чтобы помочь Вам в решении проблемы, то пришлите Ваш скрипт на котором возникает описанный эффект, а также архив рабочего места QUIK без ключей доступа.

- Так он возникает раз в сто лет! Код прорисовки таблицы не изменился ни в одной букве, код с очисткой и перебивкой таблицы остался также без изменений, единственное, что изменилось - это частота перебивки: она стала заметно выше и, следовательно, увеличилась вероятность столкнуться с транзакцией при прорисовке таблицы. Что именно здесь происходит - я не понимаю, но если в момент прорисовки отправляется транзакция, таблица обнуляется (не всегда, а очень редко).

- Попробуем поймать эффект у себя, либо посмотрев на скрипт, что то сможем сказать.

- Боевой скрипт я вам, разумеется, не дам - там серьёзные алгоритмы принятия решений, а не кака-то несчастная визуализация. А любой другой "огрызок" не даст никаких гарантий локализации ошибки, которая проявляется в одном случае из тысячи. Попробуёте поймать эффект у себя - я уже говорил, что при обрыве связей в таблице заявок строки пропадают, хотя интуитивно кажется, что здесь не эта, а другая ошибка в софте. И я абсолютно убеждён, "на чьей стороне ошибка" - НЕ МОЖЕТ мой код приводить к таким эффектам! НЕ МОЖЕТ! Кстати, я пользуюсь чистейшим Lua, и более ничем, и я НЕ МОГУ "обогнуть в своём коде" ни SetColor, ни SetCell - это разработчики представили для работы с таблицами, и больше здесь ничего нет. А сторонними библиотеками я не пользуюсь, и пользоваться не собираюсь.

- Из гипотез, то согласимся с комментарием пользователя swerg, что дело в ресурсах GDI.

- Нет, не могу согласиться: при чём здесь вообще GDI? Или, по крайней мере, какое мне дело до GDI? И почему раньше никаких проблем с "ресурсами GDI" не было? Графики у меня нет, и кроме двух таблиц, созданных с помощью AllocTable (одна эта, другая для контекстного меню) тоже ничего нет.

Ну, по закону подлости, воспроизвести этот глюк с ходу не удаётся. Если поймаю - пришлю скрин, специально ловить не буду.
[BUG] Пропадает текст в таблицах
 
Roman Azarov, Зарегистрируйте ещё одно пожелание. Пропадание текста (возникает в случайные моменты примерно раз в неделю), по крайней мере, лечится (полным переписыванием таблицы или перезапуском скрипта). Но есть ещё один глюк (проявляется примерно с той же частотой): при убийстве таблицы (DestroyTable) время от времени пропадают не все её ячейки, а остаётся почему-то только один столбец (я использую эту таблицу в качестве всплывающего меню, так что остаётся две ячейки: заголовок столбца и его значение (единственная строка в таблице, не считая заголовка). И эта хрень не убивается уже ничем, кроме перезапуска самого Квика.
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Артем, Вот именно! А идеальный вариант - НЕ выбирать таймфрейм. Не по нашим мозгам это занятие. Помню, когда я торговал вручную, я делал это медленно, вдумчиво, чего-то там соображая и что-то к чему-то прикидывая. Ну, сделал я "правильную" ставку - и что? Откуда мне было знать, что я её продам менее, чем через сутки? А этот тикер как ломанул на 27% - ну нельзя было не продать! Или вот совсем недавний пример: гляжу в таблицу - нет одного тикера, который с утра бы закуплен. Гляжу историю - оказывается, эта скотина продала его уже через час. Пригляделся - оказывается, это вовсе не скотина, а большая умница, поскольку продала она его с хорошей прибылью. Короче, я давно уже НЕ выбираю таймфреймы - это и есть идеал. :smile:

Да,, "максимальный объем прибыли можно извлечь, собрав все локальные максимумы и минимумы", но где именно они находятся мы видим уже ПОСЛЕ того, как они прошли. А решения надо принимать здесь и сейчас, ещё не зная, минимум это или всего лишь приостановка перед дальнейшим падением, максимум ли это или только видимость его. И на тиковых плясках это труднее всего заметить - "лицом к лицу лица не увидать". Мой скрипт изначально работал не менее, чем на 16-минутных свечах, сейчас я понизил ему планку сначала до 8 минут, потом до 4 "за хорошую работу", но более он от меня ни шиша не получит! :smile:  
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Артем, Да не смотрел я ни на какой заголовок! А ПОЧЕМУ "свечи минутные"? А вдруг мы ловим месячный просад? Я и спросил в том смысле, что мы обязаны знать таймфрейм ЗАРАНЕЕ. И какое нам дело до "отсутствия логики и здравого смысла в поведении живых торговцев"? В гробу мы их видели вместе с моим скриптом!  :smile: Это ИХ проблемы, а мы торгуем так, как МЫ считаем правильным. И кто сказал, что "средняя реальная цена это (H + L + C) / 3"? В моих свечах это среднее значение LAST за весь период свечи, и насрать на все (H + L + C), помноженные друг на друга!
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Артем, Господи, какой только хернёй Вы занимаетесь!

Почему "среднее", почему "от разницы", почему "между верхней и нижней ценой", почему "за 4 свечки", почему "минимальная цена", почему "закрытия", почему "за 5 свечек", почему "максимальная средняя реальная (!) цена", почему "за 3 свечки",  почему "10%", почему "20%"?! НУ БУКВАЛЬНО ВСЁ притянуто за уши! И это Вы называете "не идеально, но достойно"? Ха-ха-ха! Кстати, что там за свечи? Годовые, небось? :smile:  
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Артем,Вот и я про то же: без раскрытия того, что внутри, Ваш совет просто пустышка.

А у меня внутри опрос текущих курсов, прорисовка таблицы визуализации, подсчёт разной фигни (в т.ч. свечей по разным таймфреймам) и принятие решений на покупку или продажу по результатам этих подсчётов. Но без тангенсов! :smile:  
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Артем, Отвечено Вами, в переводе на Lua, вот что:
for i=1,n do
end
Гениально! А внутри-то что? :smile:

Вся "предсказательная сила" есть штука вероятностная, поэтому все индикаторы врут, поэтому лично я ими не пользуюсь. И вообще графиками.
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Юрий Волошин, Тангенс - это всего лишь скорость.И просадка после этого может  продолжаться секунды, минуты, часы, дни, недели, месяцы. :smile:  
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Артем, Что Вы говорите?! Нобеля, немедленно! АДНАЗНАЧНА! :smile:

Речь идет о тайфрейме, на котором Вы собрались "поймать просадку", и даже будучи найденной это вовсе не "идеальный момент для покупки". :wink:  
Страницы: Пред. 1 ... 23 24 25 26 27 28 29 30 31 32 33 ... 41 След.
Наверх