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

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

Страницы: Пред. 1 ... 17 18 19 20 21 22 23 24 25 26 27 ... 80 След.
Работа нескольких скриптов с одним файлом, Выдает периодически ошибку при работе нескольких скриптов с одним файлом
 
опечатка:
У меня проблемы запись в этот  файл нет .  
Работа нескольких скриптов с одним файлом, Выдает периодически ошибку при работе нескольких скриптов с одним файлом
 
Цитата
Дмитрий написал:
В моей ситуации, я так понимаю, это не поможет. У меня 2 скрипта иногда открывают один и тот же файл (мне надо иметь общий файл, а одновременное открытие - совпадение, которое
надо как-то нейтрально обходить), а потом кто-то его первый закрывает, а второй при попытке закрыть еще раз выдает ошибку. Я так это вижу исходя из того, что именно на FileWrite:close() в первом скрипте происходит ошибка (во втором скрипте открывает на чтение и отрабатывает быстрее - там никогда ошибку не выдает - я там вообще только первую строку читаю, больше не надо).
Отсюда вопрос: а как-то статус, что файл стал "close" можно получить запросом? пытался выводить значение переменной "FileWrite" через "tostring", чтоб по нему как-то зацепиться, но выдает какой-то буквенно-цифровой код, описание структуры которого в инете найти не смог.
У меня один лог файл. В него пишут разные потоки. Так как я могу создавать любое число потоков и Lua машин, то мне нет надобности создавать еще какие-то скрипты.  Но мой вариант работы эквивалентен вашему варианту с двумя скриптами.
У меня проблемы запись в этот  файл.  
Попробуйте открывать файлы один раз с дозаписью и завершать запись принудительной записью в файл.
типа так:
Log:write(os.date()..","..tostring(s)..",num="..tostring(num)..","..tostring(count).."\n"); Log:flush();
Работа нескольких скриптов с одним файлом, Выдает периодически ошибку при работе нескольких скриптов с одним файлом
 
Цитата
Дмитрий написал:
"либо писать метку в строку и искать эту метку" - а это как работает?
скрипт открывает файл на дозапись и пишет лог файл. каждая запись содержит метку времени  .
другой скрипт открывает файл на чтение и читает этот файл по строкам.
Время в метке сравнивает с текущим временем и читает строки, время которых больше.  
Работа нескольких скриптов с одним файлом, Выдает периодически ошибку при работе нескольких скриптов с одним файлом
 
Цитата
Дмитрий написал:
И что-то такая конструкция работает не правильно, теперь у меня файл до остановки скрипта пустой. Наверное, скрипт держит его открытым и не фиксирует запись.
Если хотите передавать данные через файл, то надо делать один из следующих алгоритмов:
либо контролировать момент изменения файла,
либо уничтожать его после чтения
либо делать уникальное имя
либо писать метку в строку и искать эту метку.
Работа нескольких скриптов с одним файлом, Выдает периодически ошибку при работе нескольких скриптов с одним файлом
 
Цитата
Дмитрий написал:
Спасибо. А вы не могли бы в 2-х словах пояснить как работает условие без значения, ну т.е. я понимаю когда, например " if Filewrite == nil then ... ", а что значит переменная без сравнения в  конструкции " if Filewrite then ..." ?  
оператор if   исполняется если следующее выражение true.
если  File  что-то присвоено, то это true.  
Работа нескольких скриптов с одним файлом, Выдает периодически ошибку при работе нескольких скриптов с одним файлом
 
Цитата
Дмитрий написал:
function mark_Fail (zap, mark) - моя функция записи в файл FileWrite = io.open('D:\\QLUA\\fails\\mark.txt', zap) FileWrite:write(mark)  FileWrite:close()end
попробуйте так:
Код
function mark_Fail (zap, mark) - моя функция записи в файл
FileWrite = io.open('D:\\QLUA\\fails\\mark.txt', zap)
FileWrite:write(mark)
if Filewrite then FileWrite:close() end
end
Дельта - хеджер, Буду рад комментариям по коду
 
В  QPile есть три существенных недостатка.
1) интерпретатор - медленно интерпретирует
2) ограничение на количество переменных
3) скрипт работает по тайиеру, а не по событиям торгов.
Равнение на "Яндекс"!!!
 
