← Zurück

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

В этом вопросе (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. Если есть заявки - обработали их через события (<order>.WhenNewTrades(...)), новый день не начинается, пока все не обработаны.
  3. Получили всех сделки, считая, что рынок крайне ликвиден и в конце дня успеет пройти любой объем
  4. "Разрешили" начаться следующему дню (как?)

War dieses Thema hilfreich?

Thema teilen

Kommentare (3)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Support
Support

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

gewinn
gewinn
gewinn Autor

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

Support
Support

..