У вас не стоит Flash Player
Page 7 of 13 < 1 2 ... 5 6 7 8 9 ... 12 13 >
Настройки
#59707 - Thu Dec 12 2013 09:23 AM Re: Блоки сохранения / чтения данных FinInfo [Re: ra81]
ZooR Offline
veteran

Registered: Wed Jan 19 2011
Записи: 1327
весь стакан наверное не то что не устраивает...
просто я даже не знаю как данные можно будет мне применить без знаний программирования, если получиться сделать версию для 32 бит выложите по-тестить, попробовать. я не разбираюсь и пока не представляю как может помочь эта информация
во вторых данные - 50м с одного фьюча в день для меня многовато в плане выгрузки. ну, не важно в общем

в идеале хотелось бы иметь лёгкий писатель и читатель . какой он и есть на данный момент из имеющихся данных в индикаторе

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

Наверх
#59710 - Thu Dec 12 2013 10:31 AM Re: Блоки сохранения / чтения данных FinInfo [Re: ZooR]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
какой он сейчас есть - набор кривизны и костылей. Я уже писал что раньше было невозможно адекватно записывать маркет дату так как не было серверного времени. Писали по локальному. В итоге 100% данные не стыкуются со свечками есть заглядывание в будущее. В общем нефункционально меньше чем на минутках. Хранилище неудобно в виде бинарников. Ни посмотреть ни подправить без конвертации. База данных куда как веселее.

В общем скажите что вам нужно с этого фин инфо я скажу где взять без него.
_________________________
__


Наверх
#59712 - Thu Dec 12 2013 10:54 AM Re: Блоки сохранения / чтения данных FinInfo [Re: ra81]
ZooR Offline
veteran

Registered: Wed Jan 19 2011
Записи: 1327
нужен askvolyme и bidvolyme
_________________________
солью любой депозит, скорость слива оговаривается индивидуально smile

Наверх
#59715 - Thu Dec 12 2013 11:46 AM Re: Блоки сохранения / чтения данных FinInfo [Re: ra81]
jhgjrht Offline
writer

Registered: Sun Nov 21 2010
Записи: 428
Originally Posted By: ra81
какой он сейчас есть - набор кривизны и костылей. Я уже писал что раньше было невозможно адекватно записывать маркет дату так как не было серверного времени. Писали по локальному. В итоге 100% данные не стыкуются со свечками есть заглядывание в будущее. В общем нефункционально меньше чем на минутках. Хранилище неудобно в виде бинарников. Ни посмотреть ни подправить без конвертации. База данных куда как веселее.

В общем скажите что вам нужно с этого фин инфо я скажу где взять без него.

Опа, табуретка прилетела. :-) У Вас там убытки что ли с утра? Бывает, спокойнее надо.

Никаких костылей и кривизны в моих блоках нет, а бинарный формат хранения предельно быстр, эффективен и надежен.
Если уж очень хочется работать с бинарным файлом как с БД, то написать DbDataReader - это дело получаса, но Вы видимо об этом и не догадываетесь.
С LastUpdate - да это проблема, я в свое время, поизучал ситуацию и посчитал, что надежнее использовать именно локальное время, его по крайней мере можно контроллировать, а что сервера брокеров в этом поле отдают - вообще, не непредсказуемо, бывало на несколько дней дата отставала.
База - да веселее, особенно если знать, что любая БД время от времени требует обслуживания.
_________________________
Не пишите мне! Никому ничего делать не буду.

Наверх
#59717 - Thu Dec 12 2013 12:00 PM Re: Блоки сохранения / чтения данных FinInfo [Re: jhgjrht]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Quote:

нужен askvolyme и bidvolyme

Это есть в тиковом кэшэ. не надо мучать для этого никаких других индикаторов.

Originally Posted By: jhgjrht

Опа, табуретка прилетела. :-) У Вас там убытки что ли с утра? Бывает, спокойнее надо.

Никаких костылей и кривизны в моих блоках нет, а бинарный формат хранения предельно быстр, эффективен и надежен.
Если уж очень хочется работать с бинарным файлом как с БД, то написать DbDataReader - это дело получаса, но Вы видимо об этом и не догадываетесь.
С LastUpdate - да это проблема, я в свое время, поизучал ситуацию и посчитал, что надежнее использовать именно локальное время, его по крайней мере можно контроллировать, а что сервера брокеров в этом поле отдают - вообще, не непредсказуемо, бывало на несколько дней дата отставала.
База - да веселее, особенно если знать, что любая БД время от времени требует обслуживания.

