参考王恺明老师以前的视频写选股代码,发生这个问题,用的是源代码:
Params
//此处添加参数
Numeric millsecs(1000);
Vars
//此处添加变量
Global Integer timerId;
map<string,string> my_ins;
series<numeric> h4w;
global string tem_ins;
dialog my_dia(\"选股\");
global array<string>p1([]);
array<string>p2;
//Array<String>p3=[\"TB_INDUSTRY,F1010010001\"];
Events
//初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作
OnInit()
{
timerId=createTimer(millsecs);
Array<String>p3=[\"TB_INDUSTRY,F1010010001\"];
my_dia.addItem(\"板块\",\"industryids\",p3);
if(my_dia.show()){
//my_dia.getdata(\"板块\",p1);
}
array<string> t_string;
GetDicValue(p1[0],p1[1],20231201,t_string);
numeric i;
for i=0 to GetArraySize(t_string)-1 {
SubscribeBar(t_string[i],\"3h\",20231201);
}
}
OnBar(ArrayRef<Integer> indexs)
{
range[0:datacount-1]{
h4w=Highest(h[1],20);
if(h>h4w && BarStatus==2){
tem_ins=tem_ins+symbol+\",\";
}
}
if(barstatus==2){
my_ins[\"合约集合\"]=tem_ins;
my_ins[\"板块名称\"]=\"自定义_简单选股\";
my_ins[\"添加方式\"]=\"override\";
PublishEvent(\"系统-系统选股事件\",my_ins,\"行情报价\");
}
}