RealTimeEmulationTrader
Atom Reply
2/11/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.'.



Thanks:




42 Answers
< 1 2 
Prival

Avatar
Training
Date: 4/11/2017
Reply


Support Перейти
Сделайте следующую проверку с последней версией: посмотрите добавляются ли сделки в коллекцию strategy.MyTrades


так я написал, что сделал проверку с новой версия. 4.3.23
Все ошибки сохранились.
Про политику работы над ошибками прочитал, это право компании, как хочет так и работает.
Меня другое интересует, такое ощущение что никто даже не посмотрел код, не проверил.

Скажите эти ошибки (что описаны выше) у вас воспроизводятся или нет ? Это действительно баг или незнание мной библиотеки ?
Ведь от этого ответа зависят мои действия (и ваши тоже)...
Topic starter
Thanks:

Support

Avatar
Date: 4/11/2017
Reply


Воспроизводится 1 и 2 ошибки - это баг.
Так в strategy.MyTrades сделки есть или нет?
Thanks:

Prival

Avatar
Training
Date: 4/11/2017
Reply


Если правильно понимаю вопрос то сделки приходят.

Код

......
Connector.NewMyTrades += Connector_NewMyTrades;
base.OnStarted();
}

private void Connector_NewMyTrades(IEnumerable<MyTrade> trades)
{
foreach (var trade in trades)
{
this.AddInfoLog(@"{0} Прошла сделка №{5} {4} по цене {1}, объём {2}, направление {3}.",
TimeHelper.Now.TimeOfDay, trade.Trade.Price, trade.Trade.Volume, trade.Order.Direction,
trade.Trade.Security.Code, trade.Trade.Id);
}
}


Лог показывает что сюда сделки приходят
2017/04/11 21:24:54.378| |S_RIM7@FORTS_Симулятор|21:24:54.4203760 Прошла сделка №1 RIM7 по цене 108902, объём 1, направление Buy.
Topic starter
Thanks:

Support

Avatar
Date: 4/12/2017
Reply


Не правильно... В коллекцию strategy.MyTrades записываются сделки, совершенные стратегией, а средняя цена считается на базе этой коллекции..
Thanks:

Prival

Avatar
Training
Date: 9/16/2017
Reply


Support Перейти
Воспроизводится 1 и 2 ошибки - это баг.
Так в strategy.MyTrades сделки есть или нет?


Скажите описанные баги в этой ветке уже поправлены ?
Topic starter
Thanks:

Support

Avatar
Date: 9/18/2017
Reply


Prival Перейти
Support Перейти
Воспроизводится 1 и 2 ошибки - это баг.
Так в strategy.MyTrades сделки есть или нет?


Скажите описанные баги в этой ветке уже поправлены ?


Спасибо за вашу информацию. Проверьте, пожалуйста, на последних версиях.
Thanks:

Prival

Avatar
Training
Date: 9/20/2017
Reply


А вы что не знаете ? Исправили вы это или нет ? Баг был показан в апреле месяце, сейчас конец сентября ... пол года жду.
Topic starter
Thanks:

Prival

Avatar
Training
Date: 1/24/2018
Reply


