Сеттер у QuotingStrategy.Order
Atom Ответить
08.11.2010


Михаил, верните пожалуйста сеттер у QuotingStrategy.Order. У меня котировщик, унаследованный от QuotingStrategy и переопределяющий OnProcess, но использующий вспомогательные методы QuotingStrategy, ему никак без сеттера.

Теги:


Спасибо:




6 Ответов
Mikhail Sukhov

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


Alter
Михаил, верните пожалуйста сеттер у QuotingStrategy.Order. У меня котировщик, унаследованный от QuotingStrategy и переопределяющий OnProcess, но использующий вспомогательные методы QuotingStrategy, ему никак без сеттера.


Сеттер убрал потому есть два пути. Или напрямую передавать конструктор, или переопределять QuotingStrategy.CreateOrder.
Спасибо:

Alter

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


Что-то я не понимаю. Вот у меня в OnProcess вызывается ReRegisterOrder, он возвращает некий newOrder, который потом в случае ошибки пересоздается через CreateOrder и в итоге присваивается свойству Order для следующего цикла котирования. Что мне даст переопределение CreateOrder?
Автор топика
Спасибо:

Mikhail Sukhov

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


Alter
Что-то я не понимаю. Вот у меня в OnProcess вызывается ReRegisterOrder, он возвращает некий newOrder, который потом в случае ошибки пересоздается через CreateOrder и в итоге присваивается свойству Order для следующего цикла котирования. Что мне даст переопределение CreateOrder?


Приведите код (хотя бы схематично). Я не все понял.
Спасибо:

Alter

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


В OnProcess что-то типа
Код

if (newOrder != null)
{
    Order = newOrder;
}
else if (...)
{
    newOrder = CreateOrder(Order.Direction, Order.Price, GetNewVolume());
}

...

if (CanReRegister(GetNewPrice()))
{
    newOrder = ReRegisterOrder(Order, GetNewPrice, GetNewVolume, IsForts);
    ...
}
Автор топика
Спасибо:

Alter

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


Я просто не понимаю, зачем скрывать от наследников сеттер. Пусть он будет protected, но будет.
Автор топика
Спасибо:

Mikhail Sukhov

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


Alter
Я просто не понимаю, зачем скрывать от наследников сеттер. Пусть он будет protected, но будет.


Я предложил переопределить QuotingStrategy.CreateOrder, а не Strategy.Order.

Скрывать, чтобы было меньше путей для ошибок. Вот например то, что Вы привели, выглядит на первый взгляд как ошибка. Вы сами переставляете заявку, хотя это нужно чтобы делало котирование, раз уж от него наследуетесь. Попробуйте обойтись базовой логикой. Я подозреваю что переопределение QuotingStrategy.CreateOrder будет как раз в этом случае удобнее, чем установка через сеттер.
Спасибо:


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

loading
clippy