Архив цен на фьючерс

10/19/2011 4:05:13 PM
Gravatar
Total Posts 5

Архив цен на фьючерс

Добрый день, а есть ли в связке WLD+WLRT доступ к склейке цен на фьючерс для отладки торговых стратегий?

10/19/2011 4:59:39 PM
Gravatar
Total Posts 151

RE:Архив цен на фьючерс

Добрый день. Склейки как таковой нет. При необходимости можно использовать массу вариантов для тестов. Например - скачать котировки склееных фьючерсов в ASCII файлах.

Если интересно - можно сделать источник данных, который умеет склевать фьючерсы. Это можно сделать в рамках форума в виде исходных кодов или идей.

10/19/2011 9:19:06 PM
Gravatar
Total Posts 151

RE:Архив цен на фьючерс

Давайте в рамках форума реализуем простую вещь. Адаптер, который запрашивает данные по нескольким бумагам у нашего адаптера из комплекта АлгоТрейдинга, а затем склеивает их по некоторому алгоритму.

Я со своей стороны готов показать как запросить данные по нескольким бумагам, а вы предложите алгоритм склейки.

10/19/2011 10:35:02 PM
Gravatar
Total Posts 27

RE:Архив цен на фьючерс

Встречный вопрос: а как данные ASCII закачать в велс?

У меня проблема - не хочет закачивать время. Взял данные в txt с финама.

Закачка останавливается на этой строчке:

SPFB.RTS,1,20110111,130000,177680.00000,177720.00000,177670.00000,177705.00000

Что можно сделать?

10/19/2011 11:36:32 PM
Gravatar
Total Posts 151

RE:Архив цен на фьючерс

Порядок полей верно указан? Форматы данных для импорта прописывать тоже нужно. Формат даты насколько я вижу YYYYMMDD.

10/20/2011 5:44:09 AM
Gravatar
Total Posts 27

RE:Архив цен на фьючерс

Первые 180 строчек закачивает нормально. Сбоит на 181 строчке. Как раз там, где время становится 13:00:00.

10/20/2011 5:44:26 AM
Gravatar
Total Posts 27

RE:Архив цен на фьючерс

и еще одна картинка

10/20/2011 5:52:52 AM
Gravatar
Total Posts 27

RE:Архив цен на фьючерс

