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

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

Страницы: Пред. 1 ... 44 45 46 47 48 49 50 51 52 53 54 ... 93 След.
Предварительная проверка наличия в базе Quik инструмента (опциона), Subscribe_Level_II_Quotes и getParamEx не существующего опциона приводят к зависанию Quik
 
Цитата
Boris написал:
Цитата
nikolz написал:
Т е читайте любой из указанных параметров и проверяйте его на вшивость.
я это пробовал задолго до того как тут на форуме вопрос задать.

Проверял и на пустую строку и то что в значении число и что оно не nul
Но всё равно Quik намертво виснет.

Вероятно он виснет не на этапе getParamEx, а ещё ранее и где именно - абсолютно непонятно.
Но происходит это точно в тот момент когда в Quik обновляются данные и появляются сдохнувшие опционы.
Памяти скрипт ест - 8-15мб - не более.

Может какой то кэллбэк есть "инструмент исключён из базы" ??
как я понял Вы используете вывод по dde.
Я тоже с ним работаю, но сервер у меня свой на СИ.
поэтому пару слов по особенностям этого вывода. Так как это может быть причиной зависания.
--------------
В документации по применению DDE в квик, есть указание (место не помню где, но действительно влияет на результата вывода)
что нельзя использовать фильтры в таблице если она выводится по DDE.
Поэтому для начала отключите все фильтры на выводимой по DDE таблице.
-------------
Кроме того, зависание возможно по причине некорректной обработки пустых строк в вашем приложении  DDE
Примерно так.
Передать в SetUpdateCallback дополнительные параметры
 
Цитата
Quikos написал:
Цитата
nikolz написал:
 Вы можете передать любые параметры в любую функцию через внешние для нее параметры
Это могут быть либо глобальные либо локальные параметры блока
Например в вашем случае делаем так:
 
Код
       local   param1,param2;
  -------------------------------------  
  function   my_callback_ (index) 
  --Теперь тут доступны внешние локальные параметры...my_table_, param1, param2 - помимо стандартного index  
  end  
  ----------------  
  local   my_table   =     CreateDataSource   (code_class, code_paper_ interval)
parametr_1   =     "1"  
parametr_2   =     "2"  
my_table :   SetUpdateCallback   ( my_callback )
    
 И не надо огород городить.
Вы можете таким же образом передать и таблицу и все что хотите.

Не сочтите за наглость, Вы сами по поняли, что написали ?

1)Во первых даже если мы рассматриваем Lua - где тут передача параметров в функцию ? Я что спрашивал про глобальные параметры ? Почему вы вообще применяется к глобальным переменным термин "передать" ?? Это и так ГЛОБАЛЬНАЯ переменная.
2)Во вторых я четко спросил про Си, то есть, как это реализовать на Lua api в Си.

Будем откровенны - Вы написали очень глупую глупость :)
Я вам пояснил, что указанное вами решение - это нагромождение огорода - именно для луа.
---------------------
В подсмотренном но не понятом Вами варианте , параметры будут загружаться в стек луа вне функциию
------------------------------
В моем варианте параметры определены как upvalue и будут загружены в стек  луа внутри функции.
-----------------
Разница лишь в том, что ваш вариант содержит больше букв .
-----------------
Если Вы не поняли, то что я Вам написал, то нет смысла объяснять Вам как это делать на СИ.
Вы это тем более не поймете.
Шаг сетчика в операторе for, Некорректная работа оператора for при нецелочисленном шаге
 
например так:
for x=1,2.05,0.1 do  print("x="..x) end
------------
x=1.0
x=1.1
x=1.2
x=1.3
x=1.4
x=1.5
x=1.6
x=1.7
x=1.8
x=1.9
x=2.0
-----------------
Шаг сетчика в операторе for, Некорректная работа оператора for при нецелочисленном шаге
 
чтобы было  правильно ,
надо изменить границу цикла, чтобы результат проверялся не на равно.
как правило путем добавления половины шага
Шаг сетчика в операторе for, Некорректная работа оператора for при нецелочисленном шаге
 
