Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
ИНДИКАТОР НЕ РАБОТАЕТ
Прошлая версия индикатора, благодаря разработчикам TSLab получила продолжение. Индикатор сделан для версии 1.2 в версии программы 1.1 он работать не будет! В новой версии индикатора есть сохранение истории стакана в файл. В сборке 6 блоков(обработчиков):
Работа с блоками сохранения: Скрипт не нужно ставить в реал на торговлю. Пишут индикаторы и просто установленные в обычный график. Главное, что бы график обновлялся. Блоков сохранения два. "BidHistory" и "AskHistory". Блоки цепляются к источнику. В блоках два параметра: Параметр "Folder" - создает в указанной директории папки либо Ask либо Bid (слеш вот такой / ) . Пример: если в параметре Folder блока "BidHistory" написать c:/Data/fRTS/H3 , то в указанной директории будет автоматически создана папка Bid, в которой и будут сохранятся файлы. Параметр "SaveInterval" - это не то, что Вы подумали сразу. )) Этот параметр задает - через какой интервал в секундах старый кеш сохранится в файл и блок начнет записывать новый файл. Например, если в блоке "AskHistory" указать 300, то каждые 5 минут будет образовываться новый файл в папке Ask. Сделано это для того, что бы можно было балансировать между скоростью работы и возможностями компьютера. Настраивать опытным путем. Работа с блоками чтения Блоки цепляются к источнику. Блоков четыре. "AskReader", "BidReader", "AskVolumeRead", "BidVolumeRead" Здесь Три параметра: "Folder" - нужно указать тот же путь, что указан в блоках History "Level" - номер строки стакана "DefaultVal" - параметр должен быть равен 0. В следующей сборке он пропадет.
Теперь о багах: Известные нерешенные баги индикатора: 1. Нельзя обращаться из других скриптов, вернее можно, но к добру не приводит. Т.е. в каком скрипте или графике блоки писатели(History) находятся, в этом же редакторе и должны находится блоки читатели(Reader) данного указанного пути директории. 2. Пока индюк не подключен к источнику и/или источник не подключен к серверу брокера индюк дает ошибку "null pointer эксепшн" И пропадет ошибка, как только программа подключается к серверу. (ИСПРАВЛЕНО) 3. Если параметр "SaveInterval" настроен не правильно, Вы увидите как с графика пропадают последние данные индикатора за несколько баров. Так же это произойдет, если в скрипт подгружено слишком много баров.
Про баги сообщайте плиз.
Как правильно подгружать индикаторы в программу версии 1.2 можно посмотреть на видео канале разработчиков TSLab:
Пробую писать/читать блоки, но выдает "Ошибка при вычислении блока 'AskVolumeRead1'. Индекс за пределам диапазона." Вроде все правильно делаю: -ДефалтВол 0 -путь как и в Хистори -Левел от 0 до 19
Если удалить блок чтения, то все нормально пишется, скрипт не ругается.
Может с таймфреймом и режимом пересчета какой секрет?Хотя и там все варианты перебрал - не могу заставить читаться.
Флаг стоял и блоки в одном скрипте. Единственное что изменил - увеличил кол-во баров до 3000 (тики) - заработало. Но все-таки косяк где-то - минут через 10 нормального воспроизведения опять стал возвращать "Индекс AskVolumeRead1 за пределами диапазона"
Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
Там на картинке я написал, а в тексте забыл. Можно только от 1 секунды и выше. Много баров то же нельзя, иначе пойдет запись через пень колоду. Короче пока сыро очень. (( Но начинать записывать стакан можно и нужно. )
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика» Дизраэли.
Кажется понял. Проблема в том что после истечения времени указанного в параметре SaveInterval новый файл не создается (запись не идет) и следовательно выдается "Индекс Ридера за пределами диапазона". Т.е если указать в SaveInterval 300, то только 5 минут скрипт будет нормально писать/читать. Завтра попробую поставить большой интервал.
Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
( Должен создаваться. Т.е. в самой папке даже намека нет на файл? Странно очень. ( У меня файлы создаются новые. Скажите, плиз, конфигурацию своего компа. Может падение интернета частые или сервер брокера не барахлил?
Отредактировано 777 (Thu Jan 10 201301:30 AM)
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика» Дизраэли.
Интернет и сервер брокера я бы исключил сразу же. Происходит следующее: Ставим интервал допустим 600, пошла запись, чтение, все нормально, по истечении 10 минут скрипт выдает "Индекс за пределами диапазона" и ТОЛЬКО ТОГДА в папке (будь то bid или ask) появляется первый bin файл. Т.е время прекращения нормальной работы скрипта совпадает со временем создания файла. На сколько я могу судить блоки History пишут, но не в файл, а в кэш программы, затем по истечении указанного интервала данные сбрасываются в файл. После этого скрипт каждый свой пересчет продолжает выдавать ошибку об индексе, но история пишется и новые файлы создаются каждые 10 минут. Как мне кажется Ридер хочет прочитать то, чего еще нету, отсюда и "Индекс за пределами диапазона"
Мой конфиг на всякий случай: Коре 2 Дуо Е6550 2,3Ггц ОЗУ 8 Гб NVIDIA 8800 GTS ASUS P5K Win home premium x64 TSlab 1.2.5.0 x64
Сегодня в течении нескольких часов записывал и читал данные, не сбрасывая в файл (установив большой интервал) но чем дальше в лес, тем корявее запись. Все же для нормальной работы с блоками нужно периодически скидывать кэш в файл...а у меня после этого перестает нормально читаться. Кому-нибудь (кроме автора :)) удалось нормально воспроизводить записанные данные?
Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
В первом сообщении добавлен StHist_фикс2.zip Для корректной работы необходимо загрузить последнюю сборку 1.2 Поправлены ошибки и решена проблема с работой в нескольких скриптах.
Отредактировано 777 (Thu Feb 07 201304:14 PM)
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика» Дизраэли.