«Яндекс» увеличил фонд своей программы багбаунти «Охота за ошибками» в 2023 году в 2 раза до 100 млн рублей. В 2022 году компания выплатила белым хакерам 39,7 млн рублей за нахождение уязвимостей и багов в своих сервисах и службах.
Функция CreateDataSource никогда не возвращает ошибку, И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: "Всё отлично".
 
Цитата
paluke написал:
Брокер же получает данные с биржи. Я не знаю, как оно там внутри устроено, но вполне возможно, что если вы первый клиент, подписывающийся на какой-то инструмент, то именно в этот момент и будет отправлен запрос на биржу. А вот есть ли в биржевых протоколах (plaza, fix/fast) возможность узнать, придут ли вообще данные?
Объясняю как там устроено.
----------------------
Биржа рассылает общую информацию периодически в  широковещательном режиме.
Все профи ее получают вне зависимости от вашего подписания.
Когда Вы подписываетесь,
то Вас включат в список рассылок на сервере брокера  QUIK ( разработчики QUIK поправят, им виднее).
Дельта - хеджер, Буду рад комментариям по коду
 
Цитата
Олег123 написал:
Это понятно. Но qpile я выучил за день и скрипт написал за час. накидать на коленке самое оно.
если комменты по вашему скрипту, то выкладывайте его на форум. Лень ходить на файлообменник.  
QIUK 9.8.0.11 выходит при attach MSVC 2019 debugger - защита или проблема?
 
Цитата
Variable написал:
Цитата
nikolz написал:
Я делаю это в редакторе SciTe, который написан на луа
Здравствуйте, nikolz!
Интересно.Никогда не работал со SciTe.Т.е. в нём можно, не запуская квик, войти на сервер, вызвать функцию DLL, которая в свою очередь вызовет функцию типа CreateDataSource() и потом сможет обработать возвращаемые по callback  или без callback данные, отлаживая DLL под MSVC ?
нет, так нельзя.
----------------------
В SCITE можно отлаживать скрипты на луа, питон и др языках, а также отлаживать dll для этих языков.
==========
Когда я делаю новые функции для луа в виде dll, то отлаживаю эти функции.
После их отладки, я отлаживаю скрипты с отлаженными dll в демо-версии qUIK.
Вызывать в сырых dll функции из QLua не вижу смысла, так как это лишь усложняет отладку dll.
Ошибка Trans2Quik.dll при переходе на Quik v10 c v7
 
https://forum.quik.ru/forum12/topic1043/
ДемоСчет. Что не так?
 
Цитата
Igor_User написал:
Такой вопрос.
Когда на демо-счёте покупаю/продаю фьючерс по рынку, то на счёте блокируется несколько больше средств, чем гарантийное обеспечение данного фьючерса. Возможно это уже с учётом комиссий. Но где можно посмотреть, какие комиссии на демо-счёте?

P.S. Возможно это где-то уже обсуждалось на форуме, но у меня найти не получилось...
не заморачивайтесь конкретными значениями на демо счете.
---------------------------------
Этот счет исключительно для тестирования работоспособности скриптов и освоения нажатия клавиш а КВИКЕ.  
Работа в режиме аукциона
 
если  Вы про предторговый период , то его можно определить по времени.
Добавление флагов в скрипт
 
Цитата
Станислав написал:
Цитата
Beginner написал:
 
Цитата
nikolz  написал:
у вас flag всегда ноль.
 а как правильно нужно?  
flag=0 --ИСХОДНОЕ ЗНАЧЕНИЕ ФЛАГА

Сейчас переменной присваивается значение 0 на каждой итерации цикла while. Очевидно, что инициализацию переменной нужно вынести за его пределы.
надо вынести начальное значение из цикла.
Баг - изменение номеров старых свечей
 
Краткость -сестра таланта.
-----------------
Поднимите руку, кто понял, про что фунтик написал?
Добавление флагов в скрипт
 
у вас flag всегда ноль.
Скрипт который выставляет заявку исходя из объема портфеля и предыдущей исполненной заявки, Возникают непонятные проблемы с запросом информации о портфеле и заявке. Постоянно возвращается nil, что бы не спросил.
 
и еще...
на рынке быстро можно лишь слить депозит.  
Рынок (брокеры) любят Буратин.  
Скрипт который выставляет заявку исходя из объема портфеля и предыдущей исполненной заявки, Возникают непонятные проблемы с запросом информации о портфеле и заявке. Постоянно возвращается nil, что бы не спросил.
 
Цитата
Alexey89 написал:
1) Весь опыт пара калькуляторов на джавсакрипте и пара простеньких батников.
2) Пару недель пытаюсь что-то делать на Lua, и продолжаю, через полгода думаю буду знать больше. Недавно понял в  main () слип не тормозит весь квик сразу, это был прорыв!  
3) Ни разу, смотрю несистемно, кусками, скорее всего это неправильно, но заставить себя систематически штудировать я не в силах. У меня много вопросов, но ответов нет в документации, примеров там мало, нужной информации мало. Интерпритация почему произошла какая ошибка там нет, как LUA работает под квиком. Думаю что важнее понимать спецификацию работы квика с LUA (куча прог где LUA работает, но ведь код для каждой конкретной проги будет разный? или все везде одинаково? вот где в документах ответ на этот вопрос? только опытный тут ответит), у меня сберквик думаю под ним свои ньюансы работы и куча кода из примеров просто не работает под ним, надо напильником его дорабатывать.

У меня вроде простая задачка "Нажал скрипт с названием купить или скрипт с названием продать. И выставляется заявка с тейк профитом и стопом по бумаге с исполненной заявкой с таким же числом лотов который в исполненной заявке."   Стоит ли от корки до корки все пройти что бы ее решить? Или это таки сложная задача?

Кстати она вообще выполнима средствами LUA на квике?  
У меня тоже брокер сбер.
Все работает нормально.
--------------------------
Ликбез:
-------------------
Все скрипты для QUIK пишутся почти по шаблону одинаково.
-----------------------
Для написания скриптов надо изучить две книжки:
-----------------
1) https://eligovision.ru/media/upload/lua.pdf
Примеры, а затем и скрипты на луа, лучше писать и тестить в редакторе SciTe.
-----------------
2) документация на библиотеку функций QLUA.
для тестирования функций QLUA установите демо версию QUIK  и подключитесь к демо серверу,
Скрипт который выставляет заявку исходя из объема портфеля и предыдущей исполненной заявки, Возникают непонятные проблемы с запросом информации о портфеле и заявке. Постоянно возвращается nil, что бы не спросил.
 
Цитата
Alexey89 написал:
https://luaq.ru/getParamEx.html


-- Входная точка для скрипта
function main ()
   -- Инициализируем параметры для запроса
   param_name_buy = "BUYDEPO"
   param_name_sell = "SELLDEPO"
   class_code = "SPBFUT"
   sec_code = "SiH9"

   -- Запрошиваем ГО покупателя
   result = getParamEx (class_code, sec_code, param_name_buy)
   -- Выводим результат по ГО покупателя
   message(
       "Гарантийное обеспечение покупателя:\n"..
       "param_value = " .. tostring(result.param_value).. "; \n"
   )
   -- Запрашвиваем ГО продавца
   result = getParamEx (class_code, sec_code, param_name_sell)
   -- Выводим ГО продавца
   message(
       "Гарантийное обеспечение продавца:\n"..
       "param_value = " .. tostring(result.param_value).. "; \n"
   )
end


Мне надо самому получить sec_code, а не задавать его самому. Есть какая-либо возможность получить это название акции? Из заявки или активного графика или стакана открытого? Если глупость говорю простите. Я нуб, побольше бы реальных рабочих примеров  getParamEx  или какого аналога.  
Три вопроса, чтобы понять как Вам помочь:
1) На каком языке программирования умеете писать работающие программы?
2) Сколько времени Вы затратили на изучение программирования на Lua?
3) Сколько раз Вы прочитали документацию на QLua от начала до конца?
Полосы прокрутки в окне графика
 
Цитата
Андрей Иванчин написал:
Цитата
nikolz написал:
вот специально сделал
это с полосой
   

это без полосы
А как сделали?
вроде написал.
Если вы график сдвинуть влево  , то появится полоса, Т е график не умещается в окне.
Полосы прокрутки в окне графика
 