вообще-то  ,
обычно в букварях по программированию предупреждают,
что не надо использовать точное сравнение для вещественных чисел.
чтобы не было мучительно больно.
Шаг сетчика в операторе for, Некорректная работа оператора for при нецелочисленном шаге
 
Цитата
BlaZed написал:
Сегодня столкнулся с некорректной работой оператора for, если задать не целочисленный шаг счетчика

Простой пример
Код
   for  x =  1 , 2 , 0.1   do 
  message ( "x="  .. x)
 end 
  
Логично ожидать перебор значений от 1 до 2 включительно с шагом 0.1
Однако перебор значений идет от 1 только до 1.9
В данном случае на последнем шаге получается x=2.0+8.8817841970013e-016  
Передать в SetUpdateCallback дополнительные параметры
 
Цитата
Quikos написал:
При вызове SetUpdateCallback по умолчанию передать туда доп. параметры нельзя:


Код
   function   my_callback_ (index)

 --index - индекс свечи в таблице my_table, НО сама таблица по умолчанию не приходит, что просто дикость. 

 end 


 local  my_table  =   CreateDataSource (code_class, code_paper_ interval)

my_table : SetUpdateCallback (my_callback_)  


Но, передать доп. параметры в callback - можно с помощью такой контракции, в данном случае я не знаю, что она означает на Lua, просто подсмотрел на данном форуме:

Код
   function   my_callback_ (my_table_, param1, param2, index)

 --Теперь тут доступны переданные дополнительные параметры...my_table_, param1, param2 - помимо стандартного index 

 end 


 local  my_table  =   CreateDataSource (code_class, code_paper_ interval)

parametr_1  =   "1" 
parametr_2  =   "2" 

my_table : SetUpdateCallback ( function (idx)my_callback_(my_table,parametr_1, parametr_2, idx)  end )  



И теперь параметры замечательно переданы в callback SetUpdateCallback.  И вот подскажите пожалуйста, а можно ли подобное провернуть в Си ??
Вы можете передать любые параметры в любую функцию через внешние для нее параметры
Это могут быть либо глобальные либо локальные параметры блока
Например в вашем случае делаем так:
Код
 local param1,param2;
-------------------------------------
function my_callback_ (index) 
--Теперь тут доступны внешние локальные параметры...my_table_, param1, param2 - помимо стандартного index
end
----------------
local my_table = CreateDataSource (code_class, code_paper_ interval)
parametr_1 = "1"
parametr_2 = "2"
my_table : SetUpdateCallback ( my_callback )
И не надо огород городить.
Вы можете таким же образом передать и таблицу и все что хотите.
Получение цены инструмента
 
Цитата
Kolossi написал:
Подскажите, есть ли возможность получения цены последней сделки по инструменту запросом с сервера не занося его в таблицу текущих торгов руками и не создавая всю базу через CreateDataSource ?
Можно.
Для этого Вам надо установить режим по подписке
и подписаться на нужные инструменты
В ТТТ ни руками ни ногами заносить инструмент не требуется.  
Предварительная проверка наличия в базе Quik инструмента (опциона), Subscribe_Level_II_Quotes и getParamEx не существующего опциона приводят к зависанию Quik
 
Цитата
Boris написал:
Периодически сервера Quik перестают транслировать данные по некоторым опционам.
Выглядит это так как опцион был и все его параметры транслировались, эти опционы постоянно мониторятся lua скриптом - который был запущен в тот момент когда опционы все ещё были живы.
В какой то момент некоторые дальние опционы "дохнут" (ещё до истечения по сроку) и исчезают из трансляции серверов Quik как доступные инструменты.

Если эти опционы находятся в таблице торгов то у них в таблице пропадают такие параметры как:
Спрос    Предл.    Цена послед.    Волатильность    Теор. цена

Вместо нулевых значений начинает отображаться пустое значение.

Если таблицу отредактировать и заново заполнить по фильтру - то эти опционы исчезают.

В итоге по DDE из указанной таблицы начинают транслироваться пустые значения - что приводит к зависанию DDE сервера - до тех пор пока сдохнувшие опционы не будут удалены из таблицы

В lua мониторятся стаканы этих опционов - запускается скрипт и формируется список для мониторинга в тот момент когда опцион ещё жив, но в тот момент когда опционы дохнут - попытка мониторинга приводит к зависанию Quik намертво (даже ошибок lua не показывает)

Подобная конструкция - для предварительной проверки успешности запроса getParamEx через параметр result - не помогает, скрипт всё равно вешает Quik.
Какие функции позволят заблаговременно отследить исчезновение инструмента из трансляции сервера Quik ?
Вы в своем вопросе написали ответ.
-----------------------
Если эти опционы находятся в таблице торгов то у них в таблице пропадают такие параметры как:
Спрос Предл. Цена послед. Волатильность Теор. цена

Вместо нулевых значений начинает отображаться пустое значение.
-----------------
вот это и нужно проверять.
Т е читайте любой из указанных параметров и проверяйте его на вшивость.
Поток в котором вызывается SetUpdateCallback, Поток в котором вызывается SetUpdateCallback
 
Цитата
Quikos написал:
В документации естественно таких данных нет, но может кто знает ?  Когда вызывается callback SetUpdateCallback от CreateDataSource - он вызывается всегда только в одном потоке, как в Lua, так и в С++ ?  Кстати интересен данный вопрос и касаемо функции OnQuote.  Вопрос естественно связан с синхронизацией доступа в случае - многотонной SetUpdateCallback .
Какая разница в каком потоке вызывается функция?
-------------------------
Полагаю Вы знаете, что любая библиотека dll хранится в памяти компа в единственном экземпляре
--------------------------------
Это значит, что все потоки, даже если их тысяча вызывают один и тот же код функции
-------------------
Важным моментом является какие данные изменяют эти потоки.
------------------
Именно обращение к данным надо синхронизировать, а не обращение к коду функций.
------------------
Уточните свой вопрос.
Вызвать Lua функцию из С++ c передачей callback`а, Вызвать Lua функцию из С++ c передачей callback`а
 
Цитата
Quikos написал:
Подскажите пожалуйста, есть ли пример, как вызывать функцию к примеру SetUpdateCallback с передачей в нее параметров ?  Ну то есть, вот аналог код в Lua:  
Код
   local  my_table_ =   CreateDataSource (code_class_, code_paper_, interval)

my_table_: SetUpdateCallback ( function (idx)my_callback_(my_table_, code_class_, code_paper_, interval)  end )
  
       
Код
   function   my_callback_ (my_table_, code_class, code_paper, interval)
 .. .код

 end   
 
Код
  //В L  -  на вершине стека уже находится таблица возвращенная  CreateDataSource .

lua_getfield(L,  -  1 ,  "SetUpdateCallback" );          //"Извлекаем" на вершину стека из  "таблицы"  функцию  SetUpdateCallback .  


Теперь нужно поместить в стек последовательно параметры функции SetUpdateCallback, но тут уже не могу понять:
- как поместить function(idx)
- как поместить my_callback_

Не могу понять, где должна быть объявлена моя функция callback ?


