株価情報を扱うプログラムを書きました - 市場データを受け取り、それを変換し、リッチテキストボックスに表示します。
リッチテキスト ボックスにデータを書き込むメソッドが非常に遅いのはなぜですか?
このコードは何も計算せず、プロパティ値を表示するだけです。
このメソッドは 1 ~ 15 秒で実行されます...
public List <Svecha> spisoksvechek
public RichTextBox LogWind
public RichTextBox LogWind2
public void otrisovatSvechi()
{
// this make an async work for code
this.GuiAsync(() =>
{
// очищаем поля для вывода
LogWind.Document.Blocks.Clear();
LogWind2.Document.Blocks.Clear();
//для каждой свечки в списке свечек
foreach (Svecha sv in spisokSvechek)
{
// если количество сделок в свечке больше 0
if (sv.sdelkiSvechi.Count > 0)
{
// выводим на поле1 начальное время свечи
LogWind.AppendText(System.Environment.NewLine + sv.startCandleTime.ToString());
// выводим на поле2 начальное время свечи
LogWind2.AppendText(System.Environment.NewLine + sv.startCandleTime.ToString());
// выводим на поле1 оборот свечи и дельту свечи
LogWind.AppendText(System.Environment.NewLine + sv.volumeSvechi.ToString() + " x " + sv.deltaSvechi.ToString());
// для каждого кластера в списке кластеров свечи
foreach (var cl in sv.clusteruSvechi)
{
// выводим на поле2 максимальную цену, минимальную цену, оборот и дельту кластера
LogWind2.AppendText(System.Environment.NewLine + cl.minPrice.ToString() + " - " + cl.maxPrice.ToString() + " " + cl.clusterVolume.ToString() + " x " + cl.delta.ToString());
}
}
}
});
}