Тестирование 4.2.2.16. Вывод свечей на график.

Тестирование 4.2.2.16. Вывод свечей на график.
Atom
3/10/2014


Добрый вечер!
Разъясните, пожалуйста, следующую ситуацию.
Есть HistoryEmulationConnector.
Есть свечи из бд (источник финам).
Допустим такой набор


Свечи формируются следующим образом
Code

var time = DateTime.ParseExact(candle.DatetimeCandle, "dd.MM.yyyy HH:mm:ss", null);
return new TimeFrameCandle()
{
    OpenPrice = candle.Open,
    HighPrice = candle.High,
    LowPrice = candle.Low,
    ClosePrice = candle.Close,
    TimeFrame = timeFrameCandle,
    OpenTime = time,
    CloseTime = time + timeFrameCandle,
    TotalVolume = candle.Volume,
    Security = security,
    State = CandleStates.Finished
};


Если смотреть через дебаггер - то значения соответствуют тем, что выше.
1) Но вот при отрисовке свечей их OPEN и CLOSE значения изменяются. Изменяются они не намного, но все же мне пока не понятно по какому принципу это происходит.
2) И еще - все первые свечи (10:00:00) каждого дня при отрисовке имеют OPEN = HIGH = LOW = CLOSE, что, например, не соответствует данным, указанным выше. (Для первого набора, например, эти значения равны 97,8)

Буду благодарен, если кто-то объяснит почему так происходит.



Thanks:


< 1 2 
romany4

Avatar
Date: 3/15/2014
Reply


Quote:
У финама дырявые данные

Тут суть то в том, что через гидру я тоже качаю финамовские данные (источник Финам). И получается, что данные полученные от финама напрямую, отличаются от данных финама, скачанные гидрой. Собственно со всего этого и началось. Я хочу понять почему так происходит.

Quote:
Сбросьте ВСЕ файлы, включая ваш пример и исторические данные в одном архиве

Сегодня-завтра скину
Thanks:

Bond

Avatar
Date: 3/24/2014
Reply


Добрый день!
Раньше, к сожалению, не было возможности посмотреть ваши файлы. Поэтому отвечаю только сейчас.
Значит, что я обнаружил.
Ошибку вашу подтверждаю. Свечки строятся не правильно.
В высланном вами примере творится хаос. На мой взгляд все слишком мудрено написано.
Странная схема построения свечек и работа с series. Это все таки тестирование, а не реальная торговля, зачем с этим заморачиваться не понятно.
Предлагаю такую схему работы со свечами:
Code

//Загружаем из хранилища свечи, + добавляем один день(косяк - не выводит последний день)
var candles = storageRegistry.GetCandleStorage(typeof(TimeFrameCandle), security, timeFrame).Load(startTime, stopTime.AddDays(1));

//Перебираем полученные свечи
foreach (var candle in candles)
{
   DrawCandle(candle, ChartCandleElement);
}

//Выводим их на график или обрабатываем как нравится
private void DrawCandle(Candle candle, ChartCandleElement chartCandleElement)
{
   this.GuiAsync(() => _candleWindow.Chart.ProcessCandle(chartCandleElement, candle));
}




Отправил вам на почту рабочий пример работы со свечами.
Thanks: romany4

romany4

Avatar
Date: 3/26/2014
Reply


Спасибо за помощь)
Quote:

Ошибку вашу подтверждаю. Свечки строятся не правильно.
...
Это все таки тестирование, а не реальная торговля, зачем с этим заморачиваться не понятно.

Просто если вести статистику - то можно запутаться, получается что на деле значения свечи одни а в эмуляторе уже другие. И тем более при переходе на реальную торговлю это не вызовет неожиданных результатов?
Было бы классно, если ребята из S# прокомметировали эту ситуацию...
Thanks:
< 1 2 

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

loading
clippy