等级: 超级版主
- 注册:
- 2021-5-24
- 曾用名:
|
本帖最后由 资深技术05 于 2025-1-14 15:01 编辑
新建一个策略LB,供后面调用。
[PEL] 复制代码 VOX:CALLSTOCK('',vtVOL,6,-1)+CALLSTOCK('',vtVOL,6,-2)+CALLSTOCK('',vtVOL,6,-3)+CALLSTOCK('',vtVOL,6,-4)+CALLSTOCK('',vtVOL,6,-5);//至少有五日的历史日线数据
LB:ma(vol,TODAYBAR)/(VOX/(239*5));//股票量比,1分钟周期上有效
涨幅:100*(c-ref(c,1))/ref(c,1);
振幅:100*(h-l)/ref(c,1);
涨速:100*(C/REF(C,5)-1),NODRAW;
主策略代码:
[PEL] 复制代码 input:x(9.8,0.01,100,0.01);//涨幅参数 单位是%
INPUT:zj(200000,100,10000000,100);//下单资金量参数
HY:=HYBLOCK;//所属行业
行业中个股涨幅条件:0;//个股所属板块 涨幅>9.8%的股票数量至少是一只或以上(>0)
if islastbar then
begin
行业品种数量:stkcount(HY);//所属行业对应的板块品种数量
for i=1 to 行业品种数量 do
begin
code:=stkfromblk(HY,i);//品种代码
d1:=callstock(code,vtclose,6,-1);//昨收盘价
c0:=callstock(code,vtclose,-1,0);//最新价
//利用日期过滤当前日期下没有行情的品种,需最新7.0版才能使用这个函数
//如果是其他版本则不能直接调用到指定品种的最新日期,就只能跨指标调用了
date_:=callstock(code,vtdate,6,0);
if valid(d1)=0 or valid(c0)=0 or date>date_ then continue;
zdf:=100*(c0-d1)/d1;
if zdf>=9.8 then
begin
行业中个股涨幅条件:=1;
BREAK;//满足后直接跳转不需要进一步计算了
end
end
end
//所属行业的板块指数代码
code:=GETINIFILESTRING('C:\BLK.INI','NC',HY);
//EXPLAIN(1,code);
个股量比:"LB.LB#MIN1";//个股量比
行业量比:STKINDI(code,'LB.LB',0,1,0);//行业量比
行业涨幅:STKINDI(code,'LB.涨幅',0,6,0);//行业量比
行业涨速:STKINDI(code,'LB.涨速',0,1,0);//行业振幅
kd:个股量比>1.2345 and 行业量比>1.15 and 行业涨幅>0.34 and 行业涨速>0.06;
ss:100*INTPART(zj/(c*100));//下单手数
if kd and TBUYHOLDINGEX('','',2)=0 and ss>=100 then tbuy(1,ss,mkt);
你可先加载到个股上看下 输出的几个变量值情况。
需要留意的是 板块指数 我用到了历史日线,你可能需要刷新下历史日线。另外必须是你设置过板块指数的品种,如果你没有设置板块指数,也没有运行前面的那个写配置文件的指标,结果都是不对的。
|
|