В Lua скрипте и тогда мне ее нужно просто получить через Lua_global или же в C++ ?
Не совсем понятно, что Вы не знаете -луа или библиотеку QLUA, поэтому поясняю оба момента.
----------------------------
см. документацию  луа:
----------------
Следующий пример показывает, как хост-программа может выполнять эквивалент этого кода Lua: a = f("как", т.x, 14)
Вот оно в C:
lua_getglobal(L, "f"); /* вызываемая функция */
lua_pushliteral(L, "как"); /* 1-й аргумент */
lua_getglobal(L, "t"); /* таблица, подлежащая индексации */
lua_getfield(L, -1, "x"); /* результат ввода t.x (2-й аргумент) */
lua_remove(L, -2); /* удалить 't' из стека */
lua_pushinteger(L, 14); /* 3-й аргумент */
lua_call(L, 3, 1); /* вызов 'f' с 3 аргументами и 1 результатом */
lua_setglobal(L, "a"); /* установить глобальный 'a' */
=================
см документацию библиотеки QLUA ,
-----------------
Формат функции обратного вызова:  function call_back(NUMBER index)
Пример получения времени из свечки:
function cb( index )   -- объявили колбек функцию
local t = ds:T(index)
end
------------------
SetUpdateCallback(ds,cb)   -- запихнули ссылку на нее в таблицу источника
===============================
если Вы пишите на Си то колбек объявляете на СИ,
но можете и на луа.
в любом случае это глобальная функция.
-----------------
ВСЕ функции библиотеки QLUA - глобальные.
-----------------------
вроде бы все понятно?
----------------------
попробуйте  написать, потом выложите и спросите что не так.
=================
QUIK съедает более 2 ГБ памяти вне зависимости от брокера.
 
Добрый день,
Периодически на форуме появляются душераздирающие вопли о том,
что мол у брокера .... QUIK съедает .. ГБ.
Попытка объяснить ,
что и как надо сделать наталкивается либо на вопли "мы все это знаем",
либо на рассуждения о том, что это не у любого брокера, а лишь у избранного.
----------------------
Полагаю, что проблема не в зеркале,
то есть не в брокере,
а как обычно, в отсутствии знаний у пользователя.
-----------------
Доказательство:
-------------------
брокер СБЕРБАНК.
Чтобы доказать, что брокер не виноват,
специально настроил QUIK так, чтобы получить наибольшую загрузку памяти для этого брокера.
---------------------------
Желающие могут получить и большую загрузку.
Я к этому не стремился, но знаю как это сделать.
-----------------
итак вот картинка результата сегодня:


а это результат обычной настройки

-----------------------------------------------
Успехов в борьбе за знания, т.е. за память.
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
Цитата
СергейК написал:
Цитата
nikolz написал:
как я понял у него объем потребления памяти уменьшился с 1800 Мб до 350 т е в 5 раз
У него ничего не уменьшилось:
Цитата
Дмитрий Б. написал:
Запустил пустой квик без вкладок и без любых котировок, всё отключил.  Изменений нет .
 
Цитата
Дмитрий Б. написал:
Эксперимент завершил. Отсутствие файлов dat не повлияло на память. Сегодня ВТБ обновил версию до 9.8.0.11. А  память забирают все столько же - 2Гб

И не путайте оперативную память и размер файла info.log на диске.
Квик ВТБ жрёт  памяти  2Г и больше, это показывает диспетчер задач.
180М (а не 1800!) и 350М - это размеры  файла   info.log !

Цитата
nikolz написал:
Как я понял Вы из тех кому важно все обосрать
Из тех, но с учётом того, что я никого не обсирал, они существуют только в вашем воображении.  
СергейК,
Был неправ. Приношу извинения.
getCandlesByIndex в индикаторе, getCandlesByIndex в индикаторе
 
Konstantin777,
Скажите, что не так в картинках ниже:
это исходное


это изменили инструмент через легенду в окне

это изменили интервал

Все верно?
getCandlesByIndex в индикаторе, getCandlesByIndex в индикаторе
 
если изменять инструмент через меню, то надо изменить инструмент и в индикаторе.
тогда все работает.
--------------------
Резюме:
Изменение данных в индикаторе будет происходить:
1) при изменении тайма
2) при изменении инструмента якорем
3) при изменении инструмента через меню в окне и в индикаторе
4)  Можно сделать изменение инструмента через меню лишь в окне, но тогда изменение в индикаторе можно сделать лишь на следующей обезличенной сделке.
Konstantin777,
Какой из этих 4 вариантов или иной Вам нужен?
getCandlesByIndex в индикаторе, getCandlesByIndex в индикаторе
 
Konstantin777,,
Как Вы изменяете инструмент?
------------------
Дело в том, что если Вы изменяете интервал или инструмент с помощью якоря, то эти изменения приводят к пересчету индикатора
--------------------
Но если инструмент заменяется через меню окна, то индикатор не пересчитывается.
getCandlesByIndex в индикаторе, getCandlesByIndex в индикаторе
 
Konstantin777,
Я не понял, зачем Вам два окна с двумя инструментами.
Напишите подробнее, что Вы хотите сделать.
Возможно есть решение именно того, что хотите , но пока я не понимаю в чем смысл двух инструментов и
наблюдение трех первых и трех последних, если это не арбитраж.
----------------------  
Можно решить задачу многими способами.
В первом приближении выбранный вами неудачный.
getCandlesByIndex в индикаторе, getCandlesByIndex в индикаторе
 
вариант при котором индикатор работает при смене инструмента, если включить якорь
но при этом смена происходит и во всех окнах и название индикатора тоже изменяется


 
getCandlesByIndex в индикаторе, getCandlesByIndex в индикаторе
 
Тот факт что индикатор остается привязанный к первоначальному инструменту косвенно подтверждает название окна индикатора
если его поместить в третье окно
На картинке
индикатор помещен первоначально  со Сбербанком
После смены инструмента название окна индикатора не меняется

 
getCandlesByIndex в индикаторе, getCandlesByIndex в индикаторе
 
Цитата
но он отображает 0, а не данные предыдущего инструмента
Если индикатор написан правильно, то отображает предыдущее значение а не ноль
 
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
Цитата
СергейК написал:
Цитата
nikolz написал:
Выкладываю картинки с настройками
Тут ничего особенного нет, у меня всё приблизительно так же.
И даже если бы дело было в настройках, проблема была бы и раньше, а она в ВТБ появилась только недавно в сентябре.
А советы ваши давно описаны в начальных постах по теме и все давно испробованы, не работает ничего
Вообще-то я Дмитрию помогаю,
как я понял у него объем потребления памяти уменьшился с 1800 Мб до 350 т е в 5 раз.
-----------
Вам я советов не давал, и тем более не спрашивал вашего мнения.
Как я понял Вы из тех кому важно все обосрать.  
Не исполняется ордер на валютной секции
 
Цитата
Михаил Филимонов написал:
Кто-нибудь торгует на Валютной секции на Едином брокерском счете в Открывашке через TRANS2QUIK  API ?  
Вы зря полезли в  TRANS2QUIK API. это такое старье.
появилось еще задолго до встраивания VMLua в QUIK.
------------------------
переходите на LUA - чем раньше сделаете, тем меньше будет проблем.
---------------------------
"Ох, нелегкая это работа -Из болота тащить бегемота!"
getCandlesByIndex в индикаторе, getCandlesByIndex в индикаторе
 
Konstantin777,
Объясняю вам, почему  данные не изменяются при смене инструмента.
-------------
Проблема в том, что индикатор использует данные инструмента, который отображен перед  загрузкой индикатора на график,
т е при начальной инициализации индикатора в нем сохраняется указатель на архив данных инструмента.
----------------
Когда Вы изменяете инструмент на графике, то в индикаторе остается указатель на прежний инструмент.
Поэтому он продолжает отображать данные первоначального инструмента.
--------------
Поэтому для смены инструмента в индикаторе при смене его на графике Вам надо обеспечить отслеживание этой замены в индикаторе
и при обнаружении замены изменить источник данных для индикатора.
---------------
Полагаю, что это можно сделать задействовав функции создания источника данных.
Но помогать Вам я не буду, нет желания.
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
Цитата
Дмитрий Б. написал:
Цитата
СергейК написал:
 
Цитата
nikolz  написал:
сохраняли историю многих параметров
 Это где настраивается?
350Мб пока самое большое.
Выкладываю картинки с настройками
Так как не знаю как у Вас настроено.
Установите как на них. Потом, если что-то не хватит выложу еще.






Потом удалите все log и data и содержимое arxive и снова подключитесь к серверу.
Надеюсь, что станет еще лучше.
getCandlesByIndex в индикаторе, getCandlesByIndex в индикаторе
 
