0

株価情報を扱うプログラムを書きました - 市場データを受け取り、それを変換し、リッチテキストボックスに表示します。

リッチテキスト ボックスにデータを書き込むメソッドが非常に遅いのはなぜですか?

このコードは何も計算せず、プロパティ値を表示するだけです。

このメソッドは 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());
                }

            }
        }

    });

}
4

0 に答える 0