GCを排除します!
人々が使用するもう1つの「トリック」は、トレーディングシステムで、ガベージコレクトを行わないC#コードを作成することです。ガベージコレクションを完全に削除することは明らかに不可能ですが、プログラムの実行後にGCを最小化または排除することができます。アプリのセットアップ、コンポーネントの初期化などのすべての作業を初期化フェーズで行い、ここですべてのGCを許可します。ただし、セットアップして実行する準備ができたら、コードがガベージを生成せず、ボックス化/アンボックス化を実行しないことを確認します。(「GCを避ける」のようにSOで検索すると、いくつかの有用な情報が見つかります)。
「取引システム」という用語は、無数の異なるものを包含することができます。.NETでアルゴを書くことについて話しているのですか?または、あなたのアルゴリズムは他の何かで書かれていて、それをホストしている.NETフレームワークがありますか?UIについて話しているだけですか?あなたの取引システムは分散していますか?あなたはあなたのプログラムがどれくらい速くなければならないか知っていますか?高周波モデルを取引していない場合、「十分に速い」とは何ですか?トレーディング戦略で必要のない場合は、1〜2ミリ秒のスケールで動作する必要があるものをプッシュするだけではいけません。
そして重要なのは、実績のある信頼できるOOの原則を捨てないことです。場合によってはルールを曲げることができますが、SOLIDは引き続きトレーディングシステムに適用されます。パフォーマンスが必要なものを特定し、それを最適化することを確認してください。すべてを最適化する必要があるとは思わないでください。すべてをベンチマークして測定し、何をどれだけ高速化する必要があるかを把握してください。
そしてそれをシンプルにしてください!取引システムは複雑である必要はありません。