Проверил на версии 4.4.4 - ошибка не исправлена.
на 800-м перевороте снова недостаточно денег на счете.
23:31:03.100| |SecurityMarketEmulator|Заявка 84322794 зарегистрирована.
23:31:03.100| |SecurityMarketEmulator|Заявка 84322794. Исполнение объема 2 по цене 130030.
23:31:03.100| |SecurityMarketEmulator|Заявка 84322794 полностью исполнена.
23:31:03.100| |SecurityMarketEmulator|Сделка 798 заявки 84322794 P=130030 V=2.
23:31:03.082| |RealTimeEmulationTrader`1|Order changed: 84322794/810 RIH8@FORTS Симулятор Продажа Цена=0 Объем=2 Сост=Done Бал=0
23:31:03.082| |RealTimeEmulationTrader`1|RegisterOrder: 0/ RIH8@FORTS Симулятор Покупка Цена=0 Объем=2 Сост=None Бал=0
23:31:03.082| |RealTimeEmulationTrader`1|New order: 84322795/ RIH8@FORTS Симулятор Покупка Цена=0 Объем=2 Сост=Pending Бал=2
23:31:03.101| |SecurityMarketEmulator|Заявка 84322795 зарегистрирована.
23:31:03.101| |SecurityMarketEmulator|Заявка 84322795. Исполнение объема 1 по цене 130040.
23:31:03.101| |SecurityMarketEmulator|Заявка 84322795 отменяется, так как является рыночной с неисполненным объемом 1.
23:31:03.101| |SecurityMarketEmulator|Сделка 799 заявки 84322795 P=130040 V=1.
23:31:03.082| |RealTimeEmulationTrader`1|Order changed: 84322795/811 RIH8@FORTS Симулятор Покупка Цена=0 Объем=2 Сост=Done Бал=1
23:31:03.082| |RealTimeEmulationTrader`1|RegisterOrder: 0/ RIH8@FORTS Симулятор Покупка Цена=0 Объем=1 Сост=None Бал=0
23:31:03.082| |RealTimeEmulationTrader`1|New order: 84322796/ RIH8@FORTS Симулятор Покупка Цена=0 Объем=1 Сост=Pending Бал=1
23:31:03.102| |SecurityMarketEmulator|Заявка 84322796 не зарегистрирована. Причина 'На счету Симулятор недостаточно денег для регистрации заявки 84322796. Необходимо 1016816.43, имеется 985580, заблокировано 1002079.96.'.
23:31:03.082|Error |RealTimeEmulationTrader`1|OrderRegisterFailed
84322796/ RIH8@FORTS Симулятор Покупка Цена=0 Объем=1 Сост=Failed Бал=1
System.InvalidOperationException: На счету Симулятор недостаточно денег для регистрации заявки 84322796. Необходимо 1016816.43, имеется 985580, заблокировано 1002079.96.

Скоро будет год как жду исправления...
Topic starter
Thanks:

Prival

Avatar
Training
Date: 3/7/2018
Reply


Support Перейти
Сделайте следующую проверку с последней версией: посмотрите добавляются ли сделки в коллекцию strategy.MyTrades


Проверил. Одну ошибку так и не поправили.
Версия 4.4.5.3
order
.WhenMatched(Connector)
.Do(() =>
{
this.AddInfoLog(@"{0} Заявка {2} {3} полностью исполнена Volume={4}. Позиция {1} Price={5} TH={6}",
TimeHelper.Now.TimeOfDay, Position, order.Direction, order.Security.Code, order.Volume,
order.Price, TraderHelper.GetAveragePrice(order, Connector));
}

в лог выводиться
20:31:30.086| |S_RIH8@FORTS_Симулятор|20:31:30.1103235 Заявка Buy RIH8 полностью исполнена Volume=1. Позиция 1 Price=0 TH=0

Может я что то не так делаю (не понимаю). Мне нужно получить цену по которой прошла сделка. Как её получить ?
Topic starter
Thanks:

Константин

Avatar
Donator
Date: 3/7/2018
Reply


Цитата:
Может я что то не так делаю (не понимаю). Мне нужно получить цену по которой прошла сделка. Как её получить ?

Вам наверное нужно подписаться на сделки по ордеру чтоб узнать их цену
Код
order.WhenNewTrade

На сколько я понимаю Price = 0 может быть у ордера который исполнен по рынку.
Thanks:

Prival

Avatar
Training
Date: 3/7/2018
Reply


Ордер большой объем, и нужно получить среднюю цену когда он весь исполниться.
order.WhenNewTrade
пробовал, там да, цена приходит
this.AddInfoLog(@"WhenNewTrade Цена заявки ={0}, Цена сделки={0} ", trade.Order.Price, trade.Trade.Price);

а вот как её получить в order.WhenMatched
никак не пойму.
TraderHelper.GetAveragePrice(order, Connector) то что нужно, но он возвращает ноль (((
Topic starter
Thanks:

Константин

Avatar
Donator
Date: 3/7/2018
Reply


А если так:
Код
order.WhenNewTrade(Connector).Do((trade) =>
{

if (trade.Order.State == OrderStates.Done)
{
//Заявка исполнена полностью
var averagePrice = order.GetAveragePrice(Connector);
}
else
{
//Заявка исполнена не полностью
return;
}

})
.Apply(this);
Thanks:

Prival

Avatar
Training
Date: 3/15/2018
Reply


Support Перейти
Prival Перейти
Support Перейти
Воспроизводится 1 и 2 ошибки - это баг.
Так в strategy.MyTrades сделки есть или нет?


Скажите описанные баги в этой ветке уже поправлены ?


Спасибо за вашу информацию. Проверьте, пожалуйста, на последних версиях.

1 ошибка все таки осталась или я неправильно понимаю PnL
Вот лог
07:41:13.611| |S_RIM8@FORTS_Симулятор|Стратегия Запущена. [0,-1]. Позиция 0.
07:41:13.611| |S_RIM8@FORTS_Симулятор|07:41:14.6011093 Strategy OnStarted: S_RIM8@FORTS_Симулятор BeginValue=1000000 CurrentValue=1000000 Position=0
10:07:32.771| |S_RIM8@FORTS_Симулятор|=> ENTER SHORT.
10:07:32.771| |S_RIM8@FORTS_Симулятор|Регистрация новой Market (0x2B3FFA1) заявки на Sell с ценой 0 и объемом 1.
10:07:32.823| |S_RIM8@FORTS_Симулятор|Новая позиция: (S#:RIM8@FORTS, Native:,Type:Future, Симулятор)=-1.
10:07:32.823| |S_RIM8@FORTS_Симулятор|Заявка 27662344 (0x2B3FFA1) больше не активна.
10:07:32.823| |S_RIM8@FORTS_Симулятор|Новая Sell сделка 1 по цене 125890 на 1 заявки 27662344.
10:07:32.823| |S_RIM8@FORTS_Симулятор|*** Заявка исполнена полностью Цена заявки =0, Цена сделки=125890 AveragePrice=125890 TP=125790 SL= 125990 ***
10:07:32.823| |S_RIM8@FORTS_Симулятор|Position = -1 Current P/L = 0
10:23:18.514| |S_RIM8@FORTS_Симулятор|<= EXIT SHORT.
10:23:18.514| |S_RIM8@FORTS_Симулятор|Регистрация новой Market (0x1C5627E) заявки на Buy с ценой 0 и объемом 1.
10:23:18.514| |S_RIM8@FORTS_Симулятор|Новая позиция: (S#:RIM8@FORTS, Native:,Type:Future, Симулятор)=0.
10:23:18.514| |S_RIM8@FORTS_Симулятор|Заявка 27662345 (0x1C5627E) больше не активна.
10:23:18.514| |S_RIM8@FORTS_Симулятор|Новая Buy сделка 2 по цене 125720 на 1 заявки 27662345.
10:23:18.514| |S_RIM8@FORTS_Симулятор|*** Заявка исполнена полностью Цена заявки =0, Цена сделки=125720 AveragePrice=125720 TP=125790 SL= 125990 ***
10:23:18.514| |S_RIM8@FORTS_Симулятор|Position = 0 Current P/L = 194,539840


Не могу понять почему PnL= 194,539840
Это сделка фьючерс RIM8 125890-125720 должно быть.... =170

this.AddInfoLog("Position = {0} Current P/L = {1} ", Position, this.PnLManager.PnL);

Вопрос PnL он в пунктах выводиться или в деньгах ? Если в деньгах, то как его привести к пунктам ?
Заранее спасибо. Версия 4.4.5.3
Topic starter
Thanks:

Prival

Avatar
Training
Date: 4/20/2018
Reply


Support Перейти
Prival Перейти
Support Перейти
Воспроизводится 1 и 2 ошибки - это баг.
Так в strategy.MyTrades сделки есть или нет?


Скажите описанные баги в этой ветке уже поправлены ?


Спасибо за вашу информацию. Проверьте, пожалуйста, на последних версиях.


Проверил. К сожалению режим совсем поломался (((
Quik 7.16.3.14
Версия 4.4.6.1
В режиме RealQuikConnector(); Все работает, все приходит
В режиме EmulationQuikConnector() и EmulationQuikConnector2(); событие ValuesChanged срабатывает, но OpenInterest BidsCount ... не приходят ((

Версия 4.4.5.4
В режиме RealQuikConnector(); Все работает, все приходит
В режиме EmulationQuikConnector() и EmulationQuikConnector2(); событие ValuesChanged срабатывает, но OpenInterest BidsCount ... не приходят ((

Версия 4.4.5.3
Во всех режимах, все приходит.
Получен портфель - Симулятор
SBER@TQBR - зарегестрирован, все ок
RIM8@FORTS - зарегестрирован, все ок
RIM8@FORTS BidsCount=798
RIM8@FORTS OpenInterest=510700


Пожалуйста сделайте режим работоспособным. И курсы покупал и платная тех поддержка, а за эти годы так рабочего варианта и не смог получить (увидеть). Обидно очень ....
Test2.rar (0)
Topic starter
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 4/21/2018
Reply


Prival Перейти
и платная тех поддержка


У вас нет активной подписки на техническую поддержку. По нашей информации она истекла более полу года назад. Наши специалисты не видят ваши сообщения. Приобретите подписку и тогда мы сможем вам помочь - https://stocksharp.ru/support/ Или вы можете найти программиста на S# среди зарегистрированных пользователей и на коммерческой основе помочь вам сделать желаемый результат.
Thanks:

Prival

Avatar
Training
Date: 4/21/2018
Reply


Mikhail Sukhov Перейти
Prival Перейти
и платная тех поддержка


У вас нет активной подписки на техническую поддержку. По нашей информации она истекла более полу года назад. Наши специалисты не видят ваши сообщения. Приобретите подписку и тогда мы сможем вам помочь - https://stocksharp.ru/support/ Или вы можете найти программиста на S# среди зарегистрированных пользователей и на коммерческой основе помочь вам сделать желаемый результат.


Михаил а как быть с тем фактом, что пока она была (платная тех поддержка). Так и не починили. Не смогли исправить все ошибки ?
Мне снова платить и ждать когда заработает ?
Первое сообщение 11.02.2017....сейчас 21.04.2018 Какую вы даете гарантию что починят, если я снова заплачу ?

Михаил пожалуйста посмотрите нашими глазами на тех. поддержку. Я готов заплатить снова, но где гарантия что через год мы снова не вернемся к этому вопросу ? Пока была платная тех. поддержка так и не смогли починить... Мне платить и снова ждать, сколько ждать ?
Я прошел обучение 29.05.2013 и с тех пор режим RealTimeEmulationTrader так ни разу и не увидел полностью работоспособным. Все время вылазят ошибки, баги. Я их нахожу (баги), показываю и еще должен платить за их исправление ?
Михаил нужно уметь держать свое слово. Пожалуйста почините режим. Я за это уже заплатил. Перестаньте вытягивать деньги из ваших клиентов. Михаил 5 лет !!! 5 ЛЕТ ЖДУ...

Topic starter
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 4/21/2018
Reply


Prival Перейти

Мне снова платить и ждать когда заработает ?


Возможно у нас не полная информация, и вы платили с другой учетной записи. Но за техничесную поддержку у вас нет ни одного платежа. Предыдущий раз вам была предоставлена подписка на 1 год в рамках программы лояльности. Это был бонус, а не обязательное условие с нашей стороны.

Так же за разработку или экспресс- устранение багов от вас мы никогда не получали платежи. Вы можете написать на info@stocksharp.com если такие платежи действительно когда-либо существовали.
Thanks:
< 1 2 

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy