• Тинькофф Банк-лучшие банковские продукты еще выгоднее
    Выбирайте продукт от банка Тинькофф
  • Уважаемые форумчане, друзья и посетители!
    Поступило предложение ( ссылка на обсуждение ) на сбор средств поддержания форума в рабочем состоянии с 1 июня ( оплата хостинга, бэкап ежедневный на другой хостинг и тд), отчетность будет предоставляться ежемесячно. Пока на ЮMoney ( яндекс деньги), доступно картой перевод, далее добавлю другие способы. Сумму перевода указывайте на ваш выбор исходя из своих возможностей.
    Форум продолжает свою работу благодаря Вашим пожертвованиям.

Вопросы программирования

Привал

Well-Known Member
NinjaTrader
Код:
				if ( Instrument != null)
				{
					Print( "Истечение контракта по " + Instrument.ToString() 
					+ " " + Instrument.Expiry.ToLongDateString());
				}

Выдает
Истечение контракта по ES 09-12 Globex 1 сентября 2012 г.

Что нужно сделать что бы получать правильную информацию ?

Описание контракта
 
Привал сказал(а):
Код:
				if ( Instrument != null)
				{
					Print( "Истечение контракта по " + Instrument.ToString() 
					+ " " + Instrument.Expiry.ToLongDateString());
				}

Выдает
Истечение контракта по ES 09-12 Globex 1 сентября 2012 г.

Что нужно сделать что бы получать правильную информацию ?

Описание контракта

Сложно сказать, откуда берется 1 сентября. В Instrument Manager стоит ролловер 13ого числа.
 
Всем добрый день!
Пробовал устанавливать Гоми индикатор, только с ним возни очень много. Как говориться - "без бутылки не разберешься сразу". ::smile24.gif:: Говорят связано это с тем, что он не может использовать таймсерии которые сохраняются в файлах истории Ниньзи. (Правда я этим разговорам не поверил, как это может у такого продвинутого продукта такое быть?) Поэтому поступающие данные он якобы записывает специальным рекордером, чтобы потом использовать в своих индикаторах.
Между тем почитав руководство нашел следующуй образец кода:

Код:
Examples
protected override void OnMarketData
(MarketDataEventArgs e)
{
// Print some data to the Output window
if (e.MarketDataType == MarketDataType.Last)
Print("Last = " + e.Price + " " + e.
Volume);
else if (e.MarketDataType == MarketDataType.Ask)
Print("Ask = " + e.Price + " " + e.Volume);
else if (e.MarketDataType == MarketDataType.Bid)
Print("Bid = " + e.Price + " " + e.Volume);
}

Из приведенного примера, весьма похоже, что программный доступ к таймсериям в Ниньзе есть, в том числе и к Бидам и Аскам, их ценовым и объемным значениям. Если их распечатать можно, то почему бы и в индиктар не записать? Тогда становиться непонятно, зачем написали такой замудренный код для пакета Гоми-индикаторов?
 
vladko сказал(а):
Это доступ только к реал-тайм данным. На истории нет такого, потому и надо записывать.

Но ведь в Ниньзе есть функция закачки исторических данных в том числе и объемов (отдельно по бидам и аскам), причем в тиковой форме. Вот здесь, ниже привел скрин, т.е. в базе данных Ниньзи все это есть. Там есть Биды, Аски, Ласты. Как говориться закачал тики и используй в коде. Не понимаю что мешает эти данные использовать. Может есть какой-то нюанс, в связи с которым база данных Ниньзи не доступна для индикаторов?
 

Вложения

  • 2013-02-21_Ask_tik.gif
    2013-02-21_Ask_tik.gif
    40,5 КБ · Просмотры: 306
Во-первых именно что отдельно. А нужно все вместе. Ласт, Аск, Бид.
Во-вторых необходимые функции просто не работают на истории (GetCurrentAsk, например).
 
vladko сказал(а):
Во-первых именно что отдельно. А нужно все вместе. Ласт, Аск, Бид.
Во-вторых необходимые функции просто не работают на истории (GetCurrentAsk, например).

Ну и ну! Честное слово, слабоватый язык в Ниньзе. Такие очевидные функции до сих пор еще не сделали. Может в 8-й Ниньзе появяться?
То что файлы отдельно, это не так страшно, их можно программно синхронизировать и прочитать в один массив, лишь бы была функция чтения исторических данных.
 
RRK сказал(а):
Честное слово, слабоватый язык в Ниньзе.
Это не язык слабоват (он мощнейший), а просто закрыт доступ к некоторым функциям пока.

RRK сказал(а):
То что файлы отдельно, это не так страшно, их можно программно синхронизировать и прочитать в один массив, лишь бы была функция чтения исторических данных.  
Нельзя их программно синхронизировать на 100%. Информации о времени тика недостаточно (нужен миллисекундный таймштамп). Да и функции чтения исторических данных как таковой тоже нету. Можно только взять все данные что есть на графике.
На сегодня у меня есть решение этой проблемы только для пользователей фида от iqfeed.net (что является оффтопиком на данном форуме. если интересно - в личку).
 
А вот интересно, ценовые индикаторы ведь строяться по историческим данным, к примеру какой-нибудь осцилятор. Т.е. ценовые данные получается доступны из истории, иначе откуда тогда ценовый осцилятор берет данные? Получается, что не доступны из истории только данные по объемам (бидам, аскам)?
 
RRK сказал(а):
Получается, что не доступны из истории только данные по объемам (бидам, аскам)?  
По отдельности все доступно (можно построить график по бидам или аскам), нельзя только привязать их к цене ласт.
 
В общем понятно, что ничего не понятно! ::smile24.gif:: Я то привык к языку MQL, и отсутствие очевидных функций в Ниньзе, которые само с собой разумеются в MQL, вызвало мое удивление, к тому же, как Вы говорите, что язык в Ниньзе мощнейший. В любом случае спасибо, что прояснили кое-какие моменты. Меня Ниньзя заинтересовала, тем что в нее поступают биржевые данные, которых нет в Метатрейдерах. Вот и захотелось по эксперементировать на Ниньзе, а они оказывается не так доступны, как хотелось бы.
 
vladko сказал(а):
RRK|15:24 сказал(а):
Получается, что не доступны из истории только данные по объемам (бидам, аскам)?  
По отдельности все доступно (можно построить график по бидам или аскам), нельзя только привязать их к цене ласт.

А в каких индикаторах используется цена Ласт? И зачем она нужна? Разве не достаточно Бидов и Асков, например для построения горизонтальных профилей объемов, тех же кластерных графиков по подобию футпринта? Достаточно эти биды и аски впихнуть в бар, которые по времени удовлетворяют его открытию и закрытию.
 
Ласт используется во всех индикаторах. Аск и бид нужен (в Gome) только для косвенного определения куда отнести объем тика: в покупки или продажи).
Для построения горизонтальных профилей объемов и тех же кластерных графиков по подобию футпринта (исключая дельту) аски и биды вовсе не нужны. Хватает тиков ласт.
 
vladko сказал(а):
Ласт используется во всех индикаторах. Аск и бид нужен (в Gome) только для косвенного определения куда отнести объем тика: в покупки или продажи).
Для построения горизонтальных профилей объемов и тех же кластерных графиков по подобию футпринта (исключая дельту) аски и биды вовсе не нужны. Хватает тиков ласт.

Чем дальше заходит разговор, тем больше становиться не понятного. ::sad24.gif:: Если цены ласт хватает, как тогда узнать по какой цене (бид или аск) прошел этот ласт? Ведь ласт в Ниньзе несет в себе только время, цену и объем, но в нем нет где этот ласт оказался - на биде или аске, а то и между ними. Чувствую я, что дело это запутанное, просто так не разберешся. Вроде понятие есть как работает стакан, а как начинаешь углубляться, так много вопросов возникает непонятных.
 
Так знание о том где находится ласт по отношению к аску или биду и нужно в данном случае для построения дельты. Для объемного горизонтального профиля и профиля по барам аски и биды не нужны.
 
Vladko, подскажи пожайлуста, как интерпретировать данные из базы Ниньзи на следующих скринах. Или может, где-нибудь есть справочник по Менеджеру данных, где расписано, что означают таймсерии по этим скринам. Я то поначалу понял, что эти данные беруться с ленты!? Или это не так?
 

Вложения

  • 2013-02-21_Bid.gif
    2013-02-21_Bid.gif
    10,3 КБ · Просмотры: 181
Что то не получилось вставить три картинки в один пост. Вот следующая уже по ласту:
 

Вложения

  • 2013-02-21_Last.gif
    2013-02-21_Last.gif
    10,2 КБ · Просмотры: 165
И вот по аскам:
 

Вложения

  • 2013-02-21_Ask.gif
    2013-02-21_Ask.gif
    9,2 КБ · Просмотры: 163
vladko сказал(а):
А что непонятно?

Что это за объем на ластах? Я так понимаю, что цена ласт всегда бывает или на биде или на аске. Тогда весь объем укладывается на биды и аски. А тут оказывается еще есть какой-то объем ластов. Может я что-то не понимаю в работе стакана? Видимо есть какие-то нюансы?
 
Назад
Верх Низ