Stock# 2.3
Atom Ответить
24.08.2010


Выложил новую версию. Описание будет чуть позднее. Глобальные
изменения отсутствуют, так что можно качать тем, кто писал о своих
ошибках. Пофиксил все, если не забыл. Только есть одна особенность. Я
перешел на VS 2010 (но пока на .NET 3.5). Так что sln файла теперь
два. Один для 2010, другой для 2008.

Теги:


Спасибо:




24 Ответов
Tauler

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


А проблемы со стаусами пофиксили? когда приходит несколько State=Done,
но с разными балансами в OrderChaged?

Спасибо:

Mikhail Sukhov

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


Статусами (Status) или состояниями (State)? Пофиксил состояния.

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

Tauler

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


Ну была ситуация кгода приходили подряд в OrderChaged

State = Done, Status= DOne, Balance = 10
State = Done, Status= DOne, Balance = 5

Спасибо:

Tauler

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


Ну и аналогично

State = Active, Status= Done, Balance = 10
State = Done, Status= NotValidated, Balance = 7
State = Done, Status= NotValidated, Balance = 0

NotValidated изза того (наверное) что в квике заявка еще активна, а на
бирже выполнена и я в это время делаю CancelOrder.

Спасибо:

Mikhail Sukhov

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


Я это пропустил... Так, а какое поведение правильно? Сделки по заявкам
появлялись? Именно с объемами 3 и 7?

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

Tauler

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


Да, сделки шли по очереди. Я то сейчас подбил костыль, чт оесли State
= Done и Status = NotValidated - то СКОРЕЕ всего была попытка снятия
исполненая целиком заявку и перекрываю ее акциями исходяи из того, что
она исполнена целиком. Но - а вдруг? Арбитражер у нас впирается
постоянно изз этих несоответвий. Как мо моем у субъективному мнению -
после записи в OrderChaged со State =Done ничег оне должно приходить.
Умерла так умерла :) Да раньше вроде так и было.

Спасибо:

Tauler

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


То есть для верно работы нужно, чтобы после State = Done баланс не
менялся. Иначе - как понять что по заявке больше баланс не будет
меняться и можно пееркрывать правую часть в арбитраже?

Спасибо:

Mikhail Sukhov

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


Полностью согласен с неправильным поведением. Я как-то упустил этот
момент. Надо топики разделять по багам. А то все сливается в одно и...

Ок, Ваш ворк эраунд понятен. А как фиксите случай из

http://groups.google.ru/group/stocksharp/msg/17e993e167b85eecкогда
статус Done?

Думаю, у Вас обратная ситуация. Когда заявка быстрее изменяется, чем
по ней сделки приходят =) Вот ДДЕ то успешно и рапортует о том, что
все зер гуд, отмачено. А сделки все идут и идут... Можете трейс
повесить на событие NewMyTrades и OrdersChanged. Время появления очень
интересует.

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

Tauler

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


А никак. Арбитражер начинает вопить -
"ёпвашуматьсноваэтотроботокосячит" и перекрывает руками. а так
планирую сделать что то типа отстойника таких заявок, после первого
появления Done/Done туда заявку помещать и еще пару секунд ее
наблюдать на предмет свежих поступлений :) Но может Вы как то проще
пофиксите? ;) Трейс по сделайм ест ьв сосденм файле, еще раз вопремся
- посмотрю оба. а разве ДДЕ в топике заявок не выбрасывают инфу как о
статусе, так и о балансе?Зачем вообще сделки анализировать?

Спасибо:

Tauler

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


А кстати - я же уже замерял эти вещи. Действительно - сделки бывает и
потом приходят.

Спасибо:

Mikhail Sukhov

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


Сделки анализируются для того, чтобы по-быстрее изменять заявку
(баланс и если он равен 0, то и состояние).

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

Tauler

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


Ну вот видите - получается сперва состояние, потом баланс уже.
Чудесный мир паралерелизма :)

Спасибо:

Tauler

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


А еще квиковцы говорят что заявки имеют приоритет над сделками

http://quik.ru/forum/qpile/59478/59478/. правда это про QPILE, но
наверно и под ДДЕ подходит

Спасибо:

Mikhail Sukhov

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


