Plaza2
Atom
21.07.2010
Tauler


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


Теги:


Спасибо:


<< < 5 6 7 8  >
Tauler

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


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

Спасибо:

Mikhail Sukhov

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


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

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

Спасибо:

Tauler

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


Только при перемещении. Квику задавал - но они отфутболили стандартным

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

Mikhail Sukhov

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


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

Спасибо:

Tauler

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


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

Спасибо:

Mikhail Sukhov

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


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

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

Спасибо:

artemox

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


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

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 запущена.

Спасибо:

Mikhail Sukhov

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


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

Спасибо:

artemox

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


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

Спасибо:

Mikhail Sukhov

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


Я понял. Стратегия останавливается и в случае ошибки. Отсюда и вопрос

  • зачем ее перезапускать автоматически, когда ошибка не устранена (денег то на счету нет)?
Спасибо:
<< < 5 6 7 8  >

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

loading
clippy