Цитата
Konstantin777 написал:
Цитата
Konstantin777 написал:
я не понимаю чем Ваш пример от моего отличается.
понял, у Вас getCandlesByIndex вызывается в OnCalculate, а моем примере в Init. Однако  
Цитата
Konstantin777 написал:
Я также тестировал пример с постоянными попытками забора значений свечей(как первых так и последних), и он также криво работает, тупо не видит цены, ни одной, однако если переставить индикатор все идет как по маслу.
я такой же пример сам писал, и все так же плохо работает
Странный Вы человек.
Вместо того, чтобы задавать вопросы и высказывать недовольство,
просто надо было бы привести результат теста, а не рассказывать мне что вы делали что-то не работающее.
Я же не должен за вас все проверять,
написал же вам выше , проверьте если что не так напишите поправлю.
Но в любом случае Я делаю это если у меня есть желание Вам помогать.
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
еще заметил, что у ВТБ все файлы с расширением dat почему-то 65536 байт т е 2 в 16 степени, а у меня т е сбербанка есть и 1024 байта.
------------------
Если вы не удаляли эти файлы как я писал ранее, то удалите их тоже.
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
Рекомендую в дальнейшем их не сохранять, будет память как у меня.
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
Предположу, что вы сохраняли историю многих параметров.  
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
Цитата
Дмитрий Б. написал:
Мне системные файлы ничго не говорят. Не знаю куда смотреть.

По дате так:
убейте файлы info.log
У вас они 74776765 байт и 24646913 байт
а у меня 1024 байта
getCandlesByIndex в индикаторе, getCandlesByIndex в индикаторе
 
Konstantin777,
Выкладываю пример, если что не так, напишите, поправлю.
Код
Settings={
sec ="ind2",  --идентификатор инструмента 2-го графика
Name = 'nk_ind',
}
-------
function OnCalculate(i)
   if i==Size() then
      local N=getNumCandles (Settings.sec) ;
      if N>3 then
         local t=getCandlesByIndex(Settings.sec,0,N-3,3); --последние 3 свечи 2-го графика
         local Hi2,Hi1,Hi0=t[0].high,t[1].high,t[2].high;
      --------------------------
         t=getCandlesByIndex(Settings.sec,0,0,3);   --первые 3 свечи 2-го графика
         local H1,H2,H3=t[0].high,t[1].high,t[2].high;

         message("1="..H(1)..",2="..H(2)..",3="..H(3).."....,i-2="..H(i-2)..",i-1="..H(i-1)..",i="..H(i).."\n"..
         "1="..H1..",2="..H2..",3="..H3..",i-2="..Hi2..",i-1="..Hi1..",i="..Hi0.."\n");
      end
   end
   return
end
-----
function Init()
 Settings.line={};
   Settings.line[1] =    {Name = "C",Color = RGB(0,255,0),      Type =2,Width = 2   };
   return 1;
end
 
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
это файл курса , не важно есть или нет.
Вы отсортируйте по дате, чтобы можно было сравнивать
getCandlesByIndex в индикаторе, getCandlesByIndex в индикаторе
 
Konstantin777,
Позже выложу для Вас пример  
getCandlesByIndex в индикаторе, getCandlesByIndex в индикаторе
 
Цитата
Konstantin777 написал:
Цитата
   s_mike@rambler.ru написал:
Надо понимать, что при загрузке терминала варианты 1,2 и 3 имеют гораздо более высокую вероятность, чем вариант 4. А вот в устоявшемся варианте, когда все данные терминалом прогружены, вы скорее всего будете получать вариант 4
Цитата
Konstantin777 написал:
Я также тестировал пример с постоянными попытками забора значений свечей(как первых так и последних), и он также криво работает, тупо не видит цены, ни одной, однако если переставить индикатор все идет как по маслу.
 
Цитата
nikolz написал:
посмотрите скрипт который я выложил на этом форуме для арбитража
если это скрипт, то в скрипте у меня тоже все работает нормально, проблема именно в индикаторе, где то была тема что функция getCandlesByIndex плохо работает именно в инидикаторах
это индикатор.  Там я даже картинку выложил.
Но называется он скриптом, потому что написан языке Lua.
https://habr.com/ru/post/196272/
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
У меня так:
 
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
можно еще сравнить размер файлов в папке QUIK ВТБ и СБЕРБАНК
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
Цитата
Дмитрий Б. написал:
Цитата
nikolz написал:
 
Цитата
У Вас Win7 у меня Win10.
Сравним память для demo версии
Установил демо. Ничего в демо не настраивал. Запустил сразу три квика. Демо версия память почти не забирает.
У меня подобное.
Ну остается Вам  сменить брокера ВТБ на Сбербанк.
Будет как у меня.
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
Цитата
Дмитрий Б. написал:
Цитата
nikolz написал:
для чистоты эксперимента надо удалить содержимое папки arxive и все файлы с расширением dat
Эксперимент завершил. Отсутствие файлов dat не повлияло на память.
Сегодня ВТБ обновил версию до 9.8.0.11. А память забирают все столько же - 2Гб.
попробуйте установить демо с сайта QUIK, чтобы сравнить как влияет OS.
У Вас Win7 у меня Win10.
Сравним память для demo версии
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
Цитата
Дмитрий Б. написал:
Цитата
У вас  почти тысяча инструментов.  Зачем?
--------------------------
Вы физически не сможете за ними следить.
---------------------
Рекомендую оставить лишь ликвидные
--------------------
Потом если будет мало и будете круто торговать добавите неликвид.
--------------------
Начните с  не более 100 инструментов.
Полагаю что  память уменьшится раз в 10.
Да, мне столько не нужно интрументов. Оказалось они тоже не влияют на память. Запустил пустой квик без вкладок и без любых котировок, всё отключил. Изменений нет.
и последнее,
для чистоты эксперимента надо удалить содержимое папки arxive и все файлы с расширением dat
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
Цитата
Дмитрий Б. написал:
" NoneB  возможная причина - вкладки и окна, созданные в ранних версиях Quik."

Юрий в первом сообщении проверял в пустом квике без вкладок. Я тоже проверил. Получается вкладки не влияют.

nikolz  инструменты оставил только российские акции МБ. Тоже не повлияло память.
У вас почти тысяча инструментов. Зачем?
--------------------------
Вы физически не сможете за ними следить.
---------------------
Рекомендую оставить лишь ликвидные
--------------------
Потом если будет мало и будете круто торговать добавите неликвид.
--------------------
Начните с не более 100 инструментов.
Полагаю что память уменьшится раз в 10.
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
Цитата
Дмитрий Б. написал:
Karina Dmitrieva  спасибо за помощь. Все заработало. Запустил пустой квик и уже в нем открыл сохранненые настройки.

nikolz  вам с памятью везет. Но я пока тоже не жалуюсь. Торговать оно не мешает, ничего не зависает.

Для интереса:

   

Роботов, скрипты и индикаторы не использую. Только чистый график и стакан.
возможно у Вас много инструментов подключено особо если опционы по умолчанию,
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
у меня кушает так:
 
Съедается оперативная память, Пустой запуск съедает 2ГБ памяти
 
Цитата
Karina Dmitrieva написал:
Дмитрий Б., добрый день.

Судя по скриншоту ресурсов на Вашем ПК достаточно.
В таком случае рекомендуем запустить Рабочее место QUIK без файла настроек (т.е. убрать использующийся *.wnd файл, по умолчанию это info.wnd), после чего откройте терминал QUIK и поработайте в нём.
Обращаем внимание, что после запуска терминала QUIK в рабочей области не будет вкладок и таблиц, их необходимо будет создать заново или же загрузить конфигурацию окон из ранее сохранённого файла настроек (файлы настроек сохраняются в каталоге WNDSAV, который находится в корневой директории с QUIK).
При этом в случае загрузки ранее сохранённого файла нужно выбрать гарантированно тот, на котором данной проблемы не было.
Чтобы диагностировать , желательно  посмотреть:
1) число инструментов и их параметров в заказе данных
2) объем занятой памяти каждым квиком
3) наличие запущенных скриптов и самопальных индикаторов
Глюк в программе Quik после обновления, Нужна помощь
 