Судя по логу и коду, такое может быть тогда, когда заявка изменила
свое состояние, а баланс еще пока не ноль... Если будете трейсить
NewMyTrades и OrdersChanges, повесьтесь еще на ProcessWellknownData.
чтобы точно смотреть на то, что пришло по ДДЕ.

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

Mikhail Sukhov

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


Прочитал тред... Согласен с Максимом. Потоки - независимые. Так что и
сделка может прийти раньше и заявка. Как фишка ляжет.

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

Tauler

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


Воооот. из-за этого все мои мытарства с тем .что приходит несколко
заявок в OrderChaged со State = Done и балансом разным.

Спасибо:

Иванов Андрей

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


Размер увеличился в два раза.
Наверное, из-за двух солюшенов =)

А ещё 10-й солюшен не открывается даблкликом. Если его немного
отредактировать, то откроется.

c:\>fc d:\StockSharp.sln d:\StockSharp-new.sln
Comparing files D:\StockSharp.sln and D:\STOCKSHARP-NEW.SLN
***** D:\StockSharp.sln
я╗┐Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
***** D:\STOCKSHARP-NEW.SLN
я╗┐
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
*****

Спасибо:

Mikhail Sukhov

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


Увеличиваются скомпилированные примеры. А исходники слабо изменяются в
размере.

Ок, поправлю sln. Я правильно понял, что под 10-ым Вы подразумевали
2010? Потому как в 2010 студии формат sln 11 версии =)

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

Иванов Андрей

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


Думаю, что размер увеличился из-за Enterprise library. Бестолковая
штука, годится только для лабораторных работ.

"10-я студия" это версия студии, просто версия совпала с годом.

http://ru.wikipedia.org/wiki/Visual_Studio

Да и в абауте написано =)

Спасибо:

Mikhail Sukhov

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


EntLib мне помог в нескольких: у него есть высокоуровневая обертка на
Cryptography services. У него есть мега классный ObjectBuilder. И
механизм кэширование. Аналоги?

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

Иванов Андрей

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


Не знаю аналогов =)

Про криптографию не представляю, чего там оборачивать -- мы
подписываем Sha1, шифруем Rijndael. Всё это и так высокоуровнево,
особенно, когда MS переписал Rijndael на .Net без тормозного
оборачивания native-кода.

ObjectBuilder озадачит, когда вернётесь в какой-нибудь код через год.

Про механизм кэширования сильно зависит от задачи. Я ж не знаю, что вы
кэшируете =) В .Net 4.0 естьhttp://msdn.microsoft.com/en-us/library/dd287191.aspx,
этого обычно хватает с головой для памяти, особенно учитывая
ограничения, накладываемые Quik из-за 32 битов. Этот неймспейс я ждал
больше всего в четвёрке.

В целом EL библиотека очень сложная, тяжёлая и тормозная. Прелесть
фреймворка, в частности .Net, в простоте. Ваш код и после обфускации
простой и понятный, а с активным пользованием EL станет
монстроидальным даже с исходниками на руках.
Но попробовать это не мешает, конечно =)

Спасибо:

Mikhail Sukhov

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


Разница есть. Вот например с помощью EntLib (+Ecng.Cryptography)
процесс шифрования выглядит следующим образом (пишу по памяти):

var publicKey = "публичный ключ".ToKey();
var privateKey = "закрытый ключ".ToKey();

var algo = CryptographyAlgorithm.Create(AlgorithmTypes.Asymmetric,
publicKey, privateKey);
algo.Decrupt(algo.Encrypt(data));

Если использовать голый .NET то будет код много больше.

Да, как раз вернулся через 2 года к одному классу. Забыл все сложности
конфига с ObjectBuilder.

На .NET 4 перейти не могу. Причина - не все аналитические программы
переведены на это FW. Если я перейду, то уже будет невозможно писать
адаптеры под те прогаммы на S#.

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

Tauler

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


А будет документация то? а то эвристика со состоянием заявки так и
глючит :)

Спасибо:

Mikhail Sukhov

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


На это неделе будет 2.4. Это отдельная версия со своими изменениями.
Но фиксов - море. Причем некоторые кардинальные. Например, событийная
модель. Вот сейчас все это дело тестирую. Как закончу тест, то в
паблик и новость. Под 2.3 не захотел давать новость, потому что не все
дофиксил.

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


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

loading
clippy