Неверная свеча из CandleManager
Atom Ответить
16.11.2010


Привет!

По моему в CandleManager неверно строятся свечи.
Например сегодня построилась такая 15минутка:
16.11.2010 14:30:00 158040 158150 157770 158070

В квике эта же свеча имеет цену закрытия 158080
В таблице сделок видим:


Возможно CandleManager берет первую попавшуюся сделку последней секунды (в данном случае 14:44:57)?

Теги:


Спасибо:



Скидка 15% на все продукты до 5 апреля (осталось 3 дней).

9 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 17.11.2010
Ответить


А экспорт ДДЕ был запущен до этого во сколько?
Спасибо:

artemox

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


У меня кнопки конект, экспорт, старт нажимаются в отдельном потоке (с пазами между каждым "нажатием")
Где то так:
Connect
из OnConnected вызываю поток, в котором

Sleep(5000)
ExportDDE

Sleep(15000);
Start.

Кстати может это можно сделать изящней?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 18.11.2010
Ответить


artemox
У меня кнопки конект, экспорт, старт нажимаются в отдельном потоке (с пазами между каждым "нажатием")
Где то так:
Connect
из OnConnected вызываю поток, в котором

Sleep(5000)
ExportDDE

Sleep(15000);
Start.

Кстати может это можно сделать изящней?


А зачем вообще Sleep?
Спасибо:

artemox

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


Sleep на всякий случай, чтобы успели все таблички Квик-а прочитаться.
Если вызывал в основном потоке все подряд, то нормально робот не "автостартовал"

Но по моему автозапуск не влияет на расчет свечи.
Вы проверили - берется именно последний тик последней свечи?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 18.11.2010
Ответить


artemox
Sleep на всякий случай, чтобы успели все таблички Квик-а прочитаться.
Если вызывал в основном потоке все подряд, то нормально робот не "автостартовал"


А что было?

artemox

Но по моему автозапуск не влияет на расчет свечи.
Вы проверили - берется именно последний тик последней свечи?


Не влияет. Но хочу узнать, перед формирование этой свечки и запуском экспорта сколько времени прошло.
Спасибо:

artemox

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


Цитата:
А что было?


Без потока свечи некоторые пропадали (не успевали грузиться чтоли). Загрузка свечей делается как в SampleSMA.
Чтобы восстановить ситуацию переделал без потока вот так:

Window_Loaded
{
Connect_Click
}

_trader.Connected
{
...
ExportDde_Click(null, null);
Start_Click(null, null);
}

В итоге страт прошел нормально, онако свечи некорректные и не полные
При этом в КВИКе уже все загружено (т.е. он открыт с утра)

Тут сравнение первых трех свечей, вторая строка - значения из Квика.
Последнее число - объем (обратите внимание на свечи с 14-00)

18.11.2010 10:00:00 157100 157800 155740 157715 46580
18.11.2010 10:00:00 155740 157800 155740 157735 46580

18.11.2010 10:15:00 157735 157955 157610 157810 20664
18.11.2010 10:15:00 157720 157955 157610 157790 20664

18.11.2010 10:30:00 157805 158055 157705 157765 29906
18.11.2010 10:30:00 157805 158055 157705 157770 29906

Дальше свечи и объемы из C#
18.11.2010 10:45:00 157775 158025 157735 157915 16381
18.11.2010 11:00:00 157865 158030 157750 157750 25473
18.11.2010 11:15:00 157750 157885 157390 157535 28938
18.11.2010 11:30:00 157535 158350 157425 158235 39320
18.11.2010 11:45:00 158235 158565 158165 158485 32067
18.11.2010 12:00:00 158480 158825 158480 158795 39453
18.11.2010 12:15:00 158800 158820 158540 158560 23322
18.11.2010 12:30:00 158560 158745 158550 158630 12937
18.11.2010 12:45:00 158630 159240 158610 159030 39923
18.11.2010 13:00:00 159050 159090 158665 158695 20260
18.11.2010 13:15:00 158695 158885 158630 158730 14051
18.11.2010 13:30:00 158740 159100 158685 158990 16709
18.11.2010 13:45:00 158990 159000 158715 158905 13261
18.11.2010 14:00:00 158970 159000 158925 158995 1101
18.11.2010 14:30:00 159285 159285 159285 159285 1
18.11.2010 19:15:00 159670 159670 159670 159670 1

