RealTimeEmulationTrader
Atom
11.02.2017


недостаточно денег для регистрации заявки....
Подскажите что может быть не так
1. Создал трейдера и портфель
Код

var quikMd = new LuaFixMarketDataMessageAdapter(new MillisecondIncrementalIdGenerator())
{
Login = "quik",
Password = "quik".To<SecureString>(),
Address = QuikTrader.DefaultLuaAddress,
TargetCompId = "StockSharpMD",
SenderCompId = "quik",
RequestAllSecurities = true
};

_trader = new RealTimeEmulationTrader<IMessageAdapter>(quikMd);

_portfolio = new Portfolio { Name = "test account", BeginValue = 1000000, CurrentValue = 1000000};

По кнопке запускаю стратегию
Код
class Strategy01:Strategy
{
protected override void OnStarted()
{
this.AddInfoLog("---Start---{0}---{1}---{2}---{3}---{4}---", Connector, Security, Portfolio, Portfolio.BeginValue, Portfolio.CurrentValue);
var order = this.BuyAtMarket();
RegisterOrder(order);
base.OnStarted();

}


В логе ошибка недостаточно средств (((
RealTimeEmulationTrader`1 11.02.2017 18:32:47 Info Создан новый портфель Симулятор.
RealTimeEmulationTrader`1 11.02.2017 18:33:01 Info Инструмент SBER@QJSIM зарегистрирован на получение рыночных данных для MarketDepth.
RealTimeEmulationTrader`1 11.02.2017 18:33:01 Info Инструмент SBER@QJSIM зарегистрирован на получение рыночных данных для Level1.
RealTimeEmulationTrader`1 11.02.2017 18:33:01 Info Инструмент SBER@QJSIM зарегистрирован на получение рыночных данных для Trades.
RealTimeEmulationTrader`1 11.02.2017 18:33:01 Info RegisterOrder: 0/ Покупка Цена=0 Объем=1 Сост=None Бал=0
RealTimeEmulationTrader`1 11.02.2017 18:33:01 Info New order: 66767638/ Покупка Цена=0 Объем=1 Сост=Pending Бал=1
S_SBER@QJSIM_test account 11.02.2017 18:33:01 Info Стратегия Запущена. [0,-1]. Позиция 0.
S_SBER@QJSIM_test account 11.02.2017 18:33:01 Info ---Start---RealTimeEmulationTrader`1---SBER@QJSIM---test account---1000000---1000000---
S_SBER@QJSIM_test account 11.02.2017 18:33:01 Info Регистрация новой Market (0x65FB2A) заявки на Buy с ценой 0 и объемом 1.
SecurityMarketEmulator 11.02.2017 18:33:01 Info Заявка 66767638 не зарегистрирована. Причина 'На счету test account недостаточно денег для регистрации заявки 66767638. Необходимо 131.92, имеется 0, заблокировано 0.00.'.



Спасибо:


1 2 3  > >>
Support

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


Проверим..
Спасибо:

Support

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


Вот так попробуйте.
_portfolio = new Portfolio { Name = "test", BeginValue = 1000000 };
_connector = new RealTimeEmulationTrader<IMessageAdapter>(quikMd, _portfolio);
Спасибо:

Prival

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


Спасибо помогло. Но не до конца. Заявка отправляется, но не появляется позиций. Все время висит статус -> Регистрация
https://yadi.sk/i/njAg6-vh3EAwKs
Пробовал смотреть примеры, но к сожалению из примера SampleRealTimeEmulation убран вариант подключения к квику.
Может у когото есть простой пример где все работает ? Типа нажали кнопу....появилась позиция по фьючерсу. Заранее Спасибо.
Спасибо:

Support

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


Скорее всего это баг.
Спасибо:

Prival

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


Написал на githabe. Приложил полный код. https://github.com/Stock...p/StockSharp/issues/291
Прикладываю его сюда. Мне кажется это я что то не так делаю, т.к. учусь (разбираюсь с библиотекой). Буду исренне удивлен если это действительно баг, т.к. мне кажется эта функция должна быть очень востребована, А пишу про неё только я.
Если не трудно подтвердите что у Вас тоже позиция равна 0.
Заранее благодарю
TestBag.rar 13 MB (234)
Спасибо:

Support

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


На ГИте Михаил писав Вам, чтобы проверили на последней версии... Проверяли?
Спасибо:

Support

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


protected override void OnStarted()
{
Console.WriteLine(@"---Start---{0}---{1}---{2}---{3}---{4}---{5}", Connector, Security, Portfolio, Portfolio.BeginValue, Portfolio.CurrentValue, Position);
base.OnStarted();
var order = this.BuyAtLimit((decimal)117400);
RegisterOrder(order);
}
В данному контексте base.OnStarted() нужно на первое место поставить..
Спасибо:

Prival

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


1. base.OnStarted() переставил на первое место. - не помогло
2. Скачал 4.3.21 перестал находится _ri
3. Собрал проект по новой, с нуля. событие _trader.NewSecurities += - не срабатывает, инструменты не приходят. Хотя раньше приходили.






TestBag01.rar 13 MB (211)
Спасибо:

Support

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


1. base.OnStarted() - и не должно было помочь... Просто base.OnStarted() должен быть вызван раньше, чем начнет выполняться основная логика стратегии..
2. В Квике скрипт Lua из сборки 4.3.21 подключаете?
Спасибо:

Prival

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


1. Скрипт lua из сборки 4.3.21 но инструменты не приходят (((
2. Скажите у вас TestBag01.rar нормально все работает ? или тоже не приходят инструменты ? Я возможно как то неправильно инициализирую, а как правильно не понимаю, в прошлой сборке инструменты приходили без проблем
Заранее спасибо.
Спасибо:
1 2 3  > >>

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

loading
clippy