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<MethodInfo>().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