金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 168|回复: 4

老师请看下这个

[复制链接]

170

主题

354

帖子

354

积分

Rank: 4

等级: 专业版

注册:
2025-5-24
曾用名:
发表于 2026-4-15 21:52 | 显示全部楼层 |阅读模式
//江老师
涨停:=c/ref(c,1)>1.095 and c=h;
r:=barssince2(涨停,todaybar);//注意这里是用最高价判断涨停的
r_t:=ref(time,r)<=093500;//当1日涨停时间


涨停价:=ref(c,r);
昨日涨停时间:=ref(r_t,todaybar);   //昨日涨停时间
昨日涨停过:ref(any(h>=涨停,todaybar),todaybar);
zttime:=昨日涨停过 and 昨日涨停时间<100000;         //昨日涨停时间在10点之前


开板:=L<涨停价*0.99 ;
ttK:=barssince2(开板,todaybar);
ttktime:=ref(time,ttk);


买入:=(c>=涨停价*0.993);
ttm:=barssince2(买入,todaybar);
ttmtime:=ref(time,ttm);


tt:=ttktime <ttmtime ;
ggg:=r_t and  开板 ;
我测试了,我用一分钟周期测试了,当天涨停的选股,基本是正确的。但是昨天的就不对了,请江老师再看下。



补充内容 (2026-4-15 22:29):
当天的选的数量很少,选不全,不知为什么,请江老师看下,
回复

使用道具 举报

2

主题

6418

帖子

6418

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2026-4-16 08:59 | 显示全部楼层
你的思路用文字描述下吧。我根据你的文字描述重构下代码。
回复

使用道具 举报

170

主题

354

帖子

354

积分

Rank: 4

等级: 专业版

注册:
2025-5-24
曾用名:
 楼主| 发表于 2026-4-17 11:31 | 显示全部楼层
资深技术05 发表于 2026-4-16 08:59
你的思路用文字描述下吧。我根据你的文字描述重构下代码。

就是要选出:1、当天10点之前,涨停的股票。2、选出昨天及今天10点之前涨停的股票。二个都是在收盘后选。或者在盘中的任何时间来选。比如:盘中11点选 ,14点选 。
回复

使用道具 举报

2

主题

6418

帖子

6418

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2026-4-17 14:42 | 显示全部楼层
[PEL] 复制代码
d1:=ref(c,todaybar);//昨日收盘价
isst:=strfind(stkname,'st',1);//是否st
iszb:=(strleft(stklabel,2)='60' or strleft(stklabel,2)='00');//区分是否主板
ztv:=if(isst,if(iszb,0.05,0.10),if(iszb,0.1,0.2));//创业板规则复杂,涨跌停数值不确定,最好不要应用在这上面。
 
//这里的处理是为了处理数学上计算的偏差
ztp:=round((ztv+1)*round(d1/0.01))/100;//涨停价
zt:ztp=rounds(c,2);//仅对主板a股以及科创,创业板有效。


con:any(time<=100000 and zt,todaybar);//当天10点之前涨停


result:con and ref(con,todaybar);//当天10点之前涨停+昨日10点之前涨停


选股周期选择1分钟+至少设置800+数据量,否则无法判断昨日的情况。



回复

使用道具 举报

170

主题

354

帖子

354

积分

Rank: 4

等级: 专业版

注册:
2025-5-24
曾用名:
 楼主| 发表于 2026-4-18 08:33 | 显示全部楼层
资深技术05 发表于 2026-4-17 14:42
[mw_shl_code=pel,true]d1:=ref(c,todaybar);//昨日收盘价
isst:=strfind(stkname,'st',1);//是否st
iszb ...

ztv:=if(isst,if(iszb,0.05,0.10),if(iszb,0.1,0.2));//创业板规则复杂,涨跌停数值不确定,最好不要应用在这上面。
  
//这里的处理是为了处理数学上计算的偏差
ztp:=round((ztv+1)*round(d1/0.01))/100;//涨停价
zt:ztp=rounds(c,2);//仅对主板a股以及科创,创业板有效。
这一段可能有问题,测试的结果是:1、选出了688的,也选出了300的,2、剔除不了*st
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2026-4-19 09:27 , Processed in 0.074919 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表