【发布时间】:2016-11-04 05:33:39
【问题描述】:
我们正在开发 C# 算法交易软件。我们监控市场价格,然后根据特定条件购买股票。
可以从 GUI (WPF) 获取用户输入并发送到后端进行监控。
后端连续接收来自证券交易所的数据并检查用户输入的价格是否满足某些限制和条件。如果一切都满意,那么我们将买入/卖出股票(在期货 FUT 中)。
现在,我想设计我的后端服务。
- 我需要任务并行库或自定义线程池,以便在应用程序启动时创建我的任务/线程/池(可能是增量的或固定的,例如 5000)。
- 所有将处于等待状态。
- 一旦用户创建算法,我们将从池中激活一个线程并监控每个传入字符串的价格。如果匹配,则买入/卖出,然后再次进入等待状态。 (我不想创建和销毁线程/任务,因为它很耗时)。
那么请你们在这方面帮助我吗?如果上面的方法好还是我们有其他方法?
我对这个想法感到震惊,无法跳出框框思考这个问题。
【问题讨论】:
-
你能用C# 5.0
async-await吗? -
是的。我对此没有限制。但是我需要创建一个任务池对吗?
标签: multithreading c#-4.0 task-parallel-library tpl-dataflow algorithmic-trading