← 返回

S#.API

В версии 4.3.9 и выше EmulationConnector неправильно формирует свечи (TimeFrameCandle). Лои и Хаи абсурдны. В CandleBuilder появляются неверные значения цен тиковых сделок. Глюки очевидны в стандартном Sample. В релизе 4.3.8 на тех же хранилищах данных формирование свечей корректно

本主题对您有帮助吗?

分享主题

评论 (15)

登录创建账户, 登录或注册以发表评论

Mikhail Sukhov
Mikhail Sukhov

robot.sv: Глюки очевидны в стандартном Sample.

Этот пример не работает с EmulationConnector.

robot.sv
robot.sv 作者

Уважаемые разработчики в SampleHistoryTestingPublic проекте последних версий на графике в конфигурациях свечей можно увидеть описанную ерунду. Быстро глюк в SRC, как было ранее, не удалось найти, но я крайне заинтересован в его устранении. Соревнование в язвительности - не мое . В версии 4.3.8 этого не наблюдается, поэтому временно перешел на нее. Историю получаю из собственной утилиты конвертации QScalp в StockSharp.bin.. Для предыдущих версий все работает как часы. Надеюсь на понимание

Mikhail Sukhov
Mikhail Sukhov

Можете привести скрин?

Pantov
Pantov

robot.sv: Уважаемые разработчики в SampleHistoryTestingPublic проекте последних версий на графике в конфигурациях свечей можно увидеть описанную ерунду. Быстро глюк в SRC, как было ранее, не удалось найти, но я крайне заинтересован в его устранении. Соревнование в язвительности - не мое . В версии 4.3.8 этого не наблюдается, поэтому временно перешел на нее. Историю получаю из собственной утилиты конвертации QScalp в StockSharp.bin.. Для предыдущих версий все работает как часы. Надеюсь на понимание

Поделитесь вашей утилитой конвертации QScalp в StockSharp.bin

robot.sv
robot.sv 作者

Высылаю screen стандартного Sampla одного торгового дня взятого с одного хранилища версий 4.3.8 и 4.3.9 Почувствуйте разницу...

robot.sv
robot.sv 作者

Что касается конвертора, целиком не выложу, я сделал его для себя, заточен под мою структуру БД и многофункционален. Метод распарсинга *.qsh файлов взял у Цериха, за что им благодарен. Вытащил из своего проекта source конвертации и выложил. Разобраться и адаптировать для себя можно.

Mikhail Sukhov
Mikhail Sukhov

robot.sv: Что касается конвертора, целиком не выложу, я сделал его для себя, заточен под мою структуру БД и многофункционален. Метод распарсинга *.qsh файлов взял у Цериха, за что им благодарен. Вытащил из своего проекта source конвертации и выложил. Разобраться и адаптировать для себя можно.

Видимо дело как раз в данных, что вы сконвертировали:

andy_baka
andy_baka

Mikhail Sukhov:

robot.sv: Что касается конвертора, целиком не выложу, я сделал его для себя, заточен под мою структуру БД и многофункционален. Метод распарсинга *.qsh файлов взял у Цериха, за что им благодарен. Вытащил из своего проекта source конвертации и выложил. Разобраться и адаптировать для себя можно.

Видимо дело как раз в данных, что вы сконвертировали:

Михаил, 4.3.10 - прямо из архива, к коду не прикасался

Mikhail Sukhov
Mikhail Sukhov

andy_baka: Михаил, 4.3.10 - прямо из архива, к коду не прикасался

https://github.com/StockSharp/StockSharp/commit/0708b2276d17232044525ddbb5d9d653e5b1c052

robot.sv
robot.sv 作者

Я нашел причину несуразной формы свечек. В модуле \Algo\Testing\ExecutionLogConverter.cs метод

private void AddExecMsg(List<ExecutionMessage> diff, DateTime time, QuoteChange quote, decimal volume) { if (volume > 0) diff.Add(CreateMessage(time, quote.Side, quote.Price, volume)); else { volume = volume.Abs(); if (volume > 1) volume = volume;

  		if (volume > 1 && _isMatch.Next())
  		{
  			var tradeVolume = (int)volume / 2;

               > diff.Add(new ExecutionMessage
               {
                   Side = quote.Side,
                    Volume = tradeVolume,
                    ExecutionType = ExecutionTypes.Tick,
                    SecurityId = SecurityId,
                    LocalTime = time,
                    TradePrice = quote.Price,
                });…..

Формируется псевдосделки из которовок сакана. Даже если удалить хранилище сделок эмулятор будет рисовать присланную выше галиматью. Показанная Вами картинка на эталонных RIZ2 не в счет. Я проанализировал RIZ2 стаканы, они не естественные, видимо сформированы из сделок и сохранены в хранилище. Даже при удаленном файле сделок эмулятор вырисовывает свечки красиво, потому глюков не видно. Если использовать реальные биржевые стаканы и сделки и применить их , эмулятор нарисует то о чем писал. Мне не очень понятна необходимость формирования псевдосделок, но для себя принял однозначное решение о «галванической» развязке потока сделок и потока биржевых стаканов (естественно при их наличии), т.е. просто заремил выделенный участок кода в последней версии и получил корректные свечи и стакан, как было в пред. релизах. Мне кажется разработчикам тут есть над чем подумать.

Mikhail Sukhov
Mikhail Sukhov

robot.sv: Я проанализировал RIZ2 стаканы, они не естественные, видимо сформированы из сделок и сохранены в хранилище.

Они сгенерированы из ордер лога, единственного на данный момент возможности получать синхронизованную историю стаканов с тиками.

robot.sv: Даже при удаленном файле сделок эмулятор вырисовывает свечки красиво, потому глюков не видно. Если использовать реальные биржевые стаканы и сделки и применить их , эмулятор нарисует то о чем писал.

Потому что у вас стаканы и сделки пишутся через обычное подключение, и поэтому история рассинхронизована.

robot.sv: Мне не очень понятна необходимость формирования псевдосделок,

Стаканы меняются не просто так. Или идет снятие заявок, или идет исполнение. Второе - это псевдо сделки. Если их убрать, то история получится нереальной (и потеряется всякий смысл в тестировании).

Выложите за день свои стаканы и сделки. Попробую запустить и привести пример нереальности. А еще лучше - попробуйте протестить на ОЛ.

robot.sv
robot.sv 作者

Высылаю хранилище данных. В релизе 4.3.8 и ниже формирование тиковых псевдосделок из стакана не обнаружил и подобных проблем не было.

robot.sv
robot.sv 作者

Вижу RIZ2 2012 г, выслал 18.08.2015 RIU5 - на них попробуйте

andy_baka
andy_baka

robot.sv: Вижу RIZ2 2012 г, выслал 18.08.2015 RIU5 - на них попробуйте

тоже самое

robot.sv
robot.sv 作者

Теперь вроде Оk. Благодарю