Цитата
e2e4 написал:
Раньше не приходилось откатывать Quik.
Так понимаю, копирования с заменой всех файлов из папки SBERBANK\QUIK_x64\backup\20220927 в SBERBANK\QUIK_x64 достаточно будет?
да.
Вынесенные окна
 
Увлечение зверинцем давно прошел.  
Вынесенные окна
 
Цитата
Roman Koledin написал:
Цитата
nikolz написал:
 
Цитата
Roman Koledin  написал:
 
Цитата
Вы что никогда не торговали на Ninja,ATAS И ТД - и не понимаете что такое работа с несколькими мониторами - и для чего нужна линковка окон ВСЕХ окон - как внешних так и не открепленных - банальный обзор рынка с удобством - а так приходится растягивать терминал на 2 монитора - чтобы линковались нужные окна
 
 понял, что речь идет о якоре.
----------------------
Рассмешили Вопросом о зверинце торговых терминалов.
Вы что считаете это каким-то достижением?
Или просто собираете коллекцию?  
Скорее всего я не такой профи ка вы - имхо мне удобнее (как и многим другим) - два открытых окна старшего и младшего тф , залинкованых с воч листом - пробегая по старшему тф проводим анализ (что куда торговать) - а на младшем точки входа - и во многих случаях нужна мобильность и удобство - а не каждый раз вбивать тикер заново на младшем тф - PS я рад за вас что вы не не бегаете по активам - имхо я бегаю и хорошо 10-12 активов отслеживать - каждому свое - и чем вам этот зверинец не нравится - чем плохи эти терминалы которые по уму сделаны ?
У меня по активам бегает робот.
 
Глюк в программе Quik после обновления, Нужна помощь
 
после кувыркания с версией 9 от сбербанка
я вернул версию 8.7 и нет проблем.
-----------------------
Рекомендую вернуть из архива старую версию и отключить в квике сообщение о новой версии.
----------------------
В следующем году смените версию на очередную новую, если старая не будет устраивать.
-----------------
"Что важнее -"шашечки" на двери или ехать ?"
Вынесенные окна
 
У меня нет проблем так как уже давно не бегаю по всему списку  инструментов.
Вынесенные окна
 
Цитата
Roman Koledin написал:
Цитата
Вы что никогда не торговали на Ninja,ATAS И ТД - и не понимаете что такое работа с несколькими мониторами - и для чего нужна линковка окон ВСЕХ окон - как внешних так и не открепленных - банальный обзор рынка с удобством - а так приходится растягивать терминал на 2 монитора - чтобы линковались нужные окна
понял, что речь идет о якоре.
----------------------
Рассмешили Вопросом о зверинце торговых терминалов.
Вы что считаете это каким-то достижением?
Или просто собираете коллекцию?  
Вы уже работаете в системе, Достаёт при смене точки доступа этот глюк!
 
Цитата
green_X5 написал:
Предложение навскидку - сервер видит попытку подключения "со второго места", проверяет - откликается ли "первое", если нет - закрывает "старую сессию", открывает новую. А не тупо отказывает в соединении, как сейчас.
это предложение плохое.
Если сервер реализует такой алгоритм, то его легко положить  DDS атакой.  
Вынесенные окна
 
Цитата
Roman Koledin написал:
Сделайте ПОЖАЛУЙСТА связь терминала с вынесенными окнами, что бы была возможность линковать вынесенные (открепленные окна) с программмой - без этой функции нет возможности работать с несколькими мониторами  
не понял.
У меня два монитора.
проблем не возникает.
Пример в студию.
Страницы: Пред. 1 ... 44 45 46 47 48 49 50 51 52 53 54 ... 93 След.
Наверх