Форум Gelium.net

Публичный доступ => TradeStation => Тема начата: Gelium от 16 Января 2012, 09:13:12

Название: Библиотека Puls
Отправлено: Gelium от 16 Января 2012, 09:13:12
Описание библиотеки: https://gelium.net/ru/trading-tools/gelium-puls
Название: Puls
Отправлено: ihaar от 08 Апреля 2012, 18:30:19
качал не отсюда, а из ветки по GeliumExpert, поэтому не уверен такая же ли там версия, но в ней заметил два момента косметических при установке в англоязычную Win XP SP3

[attach=1]
[attach=2]
Название: Puls
Отправлено: Gelium от 09 Апреля 2012, 04:19:38
качал не отсюда, а из ветки по GeliumExpert, поэтому не уверен такая же ли там версия, но в ней заметил два момента косметических при установке в англоязычную Win XP SP3

Дорусифицируйте XP через реестр как это обычно делается.
Название: Puls
Отправлено: ihaar от 09 Апреля 2012, 07:50:51
помогло

ветка HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\

изменил ключи
1250 REG_SZ c_1250.nls
1252 REG_SZ c_1252.nls
1253 REG_SZ c_1253.nls

на
1250 REG_SZ c_1251.nls
1252 REG_SZ c_1251.nls
1253 REG_SZ c_1251.nls

