Автор Тема: Библиотека Puls  (Прочитано 13036 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ihaar

  • Давно не был на форуме
  • *
  • Сообщений: 1 067
    • Просмотр профиля
Puls
« Ответ #40 : 17 Сентября 2013, 16:52:38 »
а что, в пульсе есть ограничение на количество символов для хранимого значения?
пытаюсь записать 11-разрядное число, а он пишет только первые 8 цифр

и ещё вопрос, есть ли какойто критический размер серии после которого начинаются тормоза?
как я понял вся серия грузится в оперативку и это значит что всё ограничивается её размером (+ файл подкачки)?
я немного далёк от компьютерных технологий, был бы признателен за краткий на пару фраз ликбез  ;)
неохота начинать реализацию каких-то задумок требующих больших серий сразу в неверном направлении 

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 297
    • Просмотр профиля
    • Gelium.net
Puls
« Ответ #41 : 17 Сентября 2013, 18:11:48 »
а что, в пульсе есть ограничение на количество символов для хранимого значения?
пытаюсь записать 11-разрядное число, а он пишет только первые 8 цифр

Ограничение есть. Puls хранит float (single), а не double. Нужно больше цифр, храните как текст.

и ещё вопрос, есть ли какойто критический размер серии после которого начинаются тормоза?
как я понял вся серия грузится в оперативку и это значит что всё ограничивается её размером (+ файл подкачки)?
я немного далёк от компьютерных технологий, был бы признателен за краткий на пару фраз ликбез  ;)
неохота начинать реализацию каких-то задумок требующих больших серий сразу в неверном направлении

Лимит памяти обусловлен 32 битами ОС. Время отнимает загрузка данных в память. После загрузки скорость выборки не зависит от объема. Только от близости запрашиваемых элементов относительно друг друга.

Оффлайн ihaar

  • Давно не был на форуме
  • *
  • Сообщений: 1 067
    • Просмотр профиля
Puls
« Ответ #42 : 17 Сентября 2013, 18:26:03 »
ок. спасибо.

а вот ещё, если не использовать gp_SeriesClear и не чистить серии каким-либо другим способом, то например имея записанные данные за некий период времени, потом догружаем аналитику ещё дополнительно на некий период, до данные по второму периоду дополнят серию?

практически можно привести такой пример:
хочу собрать некую серию значений за 10 лет, которые считаются на малых таймфреймах.
алгоритм довольно громоздкий и обсчёт всей истории очень долог.
могу ли я разбить сбор серии на несколько этапов, подгружая только нужный период с которым комп может справиться за терпимое время и затем дописывая серию на последующих периодах, смогу ли получить в итоге одну серию за 10 лет?

сорри если очень путанно изложил )

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 297
    • Просмотр профиля
    • Gelium.net
Puls
« Ответ #43 : 18 Сентября 2013, 03:28:05 »
Почитайте описание функций. Puls не делает вещи, которые в нем не запрограммированы и делает то, для чего он предназначен.

Оффлайн ihaar

  • Давно не был на форуме
  • *
  • Сообщений: 1 067
    • Просмотр профиля
Puls
« Ответ #44 : 18 Сентября 2013, 03:51:19 »
Мда, наверное плохо сформулировал )
попробую собраться ) :
сделал индикатор который пишет серию.
Загружаю в TS интервал котировок например за янв-дек 2012 и имею серию данных за этот год.
Затем гружу котировки в TS за янв-сен 2013 год, индикатор тот же, серия та же.
Данные в ней перезапишутся (2012 год исчезнет) или допишутся (буду иметь в серии данные за оба года) ?

спрашиваю потому что экпериментальным образом выяснить не смог, то дописывает то перезаписывает.. Может глюки
Но как должно быть?

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 297
    • Просмотр профиля
    • Gelium.net
Puls
« Ответ #45 : 18 Сентября 2013, 08:11:13 »
Для постоянного хранения данных в файле надо включить флаг записи в файл. Либо руками в окне Puls, либо через функцию SeriesSave.

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 297
    • Просмотр профиля
    • Gelium.net
Puls
« Ответ #46 : 20 Сентября 2013, 06:54:58 »

Оффлайн ihaar

  • Давно не был на форуме
  • *
  • Сообщений: 1 067
    • Просмотр профиля
Puls
« Ответ #47 : 12 Октября 2013, 14:58:54 »
XP3, Puls_2013.322
MC8 открывает и работает нормально, но при выходе виснет наглухо.
есть ли способ победить?

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 297
    • Просмотр профиля
    • Gelium.net
Puls
« Ответ #48 : 12 Октября 2013, 15:41:27 »
XP3, Puls_2013.322
MC8 открывает и работает нормально, но при выходе виснет наглухо.
есть ли способ победить?

На днях гляну.

Оффлайн ihaar

  • Давно не был на форуме
  • *
  • Сообщений: 1 067
    • Просмотр профиля
Puls
« Ответ #49 : 12 Октября 2013, 15:55:14 »
на всякий случай сообщу, что загрузку пульса в трей отключал - не помогло.

