Plaza2
Atom
7/21/2010


Говорят РТС перешел на плаза 2, и поменял что т отам в строке
транзакции. И наш старый робот (написаный дано и не н стокшарпе) стал
лажать на тех местах где надо двинуть заявку фортсовую. вы что то об
этом знаете?

Tags:


Thanks:


<< < 5 6 7 8  >
Tauler

Avatar
Date: 7/23/2010
Reply


Да нет же . я потестил
TransactionBuilder.GetInstruction(TransactionBuilder.TransactionId) -
в программе номера генерятся , а в квике их как не было так и нет (на
основном сервере)

Thanks:

Mikhail Sukhov

Avatar
Date: 7/23/2010
Reply


Ок понятно... И такой вопрос. Это только при перемещении заявки? При
регистрации заявки все приходит?

А Вы уже сказали Квику про это? Есть вероятность, что при переходе на
плазу поломали старое.

Thanks:

Tauler

Avatar
Date: 7/23/2010
Reply


Только при перемещении. Квику задавал - но они отфутболили стандартным
- давай журнал транзакций, ответов на транзакции и скрин. а где я им
журнал фозьму -я же не через три и тро файлы работаю

Thanks:

Mikhail Sukhov

Avatar
Date: 7/23/2010
Reply


Дык это, скопировать две строчки транзакции. Проверить, что они
приводят к баге. Отослать им три и тро файлы со скрином.

Thanks:

Tauler

Avatar
Date: 7/23/2010
Reply


Их самому наклепать или можно откуда то перехватить? из события какого
нибудь?

Thanks:

Mikhail Sukhov

Avatar
Date: 7/23/2010
Reply


Вот из этого события можно попробовать вызвать через Reflection
internal method для построения транзакции. Например с помощью
Ecng.Reflection:

var mi = typeof(TransactionBuilder).GetMembers<MethodInfo>().where(m
=> m.ReturnType == typeof(string));
mi.invoke(builder);

Thanks:

artemox

Avatar
Date: 7/23/2010
Reply


Вот пример протокола с ошибкой со стороны брокера и последующим
перезапуском стратегии

14:05:33.437 MS_RIU0 => Transaction: ACCOUNT=SPBFUT00129;
CLIENT_CODE=XXX; TYPE=L; TRANS_ID=55198437; CLASSCODE=SPBFUT;
SECCODE=RIU0; ACTION=NEW_ORDER; OPERATION=B; QUANTITY=1;
PRICE=144960;
14:05:33.640 MS_RIU0 => System.ArgumentException: Транзакции
'ACCOUNT=SPBFUT00129; CLIENT_CODE=XXX; TYPE=L; TRANS_ID=55198437;
CLASSCODE=SPBFUT; SECCODE=RIU0; ACTION=NEW_ORDER; OPERATION=B;
QUANTITY=1; PRICE=144960; не была зарегистрирована. Причина '[FORTS]
Нехватка средств по брокерской фирме.'.
Parameter name: transactionTxt
at . (String , OrderStatus& , UInt32& , Double& , String& )
at Ecng.Trading.Quik.QuikTrader. (Order , TransactionBuilder ,
Boolean , Boolean )
at Ecng.Trading.Quik.QuikTrader.RegisterOrder(Order order)
at Ecng.Trading.Algo.Strategy.RegisterOrder(Order order)
at My1.MyStrategy.OnProcess() in D:\My1\My1Strategy.cs:line 425
at Ecng.Trading.Algo.Strategy. ()
14:05:33.640 MS_RIU0 => MS_RIU0 останавливается.
14:05:34.187 MS_RIU0 => MS_RIU0 остановлена.
14:06:07.296 MS_RIU0 => OnRunning()
14:06:07.296 MS_RIU0 => MS_RIU0 запущена.

Thanks:

Mikhail Sukhov

Avatar
Date: 7/23/2010
Reply


А в чем смысле в перезапуске, если средств недостаточно
(заблокированы)?

Thanks:

artemox

Avatar
Date: 7/23/2010
Reply


Так в том то и дело, что я умышленно её не перезапускаю (Stop()
вызывается только по кнопке)
Не понял это поведение библиотеки, поэтому и спрашиваю :(

Thanks:

Mikhail Sukhov

Avatar
Date: 7/24/2010
Reply


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

Thanks:
<< < 5 6 7 8  >

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

loading
clippy