вот специально сделал
это с полосой


это без полосы
 
Полосы прокрутки в окне графика
 
Цитата
Андрей Иванчин написал:
Цитата
Андрей Иванчин написал:
Добрый день!

Как убрать полосу горизонтальной прокрутки в окне графика? У одного окна когда-то настроил, а теперь найти не могу ((
См. график по BRM3 - c полосой прокрутки, а график по NGM3 - без.
Нужно как по NGM3.
Уточнение - речь о видимой полосе прокрутки в самом низу, с ползунком.
слева выходит за границу
LUA и PIPE
 
 sleep(1) - это больше, чем 1 мс.
-------------------
но это не про pipe.
если хотите убрать эти грабли, то используйте системные события.
Не снимаются заявки в секции FORTS
 
Цитата
paluke написал:
А  math.type (order_num) что говорит?
телепатов нет, поэтому, что Вы слышите, знаете лишь Вы .
читайте документацию на Lua 5.4.
Вроде Вам все объяснил на русском , черным по белому.
Не снимаются заявки в секции FORTS
 
Цитата
paluke написал:
Использование деления там специально чтобы проверить конвертацию в double и обратно в int64. Числа взял из первого сообщения.
На самом деле при этом 1951785056590629888 сохраняет значение, а 1951785056590630794 превращается в 1951785056590630912.
Полагаю Вы знаете про ошибки округления,
поэтому конвертация int64 в double  и обратно не может быть всегда точной.
----------------
Более того, все это есть в документации по форматом и для этого не надо делить и умножать
------------------
Ликбез:
-------------------
число 1951785056590629888, 1951785056590630794  -- это 19 значащих цифр
а double хранит мантиссу лишь с точностью 15-17 значащих цифр.
---------------------
Вы это и проверили - т е 15-17 значащих цифр мантиссы не могут всегда точно хранить 19 значащих цифр целого числа.
Не снимаются заявки в секции FORTS
 
Цитата
Andrey Perchits написал:
Цитата
nikolz написал:
ваш пример не корректный
в нем есть неявный формат печати. Вы уверены что он 64 битный?
Если вопрос ко мне, то да, все значения 64-битные. К тому же, если бы имел место некорректный формат печати, то он был бы некорректен во всех случаях. Но это, как Вы можете видеть, не так.
Я вроде бы выше написал в чем ошибка. Повторю, если не заметили.
Ошибка теста выше в неправильном использовании оператора деления.
Надо использовать целочисленное деление а не деление с плавающей точкой.
----
Все остальное правильно.
Не снимаются заявки в секции FORTS
 
Цитата
paluke написал:
Цитата
nikolz написал:
 
Цитата
paluke  написал:
А версия quik какая? Похоже, что где-то номер заявки в double складывается. А там точности не хватает.
 тестировал на 9.7.1.
Сейчас тесты делаю на 10.2.1.12
Тогда это вопрос к разработчикам. Оно однозначно через double конвертируется:
Код
  Lua  5.4 . 2   Copyright (C)  1994  -  2020  Lua.org, PUC - Rio
 >   1951785056590629888  /  1   |   0 
 1951785056590629888 
 >   1951785056590630794  /  1   |   0 
 1951785056590630912 
 > 
  
У Вас ошибка в примере в том, что Вы используете деление.
надо делать так:
Код
>   1951785056590629888 //  1   |   0 
1951785056590629888
 >   1951785056590630794 //  1   |   0 
1951785056590630794
 > 
Не снимаются заявки в секции FORTS
 
ваш пример не корректный
в нем есть неявный формат печати. Вы уверены что он 64 битный?
Не снимаются заявки в секции FORTS
 
Цитата
paluke написал:
Цитата
nikolz написал:
 
Цитата
paluke  написал:
А версия quik какая? Похоже, что где-то номер заявки в double складывается. А там точности не хватает.
 тестировал на 9.7.1.
Сейчас тесты делаю на 10.2.1.12
Тогда это вопрос к разработчикам. Оно однозначно через double конвертируется:
Код
  Lua  5.4 . 2   Copyright (C)  1994  -  2020  Lua.org, PUC - Rio
 >   1951785056590629888  /  1   |   0 
 1951785056590629888 
 >   1951785056590630794  /  1   |   0 
 1951785056590630912 
 > 
  
Вы ошибаетесь.
Это не вопрос к разработчикам, а к документации на Lua 5.4.2  
Рекомендую изучить sorce Lua 5.4.2
Если точки нет, то это целое и конвертируется через int64.  
Не снимаются заявки в секции FORTS
 
Цитата
paluke написал:
А версия quik какая? Похоже, что где-то номер заявки в double складывается. А там точности не хватает.
если выложите свой тест, то могу посмотреть.
Не снимаются заявки в секции FORTS
 
Цитата
paluke написал:
А версия quik какая? Похоже, что где-то номер заявки в double складывается. А там точности не хватает.
тестировал на 9.7.1.
Сейчас тесты делаю на 10.2.1.12
Не снимаются заявки в секции FORTS
 
всего в тесте выставлял и снимал до 500 тысяч заявок и без проблем.  
Не снимаются заявки в секции FORTS
 
относительно снятия заявок.
Я тестировал выставление и снятие заявок на демо сервере.
У меня все выставлялось и снималось на акциях фьючерсах и валютном счете.
https://forum.quik.ru/forum10/topic7930/
Не снимаются заявки в секции FORTS
 
Цитата
Andrey Perchits написал:
Цитата
nikolz написал:
В OnTransReply может и не быть order_num, так как это ответ сервера брокера на обработку транзакции.
Первый раз этот ответ приходит раньше, чем ответ с сервера биржи.

Действительно, Ваш ответ можно было бы принять, но есть нюанс. В поле  result_msg номер заявки присутствует, и он всегда верный. Так что проблема явно на стороне квика, уж не знаю там, сервера или клиента. В моем первом сообщении Вы можете увидеть оба случая, когда номера совпадают и когда нет.
Верно, я его использую.
Но это не документированное использование параметров колбека.
Не снимаются заявки в секции FORTS
 
В OnTransReply может и не быть order_num, так как это ответ сервера брокера на обработку транзакции.
Первый раз этот ответ приходит раньше, чем ответ с сервера биржи.  Это отмечено в документации:

*order_numNUMBERНомер заявки
*priceNUMBERЦена
*quantityNUMBERКоличество
*balanceNUMBERОстаток
*firm_idSTRINGИдентификатор фирмы
*accountSTRINGТорговый счет
*client_codeSTRINGКод клиента
*brokerrefSTRINGПоручение
*class_codeSTRINGКод класса
*sec_codeSTRINGКод инструмента
*exchange_codeSTRINGБиржевой номер заявки

* - параметр может иметь значение  nil

Дублируются пользовательские сообщения из скрипта lua
 
Цитата
Алексей А. написал:
Благодарю за ответ.
Вот здесь нашел решение -  https://quik2dde.ru/viewtopic.php?id=310  .
Вставил в начало кода:
Код
  t_trades  =  {}
  

И после function OnTrade(trade)
Код
      if  t_trades[trade.order_num]  then 
    return 
    end 
   t_trades[trade.order_num]  =   true 
  

Сейчас сообщения не повторяются.
Информация к размышлению:
------------------------
1) Зачем дублировать таблицу сделок?
----------------------
2) Если сделок миллион. Сколько времени уйдет на поиск   t_trades[trade.order_num]?
Интервал обновления котировок во всем Квике, Добавить настройку частоты обновления котировок для их искусственного торможения (в дни сильных колебаний)
 