МС виснет:
- при попытке перекомпилировать индикатор использующий пульс и добавленный на график (виснет независимо от статуса индикатора на графике: вкл/выкл);
- при попытке удалить с графика индикатор использующий пульс (наважно, напрямую с графика или через окно управления индикаторами);
- при попытке закрыть окно графика с индикатором использующим пульс (так же независимо от статуса индикатора);

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 297
    • Просмотр профиля
    • Gelium.net
Puls
« Ответ #50 : 14 Октября 2013, 07:13:02 »
Зависание MC8.0 происходит после выгрузки Puls.dll из памяти, если MC считает, что она больше не нужна. Виснет не только в XP, но и в Win7. Если в нескольких окнах открыто несколько индикаторов/систем, использующих Puls, выгрузка библиотеки не осуществляется и MC не виснет. При закрытии MC повиснет в любом случае. Судя по логу, MC виснет именно после выгрузки DLL. Не знаю в чем может быть причина и как это можно исправить.

Puls написан в Delphi. Возможно с dll на базе Си дела обстоят лучше. Можете попробовать библиотеки этого сайта: https://www.fx1.net/excellink.php#mnscreenshoots

Оффлайн ihaar

  • Давно не был на форуме
  • *
  • Сообщений: 1 067
    • Просмотр профиля
Puls
« Ответ #51 : 15 Октября 2013, 13:50:20 »
спасибо за наводку, пробую

насчёт пульса, как я понимаю вы пробовали делать это
Цитировать
Puls 2013.295 x64:
Beta-версия DLL для работы с MultiCharts x64. C Gelium_Expert, в режиме комментариев эксперта, работает не стабильно, но для расчетов использовать можно.
а там не было таких проблем с выгрузкой DLL из памяти?

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 297
    • Просмотр профиля
    • Gelium.net
Puls
« Ответ #52 : 15 Октября 2013, 14:16:10 »
спасибо за наводку, пробую

насчёт пульса, как я понимаю вы пробовали делать это
Цитировать
Puls 2013.295 x64:
Beta-версия DLL для работы с MultiCharts x64. C Gelium_Expert, в режиме комментариев эксперта, работает не стабильно, но для расчетов использовать можно.
а там не было таких проблем с выгрузкой DLL из памяти?

Тоже самое. Виснет.

Оффлайн ihaar

  • Давно не был на форуме
  • *
  • Сообщений: 1 067
    • Просмотр профиля
Puls
« Ответ #53 : 06 Апреля 2014, 02:45:25 »
опять вылезла старая проблема с кодировками
винда 7 изначально русская. регулярно обновляется.
файлик рус.рег тоже применял - безрезультатно

ila_rendered

и вторая проблема
если использовать для автоматического задания имени серии в инпутах название инструмента
inputs: p_SeriesName ("TEST_" + SymbolName)
то серия не пишется, так как в новых именах символов FXX:EUR (например) присутствует двоеточие, которое недопустимо для задания имён файлов в винде

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 297
    • Просмотр профиля
    • Gelium.net
Puls
« Ответ #54 : 06 Апреля 2014, 05:23:51 »
опять вылезла старая проблема с кодировками
винда 7 изначально русская. регулярно обновляется.
файлик рус.рег тоже применял - безрезультатно

Вот здесь написано как полностью русифицировать винду: https://gelium.net/tradestation/ts-setup/item/1312-tsx-rus-tradestation
Если будет время, гляну что можно сделать, чтобы и без этого был нормальный шрифт. В QR, в списке заданий ASCII Maker, у вас должна быть аналогичная проблема, которая связана с одним из старых компонент Delphi.

и вторая проблема
если использовать для автоматического задания имени серии в инпутах название инструмента
inputs: p_SeriesName ("TEST_" + SymbolName)
то серия не пишется, так как в новых именах символов FXX:EUR (например) присутствует двоеточие, которое недопустимо для задания имён файлов в винде

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

Оффлайн ihaar

  • Давно не был на форуме
  • *
  • Сообщений: 1 067
    • Просмотр профиля
Puls
« Ответ #55 : 06 Апреля 2014, 11:27:28 »
да, спасибо, замена файлов nls помогла.
в QR тоже теперь всё нормально везде.

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 297
    • Просмотр профиля
    • Gelium.net
Puls
« Ответ #56 : 21 Августа 2014, 14:29:54 »
Хорошо бы серии Puls хранить еще и в облаке. Можно сохранять в Excel у Microsoft как вариант. Но это не будет очень быстро работать.
Может у кого-нибудь есть идеи по этому поводу?

Gennadiy

  • Гость
Puls
« Ответ #57 : 21 Августа 2014, 15:13:29 »
Пользуясь  One drive , тормозов не обнаружил. Можно попробовать. Добавить просто папку с файлом в список для синхронизации и делов то .В G drive также можно сделать.

Оффлайн Gelium

  • Администратор
  • Сообщений: 9 297
    • Просмотр профиля
    • Gelium.net
Puls
« Ответ #58 : 21 Августа 2014, 16:22:55 »
Тормоза возникают не при сохранении данных в хранилище, а при чтении их из Excel. Если хранить данные в серии, CSV или в базе, скорость считывания данных может быть больше. При небольших объемах, скорость считывания конечно не актуальна. Но уже при чтении данных G_COT заметно торможение. Если бы данные считывались из серии Puls, работало бы быстрее.