Plaza2
Atom
7/21/2010
Tauler


Говорят РТС перешел на плаза 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().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