我创建了一个程序,该程序生成股票的买卖信号。我还创建了用于测试不同信号并提供每笔交易 yield 的逻辑。
下一步是长时间模拟该策略及其规则。所有信息都将导出到文本文件,并导入到SQL Server数据库中的表中。我意识到我需要声明许多变量,例如StartCapital
,CurrentCapital
,NumberOfPositions
和PositionsLeft
。其中一列名为BuyPrice
,指示何时购买以及以什么价格购买,发生时NumberOfPositions
应减去1。SellPrice
列指示何时出售以及以什么价格出售,发生时NumberOfPositions
需要加一。 NumberOfPositions
的最大值应为5,最小值为0。所需的结果是查看CurrentCapital
的展开方式。
我非常感谢任何输入和某种形式的SQL代码来启动表单。
最佳答案
还有另一种循环方式。我已经看到很多答案会使计数器增加1。但是,根据我的经验,不能保证您的ID在数据集中不会有间隔。
这是我经常使用的解决方案:
declare @idColumn int
select @idColumn = min( TableID ) from Table
while @idColumn is not null
begin
/*
Do all the stuff that you need to do
*/
select @idColumn = min( TableID ) from Table where TableID > @idColumn
end
关于sql遍历表中的每一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28506747/