Цитата
A.T. написал:
Что такое ТТП?
Заявки все равно выставляются в Квике по F2.Вы не понимаете о чем речь вообще и что просят.
Мы здесь это не обсуждаем.лишь просил модератора рассмотреть предложение. Вас здесь не просят комментировать и что-то отклонять.
Аналогично,  Вас здесь не просят указывать, что мне делать.
Интервал обновления котировок во всем Квике, Добавить настройку частоты обновления котировок для их искусственного торможения (в дни сильных колебаний)
 
Цитата
A.T. написал:
Котировки - это стакан.
График тоже дергается будь здоров, потому что показывает Last.
Это на будущее.
В России такие активные дни редки, народ привык к практически мертвому рынку.
В Америке активная "бешеная" котировка - это каждый день, даже спокойный.
Квику надо быть готовым.
котировки можно смотреть в ТТП, в которую данные приходят срезами.
При этом нет надобности ни в стаканах ни в свечах.
ТТП можно спокойно созерцать и неторопливо выставлять заявки.
Интервал обновления котировок во всем Квике, Добавить настройку частоты обновления котировок для их искусственного торможения (в дни сильных колебаний)
 
Цитата
A.T. написал:
Добрый день!

Есть такое пожелание:

Встроить в настройки Квика (F9) такую вещь как задержку котировок. По сути это будет настройка частоты обновления котировок для их искусственного торможения (в дни сильных колебаний).
Например, по выбору, обновлять раз в 2 или 5 секунд и НЕ чаще. Или в 10 секунд. Или даже в 30.
Через QLua такое можно запрограммировать для своих мини-программ через функцию Sleep().
Почему бы не встроить в сам Квик как глобальную опцию?Интервал (частота) обновления котировок.

