搭建的难点感觉一个是选股指标的构建,另外一个就是和数据源的耦合关联,怎么去调用要梳理清楚不能混乱,而且还要兼容回测的功能。 选股模块核心代码如下(以选股器第三个指标为例,选股器都是多段这种代码的叠加):
Sub H3() '收盘价涨幅大于X%的天数超过Y
'On Error Resume Next
RowNumber = i + 6
'If IsNumeric(ThisWorkbook.Worksheets("涨跌幅%").Cells(RowNumber, p).Value) = False Then FilterYes = False
If FilterYes = False Then Exit Sub '这个代表有其余的筛选条件已经不满足了,那么检测当前的是否满足就没有意义了,直接退出
FilterYes = False
VariableX = ThisWorkbook.Worksheets("选股器").Range("D3").Value
VariableY = ThisWorkbook.Worksheets("选股器").Range("E3").Value
Dim DaysCount As Integer
DaysCount = 0
ColumnEnd = 3 + ThisWorkbook.Worksheets("选股器").Range("B1").Value
With ThisWorkbook.Worksheets("涨跌幅%")
For p = 3 To ColumnEnd
If IsNumeric(ThisWorkbook.Worksheets(&#34;开盘价&#34;).Cells(RowNumber, p).Value) And ThisWorkbook.Worksheets(&#34;开盘价&#34;).Cells(RowNumber, p).Value <> &#34;&#34; Then &#39;这里用开盘价而不是涨跌幅判定,是因为即便当天没有行情,也会有涨跌幅数据,不能用来判断数据有无
If .Cells(RowNumber, p).Value * 100 >= VariableX Then &#39;数据下载的为百分比,所以要乘以100进行换算
DaysCount = DaysCount + 1
End If
Else
End If
Next
End With
If DaysCount >= VariableY Then
FilterYes = True
Else
FilterYes = False
End If
FilterCount = FilterCount + 1
End Sub 如要获取源程序,可以访问(高能预警,恰饭所需,付费下载):https://item.taobao.com/item.htm?ft=t&id=696212678483