да табуретка не в сторону кода. А сторону того что нельзя было сделать как следует в принципе из за недостатков самого тслаба. Тем более что последний релиз был выпущен мной самим с учетом больших переработок кода вообще, особенно в планей сейва и лоада данных. Так что мне тоже надо обижаться на самого себя smile. В то время когда был сделан сей кубик не то что БД нельзя было заюзать, вообще сами скрипты через АПИ еще глюкали постоянно. Так что в то время все было круто. сейчас уже нет.

К тому же если взять пересчет по интервалу при котором пишутся данные то легко заметить что ФинИнфо приходит уже из будущегоа не на момент закрытия свечки, а на момент когда было запрошено. Отсюда вы оперируете будущим smile. Это до пол секунды может быть. Не очень верно это. В общем недостатки есть. И имхо - проще разработать заново на тех закладках что сделаны в плане сейвинга стакана, чем домучивать текущую реализацию. Как я и собственно сделал с сейвингом стакана. Предыдущая инкарнация была просто нежизнеспособна в любом плане.


Отредактировано ra81 (Thu Dec 12 2013 12:19 PM)
_________________________
__


Наверх
#59734 - Fri Dec 13 2013 12:31 AM Re: Блоки сохранения / чтения данных FinInfo [Re: ra81]
jhgjrht Offline
writer

Registered: Sun Nov 21 2010
Записи: 428
Originally Posted By: ra81
нельзя было сделать как следует в принципе из за недостатков самого тслаба.
Думаю проблема не с ТСЛабом, он, что ему прислали, то скриптам и отдает.
Quote:
В то время когда был сделан сей кубик не то что БД нельзя было заюзать, вообще сами скрипты через АПИ еще глюкали постоянно. Так что в то время все было круто. сейчас уже нет.
С этом я не могу согласиться.
Quote:
К тому же если взять пересчет по интервалу при котором пишутся данные то легко заметить что ФинИнфо приходит уже из будущегоа не на момент закрытия свечки, а на момент когда было запрошено. Отсюда вы оперируете будущим smile. Это до пол секунды может быть. Не очень верно это.
Это и так и не так, подробности ниже.

Написал небольшой тестовый скрипт, логирующий время пересчета скрипта и время из FinInfo.LastUpdate. Запустил его на 1 секундном интревале для RIZ3 и вот что он выдал:
Code:
N   Локальное время          FinInfo.LastUpdate       Разница           Время начала посл. бара  Время окончания (расчетное)
1   2013-12-12_22:39:22.542; 2013-12-11_22:39:21.000; 00:00:01.5429670; 2013-12-12_22:39:21.000; 2013-12-12_22:39:22.000
2   2013-12-12_22:39:22.544; 2013-12-11_22:39:21.000; 00:00:01.5449672; 2013-12-12_22:39:21.000; 2013-12-12_22:39:22.000
3   2013-12-12_22:39:22.764; 2013-12-11_22:39:22.000; 00:00:00.7649892; 2013-12-12_22:39:21.000; 2013-12-12_22:39:22.000
4   2013-12-12_22:39:22.768; 2013-12-11_22:39:22.000; 00:00:00.7689896; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
5   2013-12-12_22:39:22.957; 2013-12-11_22:39:22.000; 00:00:00.9570084; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
6   2013-12-12_22:39:23.345; 2013-12-11_22:39:22.000; 00:00:01.3450472; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
7   2013-12-12_22:39:23.347; 2013-12-11_22:39:22.000; 00:00:01.3470474; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
8   2013-12-12_22:39:23.562; 2013-12-11_22:39:22.000; 00:00:01.5620689; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
9   2013-12-12_22:39:23.755; 2013-12-11_22:39:22.000; 00:00:01.7550882; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
10  2013-12-12_22:39:23.945; 2013-12-11_22:39:22.000; 00:00:01.9451072; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
11  2013-12-12_22:39:24.153; 2013-12-11_22:39:23.000; 00:00:01.1531280; 2013-12-12_22:39:22.000; 2013-12-12_22:39:23.000
12  2013-12-12_22:39:24.154; 2013-12-11_22:39:23.000; 00:00:01.1541281; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
13  2013-12-12_22:39:24.551; 2013-12-11_22:39:23.000; 00:00:01.5511678; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
14  2013-12-12_22:39:24.742; 2013-12-11_22:39:23.000; 00:00:01.7421869; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
15  2013-12-12_22:39:25.171; 2013-12-11_22:39:23.000; 00:00:02.1712298; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
16  2013-12-12_22:39:25.361; 2013-12-11_22:39:23.000; 00:00:02.3612488; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
17  2013-12-12_22:39:25.552; 2013-12-11_22:39:23.000; 00:00:02.5522679; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
18  2013-12-12_22:39:25.968; 2013-12-11_22:39:23.000; 00:00:02.9683095; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
19  2013-12-12_22:39:26.159; 2013-12-11_22:39:23.000; 00:00:03.1593286; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
20  2013-12-12_22:39:26.460; 2013-12-11_22:39:25.000; 00:00:01.4603587; 2013-12-12_22:39:23.000; 2013-12-12_22:39:24.000
21  2013-12-12_22:39:26.462; 2013-12-11_22:39:25.000; 00:00:01.4623589; 2013-12-12_22:39:25.000; 2013-12-12_22:39:26.000
22  2013-12-12_22:39:26.571; 2013-12-11_22:39:25.000; 00:00:01.5713698; 2013-12-12_22:39:25.000; 2013-12-12_22:39:26.000
23  2013-12-12_22:39:27.049; 2013-12-11_22:39:25.000; 00:00:02.0494176; 2013-12-12_22:39:25.000; 2013-12-12_22:39:26.000
это при подключении к обычному финамовскому серверу, правда на вечерке.

На текущий момент на моем компе следующая разница по времени с сервером точного времени:
Code:
>w32tm /monitor /computers:ntp.psn.ru
ntp.psn.ru[194.149.67.129:123]:
    ICMP: 7ms задержка
    NTP: -0.3411538s смещение относительно локального времени
        RefID: gps-time.prao.psn.ru [194.149.67.32]
        Страта: 2

Т.е. токальное время ушло вперед на 341 миллисекунду.

Пойдем с конца, почти.
В строке 21 пришлел бар со временем начала и окончания 22:39:25-22:39:26.
При этом LastUpdate все еще 22:39:25, т.е. по факту отстает на секунду от времени окончания бара, хотя точно неизвестно насколько, поскольку LastUpdate округлено до секунд.

С 12 по 20 строки (т.е. скрипт пересчитывался 9 раз в течении почти 2 с половиной секунд), идут значения, появившиеся непосредственно перед тем как появился этот бар (сделки соответствующие прошли, бар появился). Каждая строка - это пересчет скрипта и свое, возможно уникальное, состояние данных FinInfo. Какое из этих значений 9 значений FinInfo сопоставить этому бару, оканчивающемуся в 22:39:26? Последнее? Т.е. то, которое в строке 20 и со временем LastUpdate 22:39:25?
Хорошо, берем из строки 20, но далее с таким же временем есть еще 3 строки. Блок (мой и Ваш тоже) их сохранит, а при следующем чтении сопоставит с нашим баром уже не значения из строки 20, а значение из строки 23, потому что именно оно будет последним со временеим меньшим 22:39:26.
Это означает, что в первый раз к бару в 22:39:26 будут сопоставлены одни значения FinInfo, а в последующие разы уже другие. Т.е. данные будут перерисовываться. А при этом все ведь, вроде, правильно! Где "обман"?
Кстати если Вы не позаботитесь о записи и чтении данных из БД в порядке их поступления, то результат, вообще, может быть каждый раз разный.

Теперь если использовать не LastUpdate, а локальное время. Последним со временеим меньшим 22:39:26 будет строка 18 (если сделать поправку на сдвиг локального времени, то 19). Будет небольшое отставание данных, но этот вариант будет стабильно повторяться.

Кстати в строке 20 последний бар оканчивается еще в 22:39:24, но LastUpdate уже 22:39:25. Т.е. типа из будущего. На самом деле, видимо, сделок со временем 22:39:25 еще не было, но вот так вот. И это штатная ситуация. Особенно сильно это будет заметно на малоликвидных инструментах.
Данные по FinInfo и по сделкам приходят в разных "потоках", и любой из них по пути может "задержаться" чуть ли не как угодно. Никто ничего не гарантирует.

К чему я это все привел: что локальное время использовать, что LastUpdate, все равно будут неточности в сопоставлении FinInfo и баров. Надеюсь, мой пост окажется Вам полезным. При записи, точнее при чтении, Вам точно так же придется расставлять стаканы по барам smile


Attachments
LogFinInfoLastUpdate.cs (159 downloads)
LogFinInfoLastUpdate_RIZ3.txt (173 downloads)

_________________________
Не пишите мне! Никому ничего делать не буду.

Наверх
#60451 - Mon Jan 27 2014 07:53 PM Re: Блоки сохранения / чтения данных FinInfo [Re: ra81]
captian Offline
Carpal Tunnel

Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
Originally Posted By: ra81
Перебрал код. Должно работать на последнем релизе.
Добавлены AskVolume и BidVolume

Вопрос: блок накопитель и считывающие блоки могут быть в одном скрипте? и могут ли они быть в теле основного скрипта?
_________________________
трансляция работы скриптов http://tslab.comon.ru/51FC0A21B9A4E85974B2CAD6450623E6
почта captian@mail.ru скайп captian1963

Наверх
#60455 - Tue Jan 28 2014 11:19 AM Re: Блоки сохранения / чтения данных FinInfo [Re: captian]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Quote:
К чему я это все привел: что локальное время использовать, что LastUpdate, все равно будут неточности в сопоставлении FinInfo и баров. Надеюсь, мой пост окажется Вам полезным. При записи, точнее при чтении, Вам точно так же придется расставлять стаканы по барам smile

В том все и дело что не все так просто как у вас описано. LastUpdate для правильных брокеров дает миллисекунды. Теперь дает. И никак теперь не связан со сделками. Поэтому на нормальном брокре у меня нет дублей по времени в общем и целом. За секунду может записаться до 9 срезов стакана и все разные. Есть детали синхронизации свечек и стакана, но это решается вводом задержки если так сильно надо. Один новый параметр и все. В этом блоке итак непонятно насколько смещение времени имеет место быть, а задержка еще больше все запутает.

Quote:
Вопрос: блок накопитель и считывающие блоки могут быть в одном скрипте? и могут ли они быть в теле основного скрипта?

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


Наверх
#60456 - Tue Jan 28 2014 02:11 PM Re: Блоки сохранения / чтения данных FinInfo [Re: ra81]
captian Offline
Carpal Tunnel

Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
Originally Posted By: ra81

полагаю что да. Но будете ловить перерисовку последнего значения. Причем, пожалуй, ловить ее будете очень часто. На это были жалобы выше по тексту.
Спасибо
_________________________
трансляция работы скриптов http://tslab.comon.ru/51FC0A21B9A4E85974B2CAD6450623E6
почта captian@mail.ru скайп captian1963

Наверх
#60479 - Thu Jan 30 2014 02:05 PM Re: Блоки сохранения / чтения данных FinInfo [Re: ra81]
captian Offline
Carpal Tunnel

Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
Originally Posted By: ra81
полагаю что да. Но будете ловить перерисовку последнего значения. Причем, пожалуй, ловить ее будете очень часто. На это были жалобы выше по тексту.

Ещё вопрос: Накопитель и основной скрипт с блоками чтения данных должны быть в одном т/ф ???
Или же писать данные можно, скажем минутами, а считывать 30 минутным скриптом?


Отредактировано captian (Thu Jan 30 2014 02:13 PM)
_________________________
трансляция работы скриптов http://tslab.comon.ru/51FC0A21B9A4E85974B2CAD6450623E6
почта captian@mail.ru скайп captian1963

Наверх
#60485 - Thu Jan 30 2014 08:23 PM Re: Блоки сохранения / чтения данных FinInfo [Re: captian]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Originally Posted By: captian
Originally Posted By: ra81
полагаю что да. Но будете ловить перерисовку последнего значения. Причем, пожалуй, ловить ее будете очень часто. На это были жалобы выше по тексту.

Ещё вопрос: Накопитель и основной скрипт с блоками чтения данных должны быть в одном т/ф ???
Или же писать данные можно, скажем минутами, а считывать 30 минутным скриптом?

да. там идет поиск ближайшего времени слева. Эти данные и выдаются. Можно писать в меньшем, читать в большем тф
_________________________
__


