//------------------------------------------------------------------------
// 简称: TenStockHolder
// 名称: 选股十大股东
// 类别: 策略应用
// 类型: 内建应用
//------------------------------------------------------------------------
Params
Array<String> pStkIndustryID(["TB_INDUSTRY","F1010030000"]); //手动选择板块
Numeric pStartDateTime(20190101); //查询起始时间
Numeric pEndDateTime(22000101); //查询结束时间
String tgtMatchStr("易方达"); //目标股东匹配字符串
String boardName("十大股东检索"); //推送到行情报价的三级板块名
Numeric markNumber(2); //标记的号码
Vars
Dic<Array<Array<String>>> tenstockholder("TB_COMPANYINFO_SHAREHOLDERSTOPTEN");
Global Integer i;
Global Integer j;
Array<Array<String>> dicValues;
Array<Numeric> dicTimes;
Map<String,String> mySyms; //推送自定义合约的MAP
Map<String,String> context; //写标记用
Array<String> subSymbols; //追加的数据源
Events
OnInit()
{
For j=0 To GetArraySize(pStkIndustryID)/2-1
{
ArrayClear(subSymbols);
GetDicValue(pStkIndustryID[j*2],pStkIndustryID[j*2+1],SystemDateTime(),subSymbols);
for i=0 To GetArraySize(subSymbols)-1
{
SubscribeBar(subSymbols[i],"1d",pStartDateTime,pEndDateTime,Enum_Data_NoQuoteData);
}
}
}
OnReady()
{
String tmpSyms; //自定义合约的股票
String tmpIds;
String tmpDesps;
Range[0:DataCount-1]
{
//获取相关资讯时间点集合
GetDicTimeRange(tenstockholder,dicTimes,pStartDateTime,pEndDateTime);
For j=0 To GetArraySize(dicTimes)-1
{
//获取相关时间点的资讯数据
GetDicValue(tenstockholder,dicTimes[j],dicValues);
for i=0 to GetArraySize(dicValues)-1
{
//筛选有效合约
if(FindFirstOf(dicValues[i][1],tgtMatchStr)<>InvalidInteger)
{
tmpSyms = tmpSyms+Symbol+",";
tmpIds=tmpIds+Text(markNumber)+","; //写标记
tmpDesps=tmpDesps+Text(SystemDateTime,9)+",";
Break;
}
}
}
}
mySyms["合约集合"]=tmpSyms;//选股合约
mySyms["板块名称"]="我的选股_"+boardName;//自定义行情设置,格式是:一级板块_二级板块
mySyms["添加方式"]="append";//更新方式:override,append
context["合约集合"]=tmpSyms;//选股合约
context["标记编号集合"]=tmpIds;//合约标记ID【1-10】
context["标记内容集合"]=tmpDesps;//标记内容
if(tmpSyms<>"")
{
PublishEvent("系统-选股事件",mySyms,"行情报价");//发送选股事件到行情报价
PublishEvent("系统-标记事件",context,"行情报价"); //写标记
}
AddStrategyFlag(Enum_Strategy_Finished);//完成
}
//------------------------------------------------------------------------
// 编译版本 GS2020.09.04
// 版权所有 TradeBlazer Software 2003-2045
// 更改声明 TradeBlazer Software保留对TradeBlazer平
// 台每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------我用TB3的十大股东选股,与通达信选股对照十大股东信息,无法选出,请问是不是这个选股公式不能用了,或这是因为使用方法和流程不对,麻烦老师演示一下,谢谢!我用TB3的十大股东选股,与通达信选股对照十大股东信息,无法选出,请问是不是这个选股公式是不是不可用了或我的方法不对,如果可用,麻烦老师演示一下使用流程。谢谢!