Bond
|
Date: 2/18/2014
vsnoopy83 Ну я так понял от разработчиков ждать пояснений бесполезно, придется видимо что то придумывать, не понимаю чего, но потратить столько времени на изучение сток шарпа и в итоге понять, что он работает не стабильно, печально. Самое противное, что я бы уже на реале запустил давно. Ну, может все не так плохо) Нужно просто разобраться как свериться с таблицей Квика. В трейдинге все глючит - компы, инет, роботы, терминалы, биржа. Без этого никак.
|
|
Thanks:
|
|
|
|
|
vsnoopy83
|
Date: 2/18/2014
Да, но не когда это просто техническая связка, у меня работает рукописный робот уже несколько месяцев, ни одной ошибки, человек хрен знает когда писал, без всяких сток шарпов, а я не могу функционал повторить элементарный, как то это не правильно. к сток шарпу идешь за скоростью, а она глючить начинает. Причем у людей на форуме были такие проблемы еще в 12 году, так никто и не помог тогда)
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 2/18/2014
vsnoopy83 Да, но не когда это просто техническая связка, у меня работает рукописный робот уже несколько месяцев, ни одной ошибки, человек хрен знает когда писал, без всяких сток шарпов, а я не могу функционал повторить элементарный, как то это не правильно. к сток шарпу идешь за скоростью, а она глючить начинает. Причем у людей на форуме были такие проблемы еще в 12 году, так никто и не помог тогда) А о чем речь идет?
|
|
Thanks:
|
|
|
|
|
vsnoopy83
|
Date: 2/18/2014
Михаил Сухов vsnoopy83 Да, но не когда это просто техническая связка, у меня работает рукописный робот уже несколько месяцев, ни одной ошибки, человек хрен знает когда писал, без всяких сток шарпов, а я не могу функционал повторить элементарный, как то это не правильно. к сток шарпу идешь за скоростью, а она глючить начинает. Причем у людей на форуме были такие проблемы еще в 12 году, так никто и не помог тогда) А о чем речь идет? Речь о технической проблеме, описанной в первом сообщении, при перерегистрации ордеров время от времени не приходит статус заявки, хотя она выставлена в терминал и активна. В библиотеке статус None
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 2/18/2014
vsnoopy83 Речь о технической проблеме, описанной в первом сообщении, при перерегистрации ордеров время от времени не приходит статус заявки, хотя она выставлена в терминал и активна. В библиотеке статус None
Не нашел в сообщении упоминания, как воспроизвести проблему?
|
|
Thanks:
|
|
|
|
|
Bond
|
Date: 2/18/2014
vsnoopy83 Bond Любят они и тики отключать и сделки. Типа нам это не нужно) Вам нужно отлавливать момент, когда происходит изменение. В дополнение поставьте таймер. Если в течении минуты статус не изменился снимайти заявку и выставляйте по-новому. Лучше перестраховаться. Биржа тоже порой косячит не по-детски. Так хорошо, но как её снять то))) если S# её не видит)) а по факту в терминале она стоит уже давно) Слушай, да тут делов на две строчки в коде [biggrin] Если заявка долго не переходит в состояние Активная, делай вот такую штуку: Code
foreach (var order in Trader.Orders)
{
if (order.State == OrderStates.Active) Trader.CancelOrder(order);
}
И торгуй себе дальше)
|
|
Thanks:
|
|
|
|
|
vsnoopy83
|
Date: 2/18/2014
Bond vsnoopy83 Bond Любят они и тики отключать и сделки. Типа нам это не нужно) Вам нужно отлавливать момент, когда происходит изменение. В дополнение поставьте таймер. Если в течении минуты статус не изменился снимайти заявку и выставляйте по-новому. Лучше перестраховаться. Биржа тоже порой косячит не по-детски. Так хорошо, но как её снять то))) если S# её не видит)) а по факту в терминале она стоит уже давно) Слушай, да тут делов на две строчки в коде [biggrin] Если заявка долго не переходит в состояние Активная, делай вот такую штуку: Code
foreach (var order in Trader.Orders)
{
if (order.State == OrderStates.Active) Trader.CancelOrder(order);
}
И торгуй себе дальше) я же говорю, CancelOrder не пройдет, нельзя снять ордер, если система считает, что его нет.
|
|
Thanks:
|
|
|
|
|
vsnoopy83
|
Date: 2/18/2014
|
|
|
|
Михаил Сухов vsnoopy83 Речь о технической проблеме, описанной в первом сообщении, при перерегистрации ордеров время от времени не приходит статус заявки, хотя она выставлена в терминал и активна. В библиотеке статус None
Не нашел в сообщении упоминания, как воспроизвести проблему? Воспроизвести можно следующим образом: на обновление стакана вешаем функцию: private Order _LimitOrderLong; private void Algoritm() { lock (_locker) { //выставляем заявки if (_LimitOrderLong == null && PriceInWS >= _WorkSecurity.MinPrice && PriceInWS <= _WorkSecurity.MaxPrice)//если нет ордера выставляем { var NewLimitOrderLong = new Order() { Direction = OrderDirections.Buy, Price = PriceInWS, Volume = DeltaWS, Security = _WorkSecurity, }; _LimitOrderLong = NewLimitOrderLong; _Strategy.RegisterOrder(NewLimitOrderLong); } else if (_LimitOrderLong != null && PriceInWS >= _WorkSecurity.MinPrice && PriceInWS <= _WorkSecurity.MaxPrice)// двигаем ордер if ((_LimitOrderLong.State == StockSharp.Messages.OrderStates.Active) && _LimitOrderLong.Price != PriceInWS) // заменяем ордер { //Заменяем ордер var NewReRegOrder = _LimitOrderLong.Clone(); NewReRegOrder.Price = PriceInWS; NewReRegOrder.Volume = 0;//_LimitOrderLong.Balance > DeltaWS ? DeltaWS : _LimitOrderLong.Balance; _Strategy.ReRegisterOrder(_LimitOrderLong, NewReRegOrder); _LimitOrderLong = NewReRegOrder; }; } } PriceInWS берется небольшое отклонение от текущих цен, смысл в том, чтобы заставить часто перевыставлять ордера с изменением цен, у меня на 100 - 400 перевыставлений по некоторым ордерам не приходит статус active, но в квике ордера активны. Для моей стратегии это очень важно, прошу помочь в решении, на форуме видел старые сообщения про такую же проблему, решения там не было. вот тема http://stocksharp.com/fo...-vyzyvaiutsia-sobytiia/ 4 сообщение о том же. Михаил, можно ли с Вами как то связаться помимо форума?
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 2/19/2014
Навскидку косяк - перерегистрация может случится в момент, когда предыдущая еще не зарегистрирована биржей.
|
|
Thanks:
|
|
|
|
|
Bond
|
Date: 2/19/2014
vsnoopy83 Bond vsnoopy83 Bond Любят они и тики отключать и сделки. Типа нам это не нужно) Вам нужно отлавливать момент, когда происходит изменение. В дополнение поставьте таймер. Если в течении минуты статус не изменился снимайти заявку и выставляйте по-новому. Лучше перестраховаться. Биржа тоже порой косячит не по-детски. Так хорошо, но как её снять то))) если S# её не видит)) а по факту в терминале она стоит уже давно) Слушай, да тут делов на две строчки в коде [biggrin] Если заявка долго не переходит в состояние Активная, делай вот такую штуку: Code
foreach (var order in Trader.Orders)
{
if (order.State == OrderStates.Active) Trader.CancelOrder(order);
}
И торгуй себе дальше) я же говорю, CancelOrder не пройдет, нельзя снять ордер, если система считает, что его нет. Trader.Orders - это массив сделок из Квика, а не СтокШарпа. Проверял, все там четко работает. Специально для тебя потратил время. Но, я думаю, ты сам в следующий раз разберешься.
|
|
Thanks:
|
|
|
|