Форум Gelium.net
Публичный доступ => TradeStation => Тема начата: Gelium от 16 Января 2012, 09:13:12
-
Описание библиотеки: https://gelium.net/ru/trading-tools/gelium-puls
-
качал не отсюда, а из ветки по GeliumExpert, поэтому не уверен такая же ли там версия, но в ней заметил два момента косметических при установке в англоязычную Win XP SP3
[attach=1]
[attach=2]
-
качал не отсюда, а из ветки по GeliumExpert, поэтому не уверен такая же ли там версия, но в ней заметил два момента косметических при установке в англоязычную Win XP SP3
Дорусифицируйте XP через реестр как это обычно делается.
-
помогло
ветка 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
спасибо
-
Если на графиках есть включенный индикатор gp_Days, то при закрытии TS 9.1 она нормально не закрывается, в трэе видна иконка Puls. Стоит отключить везде gp_Days, TS закрывается нормально. У кого-нибудь есть такой же эффект?
-
Версия без обрезания числа знаков до 4 при хранении серии в файле: https://download.gelium.net/Puls/Puls_272.zip
-
Если на графиках есть включенный индикатор gp_Days, то при закрытии TS 9.1 она нормально не закрывается, в трэе видна иконка Puls. Стоит отключить везде gp_Days, TS закрывается нормально. У кого-нибудь есть такой же эффект?
у меня.
удалил с чарта индикатор и стала нормально закрываться
-
Да у меня точно так же , если gp_Days не удаляю а просто отключаю всё норм , закрывается и повторно окрывается без глюков.
-
подскажите, а как с этой проблемой справиться в 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
спасибо
-
подскажите, а как с этой проблемой справиться в windows 7? пробовал по аналогии - безрезультатно((
-
подскажите, а как с этой проблемой справиться в windows 7? пробовал по аналогии - безрезультатно((
Спасибо, но не помогло(( когда я копирую код из TS в текстовый файл с нормальными русскими комментариями, в текстовом файле комментарии преобразуются в îïòèìèçàöèÿ такие символы(( в ХР было 1 к 1!
-
Шрифт в редакторе поменяйте.
-
Версия 274:
1. В MultiCharts 8 при старте и работе главное окно Puls не подвисает. Все функции работают. Но при закрытии MultiCharts 8 у меня подвисает. Хотя в логе Puls никаких ошибок с билдом 274 не происходит. Может у кого-то такого подвисания не будет?
2. В DLL добавлена функция InputM, аналог Input, для использования в MultiCharts.
-
Версия 279:
- Позиционирование окна с выбором команд Gelium_Expert привязано к позиции мышки.
- Добавлен функция и флажок для автоматического скрытия окна TS с комментариями эксперта.
- Добавлена функция для ускорения работы Gelium_Trader.
-
Нужно просто положить в папку Puls ?
Нет. В папку "C:\Program Files\TradeStation 9.1\Program\".
-
Инсталляция сборки 280 выложена на сайт. Эта версия нужна будет для работы следующих версий Gelium_Expert и Gelium_Trader.
-
решил всё-таки перебраться на win7
подскажите, какой пульс ставить?
-
решил всё-таки перебраться на win7
подскажите, какой пульс ставить?
Последний.
-
Хочу записать данные из индюка в файл, при использовании кода в индюке:
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.
-
В мульте выдаётся ошибка, что не может найти библиотеку пулс.длл хотя она в корневой папке мульта, как быть?
Либо нет в папке Мульта, либо попробуйте положить в Windows\system32.
- При импорте из "Импорт функций из Puls.els" в списке функций не оказалось функции gp_FileOpen, пришлось создавать самостоятельно по аналогии с gp_FileClose.
Используйте OpenForRead или OpenForWrite.
- Индюк gp_PulsDemo при компиляции ругается на функцию gp_Input. В функции gp_Input, я так понял, мульту не нравится использование Input.
Вместо Input используйте InputM.
-
Либо нет в папке Мульта, либо попробуйте положить в Windows\system32.
Не помогло, лан буду ТS мучить, в TS таких проблем нет.
-
Либо нет в папке Мульта, либо попробуйте положить в Windows\system32.
Не помогло, лан буду ТS мучить, в TS таких проблем нет.
У меня в мульте функции Puls работают. Лучше использовать TS, так как Мульт с Puls не очень раньше дружил и у меня нет интереса и времени разбираться в особенностях их софта. А вот TS9.1 сделана заметно устойчивой в работе с DLL. Не наблюдаются никакие падения и проблемы с выгрузкой библиотек.
-
Павел, ещё такой вопрос.
В 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;
Подскажите, как извлекать из файла не текст, а число - ту же цену закрытия бара (как в первом примере кода) для дальнейшей модификации в индикаторе?
-
Подскажите, как извлекать из файла не текст, а число
Смотрите функции работы со строками - MidStr, StrToNum.
А чем не устраивают для работы с числами серии?
-
Спасибо.
А чем не устраивают для работы с числами серии?
Ещё не разобрался, начал с файлов - там попонятней, на данном этапе, где что.
-
Обнаружил непонятную для меня проблему с пульсом, суть такова...
Экспортирую в серию данные округлённые до 2 знаков после запятой, в пульсе они с непонятной точность до 5-7 знаков после запятой. Проверил через LogViewer, там округление проходит верно, а в серии пульса нет. В связи с чем такое может быть и как с этим бороться или это проблема в пульсе?
-
Из Puls назад вы ведь данные получаете тоже с правильными значениями?
Отображение в окне Puls связано с хранением значений типа single в текстовом виде. В серии могут храниться любые данные, поэтому и форматируются числа с максимальным числом знаков после запятой.
-
Из Puls назад вы ведь данные получаете тоже с правильными значениями?
Отображение в окне Puls связано с хранением значений типа single в текстовом виде. В серии могут храниться любые данные, поэтому и форматируются числа с максимальным числом знаков после запятой.
в этом и проблема, например, в пульс данные отправляются с округлением до 2 знаков, в пульсе они хранятся когда как, где-то до 2 знаков, а где-то более, потом когда получаю данные - они в формате окна пульса, т.е. получаю без округления.
-
Из Puls назад вы ведь данные получаете тоже с правильными значениями?
Отображение в окне Puls связано с хранением значений типа single в текстовом виде. В серии могут храниться любые данные, поэтому и форматируются числа с максимальным числом знаков после запятой.
например, если данные отправляются в пульс с округлением до 2 знаков, то и получаться из пульса они должны с округлением до 2 знаков?
-
Из Puls назад вы ведь данные получаете тоже с правильными значениями?
Отображение в окне Puls связано с хранением значений типа single в текстовом виде. В серии могут храниться любые данные, поэтому и форматируются числа с максимальным числом знаков после запятой.
эта проблема возникла, когда я из стратегии передавал данные в индикатор посредством пульса, из стратегии передаю в пульс значение стопа с округлением до 2 знаков, а в индикаторе получаю без округления.
-
Из Puls назад вы ведь данные получаете тоже с правильными значениями?
Отображение в окне Puls связано с хранением значений типа single в текстовом виде. В серии могут храниться любые данные, поэтому и форматируются числа с максимальным числом знаков после запятой.
эта проблема возникла, когда я из стратегии передавал данные в индикатор посредством пульса, из стратегии передаю в пульс значение стопа с округлением до 2 знаков, а в индикаторе получаю без округления.
Округляйте в индикаторе до 2 знаков и будет тоже самое.
-
Из Puls назад вы ведь данные получаете тоже с правильными значениями?
Отображение в окне Puls связано с хранением значений типа single в текстовом виде. В серии могут храниться любые данные, поэтому и форматируются числа с максимальным числом знаков после запятой.
эта проблема возникла, когда я из стратегии передавал данные в индикатор посредством пульса, из стратегии передаю в пульс значение стопа с округлением до 2 знаков, а в индикаторе получаю без округления.
Округляйте в индикаторе до 2 знаков и будет тоже самое.
Если так, то да, думал, что если из одного места экспорт, то в месте получения уже ничего не требуется)
-
Если так, то да, думал, что если из одного места экспорт, то в месте получения уже ничего не требуется)
Такая уж специфика хранения float (single) переменных в текстовом файле. Проблема не большая, что-то менять пока не вижу смысла. TS9 поддерживает числа double. Может со временем на них придется перейти.
-
Если так, то да, думал, что если из одного места экспорт, то в месте получения уже ничего не требуется)
Такая уж специфика хранения float (single) переменных в текстовом файле. Проблема не большая, что-то менять пока не вижу смысла. TS9 поддерживает числа double. Может со временем на них придется перейти.
в таком случае перешёл на передачу посредством SeriesSetStr, а потом конвертация числовых значений в текстовые, чтоб визуально не сбивало и было всё синхронно, как в окне пульса, так и в прочих приложениях! Спасибо!))
-
В Win7 x64 у меня обычная версия Puls x32 не заработала. Видимо из-за попытки доступа к ветке реестра local_mashine. Если у кого-то будет такая же проблема, не мучайтесь. Сделаю отдельную версию Puls.
-
возможно проблема не в Win7 х64!? у меня уже как год работает старый пульс, единственный нюанс - на TS8.7
-
после установки МС инсталлятор пульса не видит путь. хотя MC установлена по дефолтному пути
проявляется на пульсе 280 и 281
XPsp3 32
UPD. похоже он вставляет лишний символ в пути "С:\Program Files\TS Support\MultiCharts
-
В MC реализована многопоточная оптимизация. Из-за этого функции Puls, при одновременном вызове одной и той же фукнции из нескольких потоков, в теории могут возвращать неправильные данные. Добавлю блокировку таких вызовов в следующей версии.
-
В Puls будет встроен мой генетический оптимизатор, чтобы можно было считать с целью поиска лучших параметров для худшего года.
-
Инсталляция с последней версией для тех, кому лень руками копировать: https://gelium.net/gelium-tools/gelium-puls
-
а что, в пульсе есть ограничение на количество символов для хранимого значения?
пытаюсь записать 11-разрядное число, а он пишет только первые 8 цифр
и ещё вопрос, есть ли какойто критический размер серии после которого начинаются тормоза?
как я понял вся серия грузится в оперативку и это значит что всё ограничивается её размером (+ файл подкачки)?
я немного далёк от компьютерных технологий, был бы признателен за краткий на пару фраз ликбез ;)
неохота начинать реализацию каких-то задумок требующих больших серий сразу в неверном направлении
-
а что, в пульсе есть ограничение на количество символов для хранимого значения?
пытаюсь записать 11-разрядное число, а он пишет только первые 8 цифр
Ограничение есть. Puls хранит float (single), а не double. Нужно больше цифр, храните как текст.
и ещё вопрос, есть ли какойто критический размер серии после которого начинаются тормоза?
как я понял вся серия грузится в оперативку и это значит что всё ограничивается её размером (+ файл подкачки)?
я немного далёк от компьютерных технологий, был бы признателен за краткий на пару фраз ликбез ;)
неохота начинать реализацию каких-то задумок требующих больших серий сразу в неверном направлении
Лимит памяти обусловлен 32 битами ОС. Время отнимает загрузка данных в память. После загрузки скорость выборки не зависит от объема. Только от близости запрашиваемых элементов относительно друг друга.
-
ок. спасибо.
а вот ещё, если не использовать gp_SeriesClear и не чистить серии каким-либо другим способом, то например имея записанные данные за некий период времени, потом догружаем аналитику ещё дополнительно на некий период, до данные по второму периоду дополнят серию?
практически можно привести такой пример:
хочу собрать некую серию значений за 10 лет, которые считаются на малых таймфреймах.
алгоритм довольно громоздкий и обсчёт всей истории очень долог.
могу ли я разбить сбор серии на несколько этапов, подгружая только нужный период с которым комп может справиться за терпимое время и затем дописывая серию на последующих периодах, смогу ли получить в итоге одну серию за 10 лет?
сорри если очень путанно изложил )
-
Почитайте описание функций. Puls не делает вещи, которые в нем не запрограммированы и делает то, для чего он предназначен.
-
Мда, наверное плохо сформулировал )
попробую собраться ) :
сделал индикатор который пишет серию.
Загружаю в TS интервал котировок например за янв-дек 2012 и имею серию данных за этот год.
Затем гружу котировки в TS за янв-сен 2013 год, индикатор тот же, серия та же.
Данные в ней перезапишутся (2012 год исчезнет) или допишутся (буду иметь в серии данные за оба года) ?
спрашиваю потому что экпериментальным образом выяснить не смог, то дописывает то перезаписывает.. Может глюки
Но как должно быть?
-
Для постоянного хранения данных в файле надо включить флаг записи в файл. Либо руками в окне Puls, либо через функцию SeriesSave.
-
Обновление: https://gelium.net/gelium-tools/gelium-puls#d
-
XP3, Puls_2013.322
MC8 открывает и работает нормально, но при выходе виснет наглухо.
есть ли способ победить?
-
XP3, Puls_2013.322
MC8 открывает и работает нормально, но при выходе виснет наглухо.
есть ли способ победить?
На днях гляну.
-
на всякий случай сообщу, что загрузку пульса в трей отключал - не помогло.
МС виснет:
- при попытке перекомпилировать индикатор использующий пульс и добавленный на график (виснет независимо от статуса индикатора на графике: вкл/выкл);
- при попытке удалить с графика индикатор использующий пульс (наважно, напрямую с графика или через окно управления индикаторами);
- при попытке закрыть окно графика с индикатором использующим пульс (так же независимо от статуса индикатора);
-
Зависание MC8.0 происходит после выгрузки Puls.dll из памяти, если MC считает, что она больше не нужна. Виснет не только в XP, но и в Win7. Если в нескольких окнах открыто несколько индикаторов/систем, использующих Puls, выгрузка библиотеки не осуществляется и MC не виснет. При закрытии MC повиснет в любом случае. Судя по логу, MC виснет именно после выгрузки DLL. Не знаю в чем может быть причина и как это можно исправить.
Puls написан в Delphi. Возможно с dll на базе Си дела обстоят лучше. Можете попробовать библиотеки этого сайта: https://www.fx1.net/excellink.php#mnscreenshoots
-
спасибо за наводку, пробую
насчёт пульса, как я понимаю вы пробовали делать это
Puls 2013.295 x64:
Beta-версия DLL для работы с MultiCharts x64. C Gelium_Expert, в режиме комментариев эксперта, работает не стабильно, но для расчетов использовать можно.
а там не было таких проблем с выгрузкой DLL из памяти?
-
спасибо за наводку, пробую
насчёт пульса, как я понимаю вы пробовали делать это
Puls 2013.295 x64:
Beta-версия DLL для работы с MultiCharts x64. C Gelium_Expert, в режиме комментариев эксперта, работает не стабильно, но для расчетов использовать можно.
а там не было таких проблем с выгрузкой DLL из памяти?
Тоже самое. Виснет.
-
опять вылезла старая проблема с кодировками
винда 7 изначально русская. регулярно обновляется.
файлик рус.рег тоже применял - безрезультатно
[attach=1]
и вторая проблема
если использовать для автоматического задания имени серии в инпутах название инструмента
inputs: p_SeriesName ("TEST_" + SymbolName)
то серия не пишется, так как в новых именах символов FXX:EUR (например) присутствует двоеточие, которое недопустимо для задания имён файлов в винде
-
опять вылезла старая проблема с кодировками
винда 7 изначально русская. регулярно обновляется.
файлик рус.рег тоже применял - безрезультатно
Вот здесь написано как полностью русифицировать винду: https://gelium.net/tradestation/ts-setup/item/1312-tsx-rus-tradestation
Если будет время, гляну что можно сделать, чтобы и без этого был нормальный шрифт. В QR, в списке заданий ASCII Maker, у вас должна быть аналогичная проблема, которая связана с одним из старых компонент Delphi.
и вторая проблема
если использовать для автоматического задания имени серии в инпутах название инструмента
inputs: p_SeriesName ("TEST_" + SymbolName)
то серия не пишется, так как в новых именах символов FXX:EUR (например) присутствует двоеточие, которое недопустимо для задания имён файлов в винде
Поправлю одну их своих функций, чтобы можно было ее использовать вместо стандартных. На днях гляну.
-
да, спасибо, замена файлов nls помогла.
в QR тоже теперь всё нормально везде.
-
Хорошо бы серии Puls хранить еще и в облаке. Можно сохранять в Excel у Microsoft как вариант. Но это не будет очень быстро работать.
Может у кого-нибудь есть идеи по этому поводу?
-
Пользуясь One drive , тормозов не обнаружил. Можно попробовать. Добавить просто папку с файлом в список для синхронизации и делов то .В G drive также можно сделать.
-
Тормоза возникают не при сохранении данных в хранилище, а при чтении их из Excel. Если хранить данные в серии, CSV или в базе, скорость считывания данных может быть больше. При небольших объемах, скорость считывания конечно не актуальна. Но уже при чтении данных G_COT заметно торможение. Если бы данные считывались из серии Puls, работало бы быстрее.