18.11.2010 19:30:00 159765 159830 159655 159805 5001
18.11.2010 19:45:00 159800 159810 159630 159720 5412
18.11.2010 20:00:00 159730 159935 159720 159930 1708
18.11.2010 20:15:00 160070 160165 160020 160075 4758
18.11.2010 20:30:00 160080 160130 159995 160085 4038
18.11.2010 20:45:00 160085 160200 159950 160025 7391


Цитата:
Но хочу узнать, перед формирование этой свечки и запуском экспорта сколько времени прошло.

Я объяснил? Не совсем понял вопрос (свечи формирует CandleManager, я получаю их после создания пакетом)



Автор топика
Спасибо:

artemox

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


Открыл Ваш пример SampleSMA.
Поменял:
1) private readonly TimeSpan _timeFrame = TimeSpan.FromMinutes(15);

2) var lkoh = securities.FirstOrDefault(s => s.Code == "RIZ0");

3) Добавил SaveCalculations в:
_candleManager.NewCandles
DrawSma()
Start_Click после GetTimeFrameCandles

public void SaveCalculations(TimeFrameCandle candle, string mode)
{
File.AppendAllText(_CalculationsFile, String.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\n",
candle.Time,
candle.OpenPrice,
candle.HighPrice,
candle.LowPrice,
candle.ClosePrice,
candle.TotalVolume,
mode) );
}

