2015-04-05 2 views
1

Использование информации от Reading data from Dukascopy tick binary file Я внедрил свою собственную библиотеку загрузки каналов данных Dukas в C#.Dukas Tick Данные - Разница по величине разницы по котировкам

Приведенная выше ссылка подтверждает, что данные хранятся в формате большого конца и должны быть преобразованы. Окончательный ответ на ссылку выше, также указывает формат файла выглядит следующим образом:

int1 в секундах в течение этого часа (это должно быть на самом деле миллисекунды)

int2 является Ask * 10000

int3 является Bid * 10000

float1 является Ask Volume

float2 является Bid Объем

Я использую следующий фрагмент кода для считывания значения из загруженного и несжатого двоичных данных:

int hourMs = IPAddress.HostToNetworkOrder(br.ReadInt32()); 
double ask = IPAddress.HostToNetworkOrder(br.ReadInt32())/10000.0; 
double bid = IPAddress.HostToNetworkOrder(br.ReadInt32())/10000.0; 
br.ReadSingle(); // ask vol - don't need 
br.ReadSingle(); // bid vol - don't need 

Использование TickStory, я скачал тиковые данные для эквивалентных символов и даты, и подтвердили правильность значений миллисекунды тика.

Тем не менее, цены bid/ask неправильны на порядок. Из некоторых быстрых проверок цены на кросс-пары (а также золото) JPY на порядок ниже, а любые другие пары на порядок выше. При исправлении вручную они отлично соответствуют ценам, которые я скачал из TickStory.

Теперь я мог бы просто изменить дивизор выше 100 000 и использовать 1000 вместо этого в качестве специального случая для кросс/золота JPY - но это всего лишь лозунг, и я уверен, что это необязательно.

Есть ли что-то, что я получаю не так, как в формате, так и в кодировке endian?

Благодаря

ответ

1

Если данные только от от 10,0 затем Порядок байтов является правильным. Проверяйте их документы (оригинальные документы Dukas) снова и снова. Я предполагаю, что они используют разные коэффициенты масштабирования для разных тикеров.

+0

Спасибо за комментарий - я, к сожалению, рисую полный пробел, обнаружив их документацию после нескольких часов поиска, мне повезло, что я нашел другой ответ StackOverflow. Я продолжу смотреть. – Hoodlum