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

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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 14 След.
Получать объемы сделок
 
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:  
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Артем, Посчитать тангенс - не серьезный, а вот проверить акцию на предмет просадки - серьёзный. :smile:  
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Юрий Волошин, Инвестор отличается от трейдера разве что масштабом по времени. :smile:  
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Артем, Проверьте хоть одну "на предмет просадки"!  :wink: Это Вам не "использовать массив вместо одной переменной"- это алгоритм, и алгоритм весьма серьёзный. Кстати, мой скрипт определяет как раз не "целый список", а именно "один отдельный инструмент", чтобы вложить деньги здесь и сейчас именно туда, куда нужно, а не распылять их по всему "целому списку".
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Юрий Волошин, А никак! Что значит "просела в цене"? На каком таймфрейме? Минутном? Часовом? Месячном? Годовом? А уж насчёт "временно" и сам Господь не ответит - тем более, "быстро и красиво". И не существует в природе никакого "нормального уровня" - здесь все уровни ненормальные! :smile:  
Неполные лоты валюта. Коды класса и инструментов
 
Илья,
Код инструмента Код класса
CHFRUB_1 EES_CETS
EURRUB_1€ EES_CETS
GBPRUB_1 EES_CETS
USDRUB_1$ EES_CETS

Для полных лотов:
CHFRUB_TOM CETS
CNYRUB_TOM CETS
EUR_RUB__TOM CETS
GBPRUB_TOM CETS
JPYRUB_TOM CETS
USD000UTSTOM CETS

Там ещё что-то есть, но лень ковыряться - выборку когда-то сделал для себя
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Юрий Волошин, Да как нефиг делать! Только не "через таблицу Купить/Продать", а самостоятельно всё рассчитав. Считаем сумму мгновенной ликвидности по каждому тикеру, делим её на сумму затрат по нему же, умножаем на 100% и отнимаем 100%. Получаем процент прибыли/убытка (в моей таблице это восьмой столбец). Сортируем по нему и смотрим на первую (или последнюю, в зависимости от вида сортировки) строку таблицы.

Реальность, правда, несколько более сложная, а потому я (и скрипт мой) на данные 8-го столбца почти никогда не смотрим, а принимаем решения, ориентируясь на данные 12-го, 13-го и частично 14-22 столбцов. :smile:  
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
TGB, В ЭТОМ у меня никаких претензий к Lua. Но и насчёт "всё это надо учитывать" я не согласен: нет торговли кроме Квика и терминал - Пророк её! Это всё уже НЕ НАШИ проблемы, не скрипта и не языка.

Да, язык дерьмовенький, диалог на таблицах QUIK убогий и сами таблицы глючные. Зато код не зависит ни от версий Квика, ни от версий языка вообще никак! Сам Квик падает, а скрипт - нет. И это дорогого стоит! В этом и заключается недостаток двухуровневости. К тому же, если бы язык был хорош, то кто бы стал переходить "на второй уровень"? Для чего?

Не, после того, как у меня в портфеле появится 1 000 000 акций, мне не надо даже трогать разработанный мною код, он прекрасно справится и с миллионом! Я так ДУМАЮ!(с)  :smile:  
Кривые шибки в QLua
 
Артем, Спасибо,я в курсе,что "каждое ядро это отдельный физический процессор". Представьте, что на компьютере один ОДНОЯДЕРНЫЙ процессор. Это ничуть не мешает организовать многопроцессную работу - примерно так, как я описал выше.

Не знаю, каким образом "люди пытаются натянуть сову на глобус и заставить однопоточный Lua работать сразу на несколько процессоров" (с их-то несчастными возможностями тупого интерпретируемого кода), но с "вылетами скриптов на пустом месте" я разобрался - больше не вылетает, исправил все свои ошибки и обвистовал чужие. А вот вылет самого Квика на ровном месте встречается всё чаще: несколько часов назад рухнул и сегодня у одного из брокеров (у которого версия 8.11 - у второго версия 8.8 работает уже несколько месяцев без нареканий). И эта тенденция мне СОВСЕМ не нравится! Кстати, этот брокер порекомендовал мне перейти на новую версию, которая оказалась 8.13, и началось такое, что торги вообще пришлось остановить! Завтра буду разбираться с брокером.
Кривые шибки в QLua
 
Артем, А при чём тут "работа на нескольких физических процессорах"? И одного вполне достаточно! Нет, "в обозримом будущем" действительно никто ничего не найдёт, я мало сомневаюсь. А вот "в обозримом прошлом" это особых проблем не составляло. Тоже мне бином Ньютона!(с) В частности, я сам делал нечно подобное на JS. А описание "нормального" монитора (сишного) приведено у меня в книге. Фрагмент:

Идея монитора довольно проста – он обслуживает процесс, то есть набор управляющих данных, представленных в виде стека очередей. Новая группа (объектов или событий) просто заносится как очередь (LIFO) на вершину стека (FIFO), т.е. очередь на вершине стека – это самые приоритетные на данный момент данные, которые обслуживаются по своей очереди «вне очереди». Ниже по стеку расположены те очереди, которые не будут обслужены до обработки всех верхних очередей стека. Собственно, именно так работает любой процессор: обслуживание текущей очереди определяется регистром счётчика команд, а выполнение вложенных процедур – регистром указателя стека. Для доступа к возвращаемым значениям методов используется стек аккумуляторов, устроенный аналогично стеку регистров сопроцессора, для неоднородных объектов – специальный стек системного уровня. Очередное событие из стека очередей обслуживается текущим обработчиком. Размер стека составляет обычно 64 очереди.

И далее:

У нас пока не возникало необходимости программирования многозадачных приложений, хотя техническая возможность создания нескольких процессов в рамках одного приложения имеется, и даже не очень сложна в реализации. Следует лишь помнить, что методы класса функции работают на одном и том же программном стеке, и при переключении процессов следует заботиться о сохранении и восстановлении данных этого стека.
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Юрий Волошин, Может, и нужная, но глючная до невозможности! Давным-давно всё своё считаю сам.
Какой формат записи ячеек с типом QTABLE_DATETIME_TYPE, чтобы работали сортировка и фильтры?
 
Старатель, А на кой? Меня дата-время вообще не интересует, но при желании кто мешает собрать это в обычную строку? Сортировка работать будет - гарантирую! Что такое "фильтры" - не в курсе.
Кривые шибки в QLua
 
Артем, Многопоточность достаточно тривиально реализуется на ЛЮБОМ языке - это разновидность программирования данными. Многопроцессность - с этим значительно сложнее, но тоже нет ничего "принципиально не поддерживаемого". Ну, а если "запускать отдельную виртуальную машину на каждый тред", то дурное дело нехитрое. А какой простор для труднонаходимых глюков!..  :smile:

Оставьте хоть sleep в покое - чуть ли не единственное осталось, что пока работает!
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 14 След.
Наверх