спасибо
Название: Puls
Отправлено: Gelium от 14 Апреля 2012, 04:36:10
Если на графиках есть включенный индикатор gp_Days, то при закрытии TS 9.1 она нормально не закрывается, в трэе видна иконка Puls. Стоит отключить везде gp_Days, TS закрывается нормально. У кого-нибудь есть такой же эффект?
Название: Puls
Отправлено: Gelium от 15 Апреля 2012, 05:37:19
Версия без обрезания числа знаков до 4 при хранении серии в файле: https://download.gelium.net/Puls/Puls_272.zip
Название: Puls
Отправлено: ihaar от 18 Апреля 2012, 15:26:38
Если на графиках есть включенный индикатор gp_Days, то при закрытии TS 9.1 она нормально не закрывается, в трэе видна иконка Puls. Стоит отключить везде gp_Days, TS закрывается нормально. У кого-нибудь есть такой же эффект?
у меня.
удалил с чарта индикатор и стала нормально закрываться
Название: Puls
Отправлено: Gennadiy от 23 Мая 2012, 05:18:50
Да у меня точно так же , если gp_Days не удаляю а просто отключаю всё норм , закрывается и повторно окрывается без глюков.
Название: Puls
Отправлено: Станислав от 10 Сентября 2012, 11:13:58
подскажите, а как с этой проблемой справиться в windows 7? пробовал по аналогии - безрезультатно((


помогло

ветка HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\

изменил ключи
1250 REG_SZ c_1250.nls
1252 REG_SZ c_1252.nls
1253 REG_SZ c_1253.nls

на
1250 REG_SZ c_1251.nls
1252 REG_SZ c_1251.nls
1253 REG_SZ c_1251.nls

спасибо
Название: Puls
Отправлено: Gelium от 10 Сентября 2012, 12:46:38
подскажите, а как с этой проблемой справиться в windows 7? пробовал по аналогии - безрезультатно((
Название: Puls
Отправлено: Станислав от 11 Сентября 2012, 00:52:22
подскажите, а как с этой проблемой справиться в windows 7? пробовал по аналогии - безрезультатно((

Спасибо, но не помогло(( когда я копирую код из TS в текстовый файл с нормальными русскими комментариями, в текстовом файле комментарии преобразуются в îïòèìèçàöèÿ такие символы(( в ХР было 1 к 1!
Название: Puls
Отправлено: Gelium от 11 Сентября 2012, 03:15:15
Шрифт в редакторе поменяйте.
Название: Puls
Отправлено: Gelium от 23 Ноября 2012, 09:17:31
Версия 274:

1. В MultiCharts 8 при старте и работе главное окно Puls не подвисает. Все функции работают. Но при закрытии MultiCharts 8 у меня подвисает. Хотя в логе Puls никаких ошибок с билдом 274 не происходит. Может у кого-то такого подвисания не будет?
2. В DLL добавлена функция InputM, аналог  Input, для использования в MultiCharts.
Название: Puls
Отправлено: Gelium от 29 Ноября 2012, 08:02:46
Версия 279:

Название: Puls
Отправлено: Gelium от 29 Ноября 2012, 13:07:02
Нужно просто положить в папку Puls ?

Нет. В папку "C:\Program Files\TradeStation 9.1\Program\".
Название: Puls
Отправлено: Gelium от 01 Декабря 2012, 17:01:02
Инсталляция сборки 280 выложена на сайт. Эта версия нужна будет для работы следующих версий Gelium_Expert и Gelium_Trader.
Название: Puls
Отправлено: ihaar от 02 Декабря 2012, 06:18:32
решил всё-таки перебраться на win7
подскажите, какой пульс ставить?
Название: Puls
Отправлено: Gelium от 02 Декабря 2012, 09:50:29
решил всё-таки перебраться на win7
подскажите, какой пульс ставить?

Последний.
Название: Puls
Отправлено: Craft от 02 Декабря 2012, 10:14:28
Хочу записать данные из индюка в файл, при использовании кода в индюке:
if gp_FileOpen("c:\PulsDemo1.txt") then begin
  b = gp_FileWrite("c:\PulsDemo1.txt", NumToStr(Date, 0) + "," +
      NumToStr(Time, 0) + "," + NumToStr(c, 4));
  b = gp_FileClose("c:\PulsDemo1.txt");
end;
В мульте выдаётся ошибка, что не может найти библиотеку пулс.длл хотя она в корневой папке мульта, как быть?
И ещё:
- При импорте из "Импорт функций из Puls.els" в списке функций не оказалось функции gp_FileOpen, пришлось создавать самостоятельно по аналогии с gp_FileClose.
- Индюк gp_PulsDemo при компиляции ругается на функцию gp_Input. В функции gp_Input, я так понял, мульту не нравится использование Input.
Название: Puls
Отправлено: Gelium от 02 Декабря 2012, 13:55:12
В мульте выдаётся ошибка, что не может найти библиотеку пулс.длл хотя она в корневой папке мульта, как быть?

Либо нет в папке Мульта, либо попробуйте положить в Windows\system32.

- При импорте из "Импорт функций из Puls.els" в списке функций не оказалось функции gp_FileOpen, пришлось создавать самостоятельно по аналогии с gp_FileClose.

Используйте OpenForRead или OpenForWrite.

- Индюк gp_PulsDemo при компиляции ругается на функцию gp_Input. В функции gp_Input, я так понял, мульту не нравится использование Input.

Вместо Input используйте InputM.
Название: Puls
Отправлено: Craft от 02 Декабря 2012, 14:40:01
Либо нет в папке Мульта, либо попробуйте положить в Windows\system32.
Не помогло, лан буду ТS мучить, в TS таких проблем нет.
Название: Puls
Отправлено: Gelium от 02 Декабря 2012, 15:07:13
Либо нет в папке Мульта, либо попробуйте положить в Windows\system32.
Не помогло, лан буду ТS мучить, в TS таких проблем нет.

У меня в мульте функции Puls работают. Лучше использовать TS, так как Мульт с Puls не очень раньше дружил и у меня нет интереса и времени разбираться в особенностях их софта. А вот TS9.1 сделана заметно устойчивой в работе с DLL. Не наблюдаются никакие падения и проблемы с выгрузкой библиотек.
Название: Puls
Отправлено: Craft от 02 Декабря 2012, 15:22:04
Павел, ещё такой вопрос.
В gp_PulsDemo пример записи в файл цены закрытия бара с датой и временем:
b = gp_FileOpenForWrite("c:\PulsDemo1.txt");
b = gp_FileWrite("c:\PulsDemo1.txt", NumToStr(Date, 0) + "," + NumToStr(Time, 0) + "," + NumToStr(c, 4));
b = gp_FileClose("c:\PulsDemo1.txt");
И пример извлечения ТЕСТОВОЙ информации:
if gp_FileOpenForRead("c:\PulsDemo1.txt") then begin
txt = gp_FileRead("c:\PulsDemo1.txt");
While txt <> "#EOF#" begin
Print(Date, time, " FileRead: ", txt);
txt = gp_FileRead("c:\PulsDemo1.txt");
end;
b = gp_FileClose("c:\PulsDemo1.txt");
end;
Подскажите, как извлекать из файла не текст, а число - ту же цену закрытия бара (как в первом примере кода) для дальнейшей модификации в индикаторе?
Название: Puls
Отправлено: Gelium от 02 Декабря 2012, 15:45:08
Цитировать
Подскажите, как извлекать из файла не текст, а число

Смотрите функции работы со строками - MidStr, StrToNum.

А чем не устраивают для работы с числами серии?
Название: Puls
Отправлено: Craft от 02 Декабря 2012, 16:08:51
Спасибо.
А чем не устраивают для работы с числами серии?
Ещё не разобрался, начал с файлов - там попонятней, на данном этапе, где что.
Название: Puls
Отправлено: Станислав от 19 Февраля 2013, 05:07:33
Обнаружил непонятную для меня проблему с пульсом, суть такова...
Экспортирую в серию данные округлённые до 2 знаков после запятой, в пульсе они с непонятной точность до 5-7 знаков после запятой. Проверил через LogViewer, там округление проходит верно, а в серии пульса нет. В связи с чем такое может быть и как с этим бороться или это проблема в пульсе?
Название: Puls
Отправлено: Gelium от 19 Февраля 2013, 06:02:06
Из Puls назад вы ведь данные получаете тоже с правильными значениями?

Отображение в окне Puls связано с хранением значений типа single в текстовом виде. В серии могут храниться любые данные, поэтому и форматируются числа  с максимальным числом знаков после запятой.
Название: Puls
Отправлено: Станислав от 19 Февраля 2013, 06:59:42
Из Puls назад вы ведь данные получаете тоже с правильными значениями?

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

в этом и проблема, например, в пульс данные отправляются с округлением до 2 знаков, в пульсе они хранятся когда как, где-то до 2 знаков, а где-то более, потом когда получаю данные  - они в формате окна пульса, т.е. получаю без округления.
Название: Puls
Отправлено: Станислав от 19 Февраля 2013, 07:01:37
Из Puls назад вы ведь данные получаете тоже с правильными значениями?

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

например, если данные отправляются  в пульс с округлением до 2 знаков, то и получаться из пульса они должны с округлением до 2 знаков?
Название: Puls
Отправлено: Станислав от 19 Февраля 2013, 07:04:28
Из Puls назад вы ведь данные получаете тоже с правильными значениями?

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

эта проблема возникла, когда я из стратегии передавал данные в индикатор посредством пульса, из стратегии передаю в пульс значение стопа с округлением до 2 знаков, а в индикаторе получаю без округления.
Название: Puls
Отправлено: Gelium от 19 Февраля 2013, 07:44:09
Из Puls назад вы ведь данные получаете тоже с правильными значениями?

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

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

Округляйте в индикаторе до 2 знаков и будет тоже самое.
Название: Puls
Отправлено: Станислав от 19 Февраля 2013, 07:53:53
Из Puls назад вы ведь данные получаете тоже с правильными значениями?

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

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

Округляйте в индикаторе до 2 знаков и будет тоже самое.

Если так, то да, думал, что если из одного места экспорт, то в месте получения уже ничего не требуется)
Название: Puls
Отправлено: Gelium от 19 Февраля 2013, 08:07:31
Если так, то да, думал, что если из одного места экспорт, то в месте получения уже ничего не требуется)

Такая уж специфика хранения float (single) переменных в текстовом файле. Проблема не большая, что-то менять пока не вижу смысла. TS9 поддерживает числа double. Может со временем на них придется перейти.
Название: Puls
Отправлено: Станислав от 19 Февраля 2013, 09:22:16
Если так, то да, думал, что если из одного места экспорт, то в месте получения уже ничего не требуется)

Такая уж специфика хранения float (single) переменных в текстовом файле. Проблема не большая, что-то менять пока не вижу смысла. TS9 поддерживает числа double. Может со временем на них придется перейти.

в таком случае перешёл на передачу посредством SeriesSetStr, а потом конвертация числовых значений в текстовые, чтоб визуально не сбивало и было всё синхронно, как в окне пульса, так и в прочих приложениях! Спасибо!))
Название: Puls
Отправлено: Gelium от 29 Августа 2013, 06:00:31
В Win7 x64 у меня обычная версия Puls x32 не заработала. Видимо из-за попытки доступа к ветке реестра local_mashine. Если у кого-то будет такая же проблема, не мучайтесь. Сделаю отдельную версию Puls.
Название: Puls
Отправлено: Станислав от 29 Августа 2013, 12:16:46
возможно проблема не в Win7 х64!? у меня уже как год работает старый пульс, единственный нюанс - на TS8.7
Название: Puls
Отправлено: ihaar от 31 Августа 2013, 05:09:56
после установки МС инсталлятор пульса не видит путь. хотя MC установлена по дефолтному пути
проявляется на пульсе 280 и 281
XPsp3 32

UPD. похоже он вставляет лишний символ в пути "С:\Program Files\TS Support\MultiCharts
Название: Puls
Отправлено: Gelium от 01 Сентября 2013, 04:11:40
В MC реализована многопоточная оптимизация. Из-за этого функции Puls, при одновременном вызове одной и той же фукнции из нескольких потоков, в теории могут возвращать неправильные данные. Добавлю блокировку таких вызовов в следующей версии.
Название: Puls
Отправлено: Gelium от 10 Сентября 2013, 08:27:39
В Puls будет встроен мой генетический оптимизатор, чтобы можно было считать с целью поиска лучших параметров для худшего года.
Название: Puls
Отправлено: Gelium от 12 Сентября 2013, 06:21:09
Инсталляция с последней версией для тех, кому лень руками копировать: https://gelium.net/gelium-tools/gelium-puls
Название: Puls
Отправлено: ihaar от 17 Сентября 2013, 16:52:38
а что, в пульсе есть ограничение на количество символов для хранимого значения?
пытаюсь записать 11-разрядное число, а он пишет только первые 8 цифр

и ещё вопрос, есть ли какойто критический размер серии после которого начинаются тормоза?
как я понял вся серия грузится в оперативку и это значит что всё ограничивается её размером (+ файл подкачки)?
я немного далёк от компьютерных технологий, был бы признателен за краткий на пару фраз ликбез  ;)
неохота начинать реализацию каких-то задумок требующих больших серий сразу в неверном направлении 
Название: Puls
Отправлено: Gelium от 17 Сентября 2013, 18:11:48
а что, в пульсе есть ограничение на количество символов для хранимого значения?
пытаюсь записать 11-разрядное число, а он пишет только первые 8 цифр

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

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

Лимит памяти обусловлен 32 битами ОС. Время отнимает загрузка данных в память. После загрузки скорость выборки не зависит от объема. Только от близости запрашиваемых элементов относительно друг друга.
Название: Puls
Отправлено: ihaar от 17 Сентября 2013, 18:26:03
ок. спасибо.

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

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

сорри если очень путанно изложил )
Название: Puls
Отправлено: Gelium от 18 Сентября 2013, 03:28:05
Почитайте описание функций. Puls не делает вещи, которые в нем не запрограммированы и делает то, для чего он предназначен.
Название: Puls
Отправлено: ihaar от 18 Сентября 2013, 03:51:19
Мда, наверное плохо сформулировал )
попробую собраться ) :
сделал индикатор который пишет серию.
Загружаю в TS интервал котировок например за янв-дек 2012 и имею серию данных за этот год.
Затем гружу котировки в TS за янв-сен 2013 год, индикатор тот же, серия та же.
Данные в ней перезапишутся (2012 год исчезнет) или допишутся (буду иметь в серии данные за оба года) ?

спрашиваю потому что экпериментальным образом выяснить не смог, то дописывает то перезаписывает.. Может глюки
Но как должно быть?
Название: Puls
Отправлено: Gelium от 18 Сентября 2013, 08:11:13
Для постоянного хранения данных в файле надо включить флаг записи в файл. Либо руками в окне Puls, либо через функцию SeriesSave.
Название: Puls
Отправлено: Gelium от 20 Сентября 2013, 06:54:58
Обновление: https://gelium.net/gelium-tools/gelium-puls#d
Название: Puls
Отправлено: ihaar от 12 Октября 2013, 14:58:54
XP3, Puls_2013.322
MC8 открывает и работает нормально, но при выходе виснет наглухо.
есть ли способ победить?
Название: Puls
Отправлено: Gelium от 12 Октября 2013, 15:41:27
XP3, Puls_2013.322
MC8 открывает и работает нормально, но при выходе виснет наглухо.
есть ли способ победить?

На днях гляну.
Название: Puls
Отправлено: ihaar от 12 Октября 2013, 15:55:14
на всякий случай сообщу, что загрузку пульса в трей отключал - не помогло.

МС виснет:
- при попытке перекомпилировать индикатор использующий пульс и добавленный на график (виснет независимо от статуса индикатора на графике: вкл/выкл);
- при попытке удалить с графика индикатор использующий пульс (наважно, напрямую с графика или через окно управления индикаторами);
- при попытке закрыть окно графика с индикатором использующим пульс (так же независимо от статуса индикатора);
Название: Puls
Отправлено: Gelium от 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
Название: Puls
Отправлено: ihaar от 15 Октября 2013, 13:50:20
спасибо за наводку, пробую

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

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

Тоже самое. Виснет.
Название: Puls
Отправлено: ihaar от 06 Апреля 2014, 02:45:25
опять вылезла старая проблема с кодировками
винда 7 изначально русская. регулярно обновляется.
файлик рус.рег тоже применял - безрезультатно

[attach=1]

и вторая проблема
если использовать для автоматического задания имени серии в инпутах название инструмента
inputs: p_SeriesName ("TEST_" + SymbolName)
то серия не пишется, так как в новых именах символов FXX:EUR (например) присутствует двоеточие, которое недопустимо для задания имён файлов в винде
Название: Puls
Отправлено: Gelium от 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 (например) присутствует двоеточие, которое недопустимо для задания имён файлов в винде

Поправлю одну их своих функций, чтобы можно было ее использовать вместо стандартных. На днях гляну.
Название: Puls
Отправлено: ihaar от 06 Апреля 2014, 11:27:28
да, спасибо, замена файлов nls помогла.
в QR тоже теперь всё нормально везде.
Название: Puls
Отправлено: Gelium от 21 Августа 2014, 14:29:54
Хорошо бы серии Puls хранить еще и в облаке. Можно сохранять в Excel у Microsoft как вариант. Но это не будет очень быстро работать.
Может у кого-нибудь есть идеи по этому поводу?
Название: Puls
Отправлено: Gennadiy от 21 Августа 2014, 15:13:29
Пользуясь  One drive , тормозов не обнаружил. Можно попробовать. Добавить просто папку с файлом в список для синхронизации и делов то .В G drive также можно сделать.
Название: Puls
Отправлено: Gelium от 21 Августа 2014, 16:22:55
Тормоза возникают не при сохранении данных в хранилище, а при чтении их из Excel. Если хранить данные в серии, CSV или в базе, скорость считывания данных может быть больше. При небольших объемах, скорость считывания конечно не актуальна. Но уже при чтении данных G_COT заметно торможение. Если бы данные считывались из серии Puls, работало бы быстрее.