Не прикрепляются картинки. :-(

Вообщем вот кусок файла. Выдает ошибку Parse Error на 5 строчке: "Строка не распознана как действительно значение DataTime. Field: 130000, Field Name: Time, Field Type: Time"

SPFB.RTS,1,20110111,125600,177690.00000,177695.00000,177645.00000,177675.00000

SPFB.RTS,1,20110111,125700,177665.00000,177705.00000,177650.00000,177700.00000

SPFB.RTS,1,20110111,125800,177690.00000,177715.00000,177680.00000,177695.00000

SPFB.RTS,1,20110111,125900,177690.00000,177695.00000,177670.00000,177670.00000

SPFB.RTS,1,20110111,130000,177680.00000,177720.00000,177670.00000,177705.00000

SPFB.RTS,1,20110111,130100,177700.00000,177720.00000,177665.00000,177685.00000

SPFB.RTS,1,20110111,130200,177675.00000,177720.00000,177600.00000,177705.00000

SPFB.RTS,1,20110111,130300,177705.00000,177735.00000,177700.00000,177725.00000

SPFB.RTS,1,20110111,130400,177720.00000,177750.00000,177710.00000,177750.00000

SPFB.RTS,1,20110111,130500,177750.00000,177750.00000,177700.00000,177700.00000

SPFB.RTS,1,20110111,130600,177700.00000,177720.00000,177675.00000,177710.00000

SPFB.RTS,1,20110111,130700,177715.00000,177775.00000,177705.00000,177765.00000

SPFB.RTS,1,20110111,130800,177765.00000,177800.00000,177740.00000,177765.00000

SPFB.RTS,1,20110111,130900,177770.00000,177900.00000,177770.00000,177865.00000

SPFB.RTS,1,20110111,131000,177870.00000,177945.00000,177855.00000,177925.00000

SPFB.RTS,1,20110111,131100,177925.00000,177940.00000,177905.00000,177905.00000

SPFB.RTS,1,20110111,131200,177905.00000,177930.00000,177900.00000,177905.00000

SPFB.RTS,1,20110111,131300,177905.00000,177945.00000,177905.00000,177925.00000

SPFB.RTS,1,20110111,131400,177925.00000,177965.00000,177905.00000,177965.00000

SPFB.RTS,1,20110111,131500,177945.00000,177975.00000,177940.00000,177950.00000

SPFB.RTS,1,20110111,131600,177965.00000,177965.00000,177905.00000,177955.00000

10/20/2011 5:57:07 AM
Gravatar
Total Posts 27

RE:Архив цен на фьючерс

Проблема успешно решена!

Дело действительно было в формате времени.

Было: hhmmss

а надо было: HHmmss

Нужно было почитать гайд про форматы: http://msdn.microsoft.com/en-us/library/8kb3ddd4(VS.71).aspx

12/13/2011 3:14:54 PM
Gravatar
Total Posts 151

RE:Архив цен на фьючерс

Возвращаясь к склейке данных. Размещаем здесь адаптер, который запрашивает 2 фьючерса на индекс РТС и объединяет их истории. Ответим на любые вопросы, касающиеся его работы, далее в этой теме. [COLOR=#FF0000]Вопросы не по этому адаптеру будут удаляться из этой темы.[/COLOR]

[CODE]namespace WLRT.WLD.Community.DataProvider

{

public class Provider : WealthLab.StaticDataProvider

{

public override string FriendlyName

{

get { return "WLRTCommunity"; }

}

public override string Description

{

get { return "Sample provider"; }

}

public override System.Drawing.Bitmap Glyph

{

get { return new System.Drawing.Bitmap(16, 16); }

}

public override bool SupportsDynamicUpdate(WealthLab.BarScale scale)

{

return false;

}

public override WealthLab.DataSource CreateDataSource()

{

var ds = new WealthLab.DataSource(this) { BarInterval = 1, Scale = WealthLab.BarScale.Minute };

ds.Symbols.Add("SAMPLE1");

return ds;

}

public override void PopulateSymbols(WealthLab.DataSource ds, System.Collections.Generic.List symbols)

{

ds.Symbols.Add("SAMPLE1");

}

public override WealthLab.Bars RequestData(WealthLab.DataSource ds, string symbol, System.DateTime startDate, System.DateTime endDate, int maxBars, bool includePartialBar)

{

var WLRTProvider = new SqlDataAdapter.SqlStaticProvider();

var riz1Bars = WLRTProvider.RequestData(new WealthLab.DataSource {BarInterval = 1, Scale = WealthLab.BarScale.Minute}, "SPBFUT.RIZ1", startDate,

X endDate, maxBars, false);

var rih2Bars = WLRTProvider.RequestData(new WealthLab.DataSource {BarInterval = 1, Scale = WealthLab.BarScale.Minute}, "SPBFUT.RIH2", startDate,

X endDate, maxBars, false);

var bars = new WealthLab.Bars(symbol, WealthLab.BarScale.Minute, 1);

for (int i = 0; i < riz1Bars.Count; i++)

{

bars.Add(riz1Bars.Date, riz1Bars.Open, riz1Bars.High, riz1Bars.Low, riz1Bars.Close, riz1Bars.Volume);

}

for (int i = 0; i < rih2Bars.Count; i++)

{

if (rih2Bars.Date > riz1Bars.Date[riz1Bars.Count - 1])

{

bars.Add(rih2Bars.Date, rih2Bars.Open, rih2Bars.High, rih2Bars.Low, rih2Bars.Close, rih2Bars.Volume);

}

}

return bars;

}

public override System.Windows.Forms.UserControl WizardFirstPage()

{

return new System.Windows.Forms.UserControl();

}

public override System.Windows.Forms.UserControl WizardPreviousPage(System.Windows.Forms.UserControl currentPage)

{

return null;

}

public override System.Windows.Forms.UserControl WizardNextPage(System.Windows.Forms.UserControl currentPage)

{

return null;

}

}

}

[/CODE]