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


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


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


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

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)

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



Спасибо:


< 1 2 
romany4

Фотография
Дата: 15.03.2014
Ответить


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

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

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

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

Bond

Фотография
Дата: 24.03.2014
Ответить


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

//Загружаем из хранилища свечи, + добавляем один день(косяк - не выводит последний день)
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));
}




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

romany4

Фотография
Дата: 26.03.2014
Ответить


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

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

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

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy