Отправка новой свечи из коллекции после события(й)

Отправка новой свечи из коллекции после события(й)
Atom
14.06.2017
gewinn


В этом вопросе (http://stocksharp.ru/forum/8263/poluchenie-svechnyh-dannyh-iz-soobshshenii/) был получен ответ, как работать со свечками из своей базы данных. Теперь возникла ситуация, при которой в конце дня подается заявка на сделку и до ее исполнения (прихода всех сделок) наступает новый день. Есть ли возможность "запрашивать" новую свечу, после исполнения всех сделок по заявкам прошедшего дня? (считаем, что у нас супер-ликвидный рынок).

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


...
while (reader.Read())
            {
                candles_sourse.Add(new TimeFrameCandle()
                {
                    Security = security,
                    TimeFrame = TimeSpan.FromMinutes(period),
                    OpenTime = new DateTimeOffset((DateTime)reader["open_datetime"], ST.timezone_timespan_hours),
                    OpenPrice = (decimal)(double)reader["o"],
                    HighPrice = (decimal)(double)reader["h"],
                    LowPrice = (decimal)(double)reader["l"],
                    ClosePrice = (decimal)(double)reader["c"],
                    TotalVolume = (decimal)(double)reader["v"],
                   [b] State = CandleStates.Active[/b]
                });
            }
...

А после, когда ордер полностью исполнен, следующую свечу в коллекции помечать как сформированную, т.е.:


...
State = CandleStates.Finished
...

Но в этой ситуации эмуляция просто зависает.

Пробовал также вызывать у коннектора метод Suspend(), но в этом случае и заявки перестают обрабатываться - из этого состояния коннектор уже не выйдет.

Т.е. еще раз, чтобы хотелось:

  1. Закончился день
  2. Если есть заявки - обработали их через события (.WhenNewTrades(...)), новый день не начинается, пока все не обработаны.
  3. Получили всех сделки, считая, что рынок крайне ликвиден и в конце дня успеет пройти любой объем
  4. "Разрешили" начаться следующему дню (как?)



Спасибо:


Support

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


А почему новый день начинается, если не все сделки пришли? Проверьте события WhenNewTrades и событие обработки свечи в одном потоке приходят или в разных...

Спасибо: gewinn

gewinn

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


Да, удалось решить вопрос, дело было в потоках. Спасибо.

Спасибо:

Support

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


..

Спасибо:


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

loading
clippy