Такой протокол с неверными свечами:
18.11.2010 11:15:00 157755 157885 157390 157530 28938 NewCandles
18.11.2010 11:30:00 157525 158350 157425 158235 39320 NewCandles
18.11.2010 12:00:00 158495 158825 158480 158790 39453 NewCandles
18.11.2010 10:45:00 157775 158025 157735 157900 16381 NewCandles
18.11.2010 11:45:00 158220 158565 158165 158475 32067 NewCandles
18.11.2010 13:00:00 159075 159090 158665 158695 20260 NewCandles
18.11.2010 11:00:00 157890 158030 157750 157750 25473 NewCandles
18.11.2010 19:15:00 159670 159670 159670 159670 1 NewCandles
18.11.2010 14:30:00 159260 159445 159210 159430 16501 NewCandles
18.11.2010 13:15:00 158695 158885 158630 158730 14051 NewCandles
18.11.2010 10:15:00 157735 157955 157610 157805 20664 NewCandles
18.11.2010 14:00:00 158935 159300 158925 159060 23239 NewCandles
18.11.2010 10:30:00 157805 158055 157705 157760 29906 NewCandles
18.11.2010 14:15:00 159065 159400 158945 159280 21308 NewCandles
18.11.2010 10:00:00 156360 157800 155740 157730 46580 NewCandles
18.11.2010 12:45:00 158650 159240 158610 159025 39923 NewCandles
18.11.2010 12:30:00 158560 158745 158550 158630 12937 NewCandles
18.11.2010 13:30:00 158725 159100 158685 158990 16709 NewCandles
18.11.2010 13:45:00 158990 159000 158715 158920 13261 NewCandles
18.11.2010 12:15:00 158800 158820 158540 158575 23322 NewCandles
18.11.2010 10:00:00 156360 157800 155740 157730 46580 DrawSma
18.11.2010 10:15:00 157735 157955 157610 157805 20664 DrawSma
18.11.2010 10:30:00 157805 158055 157705 157760 29906 DrawSma
18.11.2010 10:45:00 157775 158025 157735 157900 16381 DrawSma
18.11.2010 11:00:00 157890 158030 157750 157750 25473 DrawSma
18.11.2010 11:15:00 157755 157885 157390 157530 28938 DrawSma
18.11.2010 11:30:00 157525 158350 157425 158235 39320 DrawSma
18.11.2010 11:45:00 158220 158565 158165 158475 32067 DrawSma
18.11.2010 12:00:00 158495 158825 158480 158790 39453 DrawSma
18.11.2010 12:15:00 158800 158820 158540 158575 23322 DrawSma
18.11.2010 12:30:00 158560 158745 158550 158630 12937 DrawSma
18.11.2010 12:45:00 158650 159240 158610 159025 39923 DrawSma
18.11.2010 13:00:00 159075 159090 158665 158695 20260 DrawSma
18.11.2010 13:15:00 158695 158885 158630 158730 14051 DrawSma
18.11.2010 13:30:00 158725 159100 158685 158990 16709 DrawSma
18.11.2010 13:45:00 158990 159000 158715 158920 13261 DrawSma
18.11.2010 14:00:00 158935 159300 158925 159060 23239 DrawSma
18.11.2010 14:15:00 159065 159400 158945 159280 21308 DrawSma
18.11.2010 14:30:00 159260 159445 159210 159430 16501 DrawSma
18.11.2010 19:15:00 159670 159670 159670 159670 1 DrawSma
18.11.2010 15:00:00 159230 159325 159145 159255 9981 NewCandles
18.11.2010 14:30:00 159430 159545 159320 159345 10768 NewCandles
18.11.2010 15:30:00 159315 159330 159255 159265 1094 NewCandles
18.11.2010 15:15:00 159265 159355 159150 159295 10076 NewCandles
18.11.2010 14:45:00 159335 159380 159135 159240 17837 NewCandles
18.11.2010 16:00:00 159090 159275 159045 159185 10058 NewCandles
18.11.2010 16:15:00 159170 159275 159055 159270 5076 NewCandles
18.11.2010 15:45:00 159260 159300 158930 159100 20781 NewCandles
18.11.2010 16:30:00 159355 159700 159180 159240 39736 NewCandles
18.11.2010 16:45:00 159260 159475 159250 159375 10660 NewCandles
18.11.2010 17:00:00 159060 159075 158655 158795 45993 NewCandles
18.11.2010 17:15:00 158795 158840 158625 158675 4682 NewCandles
18.11.2010 17:30:00 158795 158975 158400 158680 38720 NewCandles
18.11.2010 17:45:00 158720 158930 158505 158690 31951 NewCandles
18.11.2010 18:00:00 158695 159045 158685 158955 17839 NewCandles
18.11.2010 18:15:00 159080 159110 158860 158885 13692 NewCandles
18.11.2010 18:30:00 158960 160245 158810 159615 52239 NewCandles
18.11.2010 20:00:00 159730 159935 159720 159930 1708 NewCandles
18.11.2010 19:00:00 159750 159890 159555 159690 19246 NewCandles
18.11.2010 19:30:00 159770 159830 159655 159790 5001 NewCandles
18.11.2010 19:15:00 159690 159940 159615 159765 10867 NewCandles
18.11.2010 19:45:00 159800 159810 159630 159720 5412 NewCandles
18.11.2010 19:30:00 159770 159830 159655 159790 5001 DrawSma
18.11.2010 19:45:00 159800 159810 159630 159720 5412 DrawSma
18.11.2010 20:00:00 159730 159935 159720 159930 1708 DrawSma
18.11.2010 21:45:00 159980 160190 159965 159980 8325 NewCandles
18.11.2010 20:30:00 160080 160130 159995 160085 4038 NewCandles
18.11.2010 21:00:00 160015 160025 159810 159985 4881 NewCandles
18.11.2010 21:15:00 159990 160090 159960 159980 3112 NewCandles
18.11.2010 22:00:00 159975 160050 159965 160045 2025 NewCandles
18.11.2010 21:30:00 159980 160040 159930 159985 3137 NewCandles
18.11.2010 20:45:00 160085 160200 159950 160025 7391 NewCandles
18.11.2010 20:15:00 160070 160165 160020 160075 4758 NewCandles
18.11.2010 20:15:00 160070 160165 160020 160075 4758 DrawSma
18.11.2010 20:30:00 160080 160130 159995 160085 4038 DrawSma
18.11.2010 20:45:00 160085 160200 159950 160025 7391 DrawSma
18.11.2010 21:00:00 160015 160025 159810 159985 4881 DrawSma
18.11.2010 21:15:00 159990 160090 159960 159980 3112 DrawSma
18.11.2010 21:30:00 159980 160040 159930 159985 3137 DrawSma
18.11.2010 21:45:00 159980 160190 159965 159980 8325 DrawSma
18.11.2010 22:00:00 159975 160050 159965 160045 2025 DrawSma
18.11.2010 22:15:00 159965 159965 159710 159775 6344 NewCandles
Автор топика
Спасибо:

artemox

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


Михаил,
вот еще раз скриншоты по сравнению свечей из finama (слева) и свечей S# (справа) в формате OHLCV

Это если запустить робота утром и свечи строятся в онлайне (различия минимальны, но присутствуют):


А это если свечи строятся вечером по уже загруженным в Квик сделкам:


Соответственно на таких свечах неправильно считаются индикаторы, может быть подскажете - как бы решить проблему Confused
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 22.11.2010
Ответить


artemox
Соответственно на таких свечах неправильно считаются индикаторы, может быть подскажете - как бы решить проблему Confused


Нашел ошибочное место, которое могло привести к данной проблеме. Выложу фикс завтра-послезавтра.
Спасибо:


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

loading
clippy