Тестирование на истории из текстового файла


Тестирование на истории из текстового файла
Atom
11/6/2013


Подскажите как протестировать на истории используя свечки из текстового файла?
Или вообще как можно протестировать используя внешний источник данных?

Code
            // создаем шлюз для эмуляции
// инициализируем настройки (инструмент в истории обновляется раз в секунду)
var trader = new EmulationTrader(
    new[] { security },
    new[] { portfolio })
{
    MarketTimeChangedInterval = timeFrame,
    StorageRegistry = storageRegistry,
 
    // использовать стаканы
    UseMarketDepth = emulationInfo.UseMarketDepth,
 
    // использовать свечки
    UseCandlesTimeFrame = emulationInfo.UseCandleTimeFrame,
};


Из примера SampleHistoryTesting, чтобы указывать StorageRegistry = storageRegistry свой какстомный или какие есть вариации?

Tags:


Thanks:


1 2  >
Bond

Avatar
Date: 11/6/2013
Reply


Andrii Go to
Подскажите как протестировать на истории используя свечки из текстового файла?
Или вообще как можно протестировать используя внешний источник данных?

Code
            // создаем шлюз для эмуляции
// инициализируем настройки (инструмент в истории обновляется раз в секунду)
var trader = new EmulationTrader(
    new[] { security },
    new[] { portfolio })
{
    MarketTimeChangedInterval = timeFrame,
    StorageRegistry = storageRegistry,
 
    // использовать стаканы
    UseMarketDepth = emulationInfo.UseMarketDepth,
 
    // использовать свечки
    UseCandlesTimeFrame = emulationInfo.UseCandleTimeFrame,
};


Из примера SampleHistoryTesting, чтобы указывать StorageRegistry = storageRegistry свой какстомный или какие есть вариации?


На форуме есть раздел Тестирование. Вам туда. Читайте сообщения от других участников форума, пользуйтесь поиском и справкой, и вопросы закроются сами собой.
Thanks:

Andrii

Avatar
Date: 11/6/2013
Reply


Bond Go to
Andrii Go to
Подскажите как протестировать на истории используя свечки из текстового файла?
Или вообще как можно протестировать используя внешний источник данных?

Code
            // создаем шлюз для эмуляции
// инициализируем настройки (инструмент в истории обновляется раз в секунду)
var trader = new EmulationTrader(
    new[] { security },
    new[] { portfolio })
{
    MarketTimeChangedInterval = timeFrame,
    StorageRegistry = storageRegistry,
 
    // использовать стаканы
    UseMarketDepth = emulationInfo.UseMarketDepth,
 
    // использовать свечки
    UseCandlesTimeFrame = emulationInfo.UseCandleTimeFrame,
};


Из примера SampleHistoryTesting, чтобы указывать StorageRegistry = storageRegistry свой какстомный или какие есть вариации?


На форуме есть раздел Тестирование. Вам туда. Читайте сообщения от других участников форума, пользуйтесь поиском и справкой, и вопросы закроются сами собой.

Спасибо, аналогичный вопрос есть и в тестировании.
Можете помочь найти с примером или показать как сделать?

Thanks:

Bond

Avatar
Date: 11/6/2013
Reply


Вы не поверите, но там есть примеры) Будьте внимательнее)
Thanks:

Andrii

Avatar
Date: 11/6/2013
Reply


Bond Go to
Вы не поверите, но там есть примеры) Будьте внимательнее)

Примеры есть, но они используют LocalMarketDataDrive как в примере и в этом посте
но мне нужно брать из текстового файла, так как гидра не работает из UX источником.
Нужен пример где тестируется на истории из файла, если можете, скиньте ссылку на пост.
Thanks:

Bond

Avatar
Date: 11/6/2013
Reply


Производительность тестирования на истории в текстовых файлах ниже чем при работе с бинарными файлами. Лучше с Гидрой попробовать разобраться.
Code

private IEnumerable<Candle> GetHistoryCandles()
        {
            try
            {
                //закачка из текстового файла
                return CultureInfo.InvariantCulture.DoInCulture(
                    () => File.ReadAllLines("LKOH.txt").Select(
                        line =>
                            {
                                var timeFrame = (TimeSpan) _series.Arg;
                                var parts = line.Split(";");
                                var time = parts[0].ToDateTime("yyyy-MM-dd HH:mm:ss");
                                return new TimeFrameCandle()
                                    {
                                        OpenPrice = parts[1].To<decimal>(),
                                        HighPrice = parts[2].To<decimal>(),
                                        LowPrice = parts[3].To<decimal>(),
                                        ClosePrice = parts[4].To<decimal>(),
                                        TimeFrame = timeFrame,
                                        OpenTime = time,
                                        CloseTime = time + timeFrame,
                                        TotalVolume = parts[5].To<decimal>(),
                                        Security = Connection.SelectedSecurity,
                                        State = CandleStates.Finished
                                    };
                            }).ToArray());
Thanks:

Andrii

Avatar
Date: 11/6/2013
Reply


Bond Go to
Производительность тестирования на истории в текстовых файлах ниже чем при работе с бинарными файлами. Лучше с Гидрой попробовать разобраться.
Code

private IEnumerable<Candle> GetHistoryCandles()
        {
            try
            {
                //закачка из текстового файла
                return CultureInfo.InvariantCulture.DoInCulture(
                    () => File.ReadAllLines("LKOH.txt").Select(
                        line =>
                            {
                                var timeFrame = (TimeSpan) _series.Arg;
                                var parts = line.Split(";");
                                var time = parts[0].ToDateTime("yyyy-MM-dd HH:mm:ss");
                                return new TimeFrameCandle()
                                    {
                                        OpenPrice = parts[1].To<decimal>(),
                                        HighPrice = parts[2].To<decimal>(),
                                        LowPrice = parts[3].To<decimal>(),
                                        ClosePrice = parts[4].To<decimal>(),
                                        TimeFrame = timeFrame,
                                        OpenTime = time,
                                        CloseTime = time + timeFrame,
                                        TotalVolume = parts[5].To<decimal>(),
                                        Security = Connection.SelectedSecurity,
                                        State = CandleStates.Finished
                                    };
                            }).ToArray());

Гидра, ксожелению, отпадает, так как там плохо реализован источник UX. [crying]
Этот пример, конечно же, видел и как раз исходя из него и этот вопрос. В текущем коде получается только набор свеч, но как этот набор прогнать в EmulationTrader, можно ли эти все свечи зарегистрировать в нем?
Code
var trader = new EmulationTrader(new[] { security },new[] { portfolio })
{

};
Thanks:

Bond

Avatar
Date: 11/6/2013
Reply


Здесь либо самому экспериментировать, либо в техподдержку обратиться за помощью.
Thanks:

Иван З.

Avatar
Date: 11/6/2013
Reply


http://www.stocksharp.co...bleCandleBuilderSource/

После чего, я этим вопросом более не занимался. Если у вас получится, пожалуйста отпишитесь на форуме.
Thanks:

Mikhail Sukhov

Avatar
Date: 11/6/2013
Reply


Andrii Go to

Гидра, ксожелению, отпадает, так как там плохо реализован источник UX. [crying]


А что с ним такого?
Thanks:

Andrii

Avatar
Date: 11/8/2013
Reply


Михаил Сухов Go to
Andrii Go to

Гидра, ксожелению, отпадает, так как там плохо реализован источник UX. [crying]


А что с ним такого?


Давно уже писал, что UX собирает данные только фьючерсов, а акции - нет, хотя акции нужнее.

Михаил, может подскажете как прогнать свечи в EmulationTrader?
Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy