假定选股条件XG:=CROSS(MA(C,10),(ma(c,20)):
bk:='A股板块';
dm:=stkromblk(bk.k);//dm是股票代码
那么,怎样用程序表述:股票dm符合XG条件。谢谢!
代码里面无需其他操作了。
你用条件选股的时候
指标公式如下:
CROSS(MA(C,10),(ma(c,20))
会默认将这个作为选股条件。
你可以参考

此主题相关图片如下:temp.png

这里指标都是这种写法。
老师:
我还是希望您帮助指导一下:股票符合XG条件 或者 符合XG条件的股票,怎样表述
万分感谢!
如果你监控的包含品种dm ,那么XG的计算就会包含对dm这个品种的判断,计算结果也就是表述了这个股票是否满足条件XG。
你只要拿你的公式去计算你要判断的品种就能进行判断这个股票是否满足你设置的条件。不清楚你到底要的是什么形式的结果? 或者说你是要在任意品种下都可以判断 品种dm是否满足xg条件?
我试图这样写:
XG:=CROSS(MA(C,10),(ma(c,20)):bk:='A股板块';ss:=STKCOUNT( bk);
dm:=stkromblk(bk.k); //dm是股票代码
for k=1 to ss do
begin
dn[k]:=dm;
if xg and dn[k] then
dx[q]:=dn[k];
end
数组DX[Q]就是符合XG条件选出来的股票集合。
指标A:
XG:CROSS(MA(C,10),ma(c,20));
当前运行指标:
ss:=STKCOUNT( '测试');
VARIABLE:result[ss]:='';//定义一个数组,并设置默认值是空字符串,数组长度按照版块品种数算
if ISLASTBAR //出于效率考虑,最后一个K进行计算。否则计算量有点大
then
begin
for k=1 to ss do
begin
dm:=STKFROMBLK('测试',k);
XG:=STKINDI(dm,'A.XG',0,6,0);//指定周期,品种。这里取日线,其他周期可参照函数说明去修改
if xg then begin result[k]:=dm;MSGOUT(1,dm); end //这里加了个输出,方便看到那个品种满足了
end
end

此主题相关图片如下:temp.png

指标A是单独建立的一个指标,用来被引用的。
测试了下,效果还可以。只是最终结果的那个数组不仅仅有保存的品种代码,也有原先默认值的空字符串,因为目前数组定义的时候必须指定长度,无法动态扩充。因此你使用的时候需要注意。亦或者你在循环里面做一个计数器,统计满足条件的品种有多少,这样后面使用哪个数组的时候也方便点。