Наверх
#60486 - Thu Jan 30 2014 09:14 PM Re: Блоки сохранения / чтения данных FinInfo [Re: ra81]
captian Offline
Carpal Tunnel

Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
Originally Posted By: ra81
да. там идет поиск ближайшего времени слева. Эти данные и выдаются. Можно писать в меньшем, читать в большем тф
Премного благодарен.
_________________________
трансляция работы скриптов http://tslab.comon.ru/51FC0A21B9A4E85974B2CAD6450623E6
почта captian@mail.ru скайп captian1963

Наверх
#60623 - Tue Feb 11 2014 11:49 AM Re: Блоки сохранения / чтения данных FinInfo [Re: captian]
zig2003 Offline
journeyman

Registered: Fri Mar 18 2011
Записи: 99
Loc: Gonduras
Парни, скажите, плиз, а эти блоки будут корректно работать с версией 1.2.12?


Отредактировано zig2003 (Tue Feb 11 2014 12:12 PM)

Наверх
#60624 - Tue Feb 11 2014 12:22 PM Re: Блоки сохранения / чтения данных FinInfo [Re: zig2003]
captian Offline
Carpal Tunnel

Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
Originally Posted By: zig2003
Парни, скажите, плиз, а эти блоки будут корректно работать с версией 1.2.12?
У меня работают с 1.2.12.0 вполне корректно
_________________________
трансляция работы скриптов http://tslab.comon.ru/51FC0A21B9A4E85974B2CAD6450623E6
почта captian@mail.ru скайп captian1963

Наверх
#60628 - Tue Feb 11 2014 02:46 PM Re: Блоки сохранения / чтения данных FinInfo [Re: captian]
zig2003 Offline
journeyman

Registered: Fri Mar 18 2011
Записи: 99
Loc: Gonduras
Спасибо, Кэп, попробую на опционах.

Наверх
#60690 - Sat Feb 15 2014 02:30 PM Re: Блоки сохранения / чтения данных FinInfo [Re: zig2003]
goodok Offline
newbie

Registered: Sun Mar 10 2013
Записи: 49
Ребята! подскажите пожалуйста, что не так сделал

System.IO.FileNotFoundException: Файл 'C:\Data\RTS-3.14.fid' не найден.
Имя файла: "C:\Data\RTS-3.14.fid" .... итд

на 110раз перечитал инструкцию результат такойже
1-скачал FinInfoCache_2.0.0.0_src.zip и FinInfoCache_2.0.0.0_bin.zip
2-залил FinInfoCache_2.0.0.0_bin (там 6 файлов) в папку C:\Program Files (x86)\TSLab 1.2.\Handlers
3-создал папку Data на диск С
4-создал два скрипта "запись" и чтение. запись: источник - накопитель - график
"чтение": источник - volatility - график
а он мне ругается на скрипт "чтение" system.IO.FileNotFoundException: Файл 'C:\Data\RTS-3.14.fid' не найден


Отредактировано goodok (Sat Feb 15 2014 02:36 PM)

Наверх
#60693 - Sat Feb 15 2014 04:01 PM Re: Блоки сохранения / чтения данных FinInfo [Re: goodok]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
возможно проблема в правах доступа. Нет доступа на запись в сей файл. проверьте Безопасность папки Data
_________________________
__


Наверх
#60700 - Sun Feb 16 2014 11:44 AM Re: Блоки сохранения / чтения данных FinInfo [Re: ra81]
goodok Offline
newbie

Registered: Sun Mar 10 2013
Записи: 49
проверил безопасность все нормально, может причина в том что подключение через quik от открытия или 32битный tslab на 64битной системе?????

Наверх
#60701 - Sun Feb 16 2014 03:10 PM Re: Блоки сохранения / чтения данных FinInfo [Re: goodok]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Originally Posted By: goodok
проверил безопасность все нормально, может причина в том что подключение через quik от открытия или 32битный tslab на 64битной системе?????

врядли. написано четко. не могу найти файл. либо его нет, либо нет до него доступа.
_________________________
__


Наверх
#60703 - Sun Feb 16 2014 09:35 PM Re: Блоки сохранения / чтения данных FinInfo [Re: ra81]
goodok Offline
newbie

Registered: Sun Mar 10 2013
Записи: 49
Файла в папке data нет

Наверх
Page 7 of 13 < 1 2 ... 5 6 7 8 9 ... 12 13 >


Moderator:  ViL, sar