Стоп сработал сразу после входа

Стоп сработал сразу после входа
Atom
07.03.2013
MenDel


Здраствуйте, ситуация такая, неделю все было нормально, а сегодня стоп вдруг сам стал срабатывать сразу же после входа.
Не могу понять что случилось
Помогите разобраться с логами



Теги:


Спасибо:


< 1 2 3  >
VassilSanych

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


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

MenDel

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


VassilSanych
Возможно глюки коннектора, и надо просто нулевые значения отфильтровывать.


Может быть, но мне это на данном этапе не под силу.
Дальше своего кода, я ничего изменить не могу.
Спасибо:

VassilSanych

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


MenDel
VassilSanych
Может надо лочить?


Если б я знал где его вставить.
И кстати если lock не будет справляться с потоком сделок, то стратегия начнет запаздывать.
Тут надо если он пропустил сделку, то считай он её пропустил, а не ставил в очередь.

Если состояние хранится в полях общего экземпляра класса, то лочить надо обязательно.
Либо переписывать на полный stateless (но при обращении к API лочить всё-равно придётся, ибо он не тредсэйф ни разу)
Спасибо:

VassilSanych

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


MenDel
VassilSanych
Возможно глюки коннектора, и надо просто нулевые значения отфильтровывать.


Может быть, но мне это на данном этапе не под силу.
Дальше своего кода, я ничего изменить не могу.

У себя и отфильтровывать. По принципу: вот это берём, а вот это лажа какая-то - игнорируем.

Спасибо:

MenDel

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


VassilSanych

Если состояние хранится в полях общего экземпляра класса, то лочить надо обязательно.
Либо переписывать на полный stateless (но при обращении к API лочить всё-равно придётся, ибо он не тредсэйф ни разу)


А куда лок вставить?
Тут надо чтоб весь класс в локе был.
Спасибо:

VassilSanych

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


MenDel

А куда лок вставить?
Тут надо чтоб весь класс в локе был.

При чём тут класс? Лочатся действия. В вашем случае, наверное, тело NeedQuoting.
Хотя, не вижу откуда там нулю взяться, но для порядку работы с LastPrice не помешает.

Спасибо: MenDel

VassilSanych

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


MenDel
Тут надо если он пропустил сделку, то считай он её пропустил, а не ставил в очередь.

Ну это просто:
- оборачиваем действие в Action
- кладём в очередь ConcurrentQueue
- дальше с локом: Dequeue её в цикле до конца и последнее действие выполняем
Спасибо:

MenDel

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


VassilSanych
MenDel
Тут надо если он пропустил сделку, то считай он её пропустил, а не ставил в очередь.

Ну это просто. Я тут даже пример приводил:
- складываем действия в очередь ConcurrentQueue
- другим потоком её Dequeue в цикле до конца и последнее действие, так и быть, выполняем



Ни туя не понял)

Что такое ConcurrentQueue?
Спасибо:

VassilSanych

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


MenDel
Что такое ConcurrentQueue?

Новый класс такой в .net. Потокобезопасная очередь. в MSDN описан

Спасибо: MenDel

VassilSanych

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


А можно и без очереди - просто класть Action в поле до лока, а в локе: выбирать из поля, если не нулевое - выполнять, и обнулять поле.
Это если порядок не важен. Потому что выполняться будет в таком случае только первое действие, а те, которые ждали, - отбрасываться.
С очередью выполняется первое и последнее.
Спасибо:
< 1 2 3  >

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

loading
clippy