Пояснение и аргументация:

Когда вы смотрите в Квике на "бешеные" стаканы в дни резкой волатильности или событий, когда глаз не успевает даже поймать "целую часть" котировки, не говоря о дробной, - это нормально.Это обычный нормальный средний день в Америке.
На такой же профессиональной торговой платформе типа Квика.

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

Вот у меня такое предложение, которое нигде не встречал.

Понятно, что обстановка на рынке за это время изменится, но мозг человека так не работает.
Ему критически важно спокойно принять новую информацию (котировку) и в статичной обстановке, без перемен и обновлений ее обдумать и принять решение.Так биология устроена.

А это сказывается на торговле и результатах.
Потому индустрия и брокера это одно, котрые гонят максимальный поток котировок уже не рассчитанный на человека, а частный трейдер - это совсем другое.
На самом деле выставить такую задержку совсем не трудно. Она есть в QLua.
И еще проще её сразу встроить в саму торговую платформу как опцию в глобальные настройки (F9).

Спасибо.
Стакан- это заявки, а не сделки.
Для спокойной торговли не надо смотреть в стакан.
-----------------------------
Для этого есть свечи - это сделки.
Поставьте график свечей на 30 минут и спокойно торгуйте.
Я делаю так и робот мой тоже так делает.
Как убрать рекламный баннер?, Реально злит!
 
Прикольно, но вставка рекламного банера - это фишка разработчиков QUIK.
---------------------
Ау, Разработчики объясните начинающим Вашу фишку с этим банером.
-----------------------
Можно убить этот банер хуком.
Class: ShowBannerWindow.
Как убрать рекламный баннер?, Реально злит!
 
максимум так:
 
Не снимаются заявки в секции FORTS
 
Цитата
Andrey Perchits написал:
Добрый день.

Обнаружил странное поведение при выставлении заявок на FORTS. Поле order_num, приходящее в колбеке OnTransReply, часто не совпадает со значением в таблице заявок квика, из-за этого не удается программно снять заявку. Тем не менее, бывают редкие случаи, когда эти значения совпадают, и тогда заявки снимаются.
При этом обнаружил, что в поле result_msg номер заявки всегда верный. Вот реальные примеры совпадающих номеров и несовпадающих:
Код
  trans_id:  10000001 ,
order_num:  1951785056590629888 ,
status:  3 ,
result_msg: Заявка  1951785056590629888  успешно зарегист,
class_code: SPBFUT,
sec_code: SiM3  
 
Код
  trans_id:  10000003 ,
order_num:  1951785056590630912 ,
status:  3 ,
result_msg: Заявка  1951785056590630794  успешно зарегист,
class_code: SPBFUT,
sec_code: SiM3  

Подскажите, пожалуйста, в чем может быть проблема и как можно достоверно получить правильный номер заявки?
OnTransReply - это колбек на транзакцию, а не на выставление заявки.
Номер заявки надо брать либо из OnOrder , либо из таблице заявок.
Отобржение и считывание информации индикаторов на графиках
 
Цитата
Сергей написал:
Добрый день.

Спасибо за желание помочь. Я радикально решил эту проблему, отказавшись использовать процентную шкалу.
Вывожу процентную шкалу в отдельном окне, в котором отображаю сразу все интересные для торговли инструменты.
Попробуйте, очень вкусно.
LUA и PIPE
 
рекомендую почитать:
https://learn.microsoft.com/en-us/windows/win32/ipc/interprocess-communications
Кракозябры на Windows Server 2022
 
Цитата
Let_it_go написал:
Операционная система Windows Server 2022,
посмотрите здесь:
https://survivalhost.org/articles/windows/windows-server2022-rus
Как выводить данные из таблицы обезличенных сделок в Excel одной строкой?
 
Цитата
Александр_84 написал:
Данные из таблицы обезличенных сделок можно выводить в Excel но они выводятся непрерывном потоком и спустя какое-то время строки в нем заканчиваются.  Требуется выводить данные в одну строку в Excel, например так, как выводятся данные из таблицы текущие торги.  Соответственно возникли вопросы как можно решить эту проблему:  Есть ли возможность делать это с помощью настроек Quik?  Есть ли готовые решения, программы?  Можно ли написать скрипт и если да, то сколько это стоит?  Где взять инфу и примеры чтобы самому написать скрипт?  Если выводить данные в базу данных как потом отправить их в Excel одной строкой?     пишете  pomnikov.a@mail.ru  
Пишите скрипт в Excel, делайте базу данных в Excel.  
Последовательность обработки функций обратного вызова
 
Цитата
Cyber написал:
nikolz, я то думал у вас там тест чистого LUA, тогда нее, не хочу такое. Вот и я предполагал, что будет как в п.4 для небольших обработчиков.
Там тест чистого луа и там в некоторых колбеках выполняется обработка на которую уходит не более 0.001 сек.
------------------------------
А пункты которые я вам написал в качестве ликбеза.
Отобржение и считывание информации индикаторов на графиках
 
Цитата
Сергей написал:
nikolz,Вы прислали скрин 31.05. Цена закрытия этой акции 30.05 была 244,65, а текущее значение на скрине 249,65, то есть это плюс 2%, а не плюс 4 с лишним процента как на скрине. Явное несоответствие. Свечи привязаны к левой шкале процентов, а индикатор Боллинджера к привязан к правой шкале абсолютной цены. Поэтому их положение относительно друг друга на Вашем скрине тоже не верное. Просто при данном масштабе  и данных значениях это не бросается в глаза.
Вы невнимательно читали мой комментарий, это график демо сервера, а не реальных торгов.
Смотреть надо на расположение индикаторов  относительно цен. У Вас они сместились далеко вниз справа. -- это неправильно.
У меня мувинг и среднее болинджера- тоже мувиинг расмещены в области цены. -- это правильно.
Это указывает на то, что у вас неправильная привязка графиков к вертикальным осям.
Последовательность обработки функций обратного вызова
 
Цитата
Cyber написал:
Цитата
такая скорость Вас устроит?
Да, вполне. Но на коллбеках она все же выше?  
Нет,
Но есть одно но.
1)  Так как пишем на луа, то вызов функций стоит очень дорого.
2) Кроме того, большинство любителей используют sleep для предотвращения блокировки ядра процессора пустыми циклами.
Я для этого использую события OC, что существенно быстрее.
---------------------
3) Чтобы выполнить действия в main Вам надо распознать какой колбек сработал.
И main - это один поток, а колбеков много и инструментов много.
В итоге у Вас либо будет пропуск срабатывания колбеков, либо задержка в обработке их сигналов в очереди.
------------------------------
Я решаю проблему путем запуска пула потоков, т е у меня не одна main, а столько сколько надо чтобы обрабатывать колбеки по разным инструментам.   В тестах создания снятия заявок для 200 инструментов запускалось до 11 потоков из пула.
---------------
4) Так вот некоторые колбеки быстрее обработать внутри их , чем передавать эту обработку в майн или в пул потоков.
--------------------
5) В потокал пула у меня работают не VMLua, а VMLuaJit + статическая типизация.  
Это примерно до  100 раз быстрее, чем будет у Вас в main на  "чистом Луа"
---------------------------------
Поэтому быстрее, чем у меня Вы не сделаете.
------------------
Страницы: Пред. 1 ... 17 18 19 20 21 22 23 24 25 26 27 ... 80 След.
Наверх