欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 版主帮忙写个主图时段切分线公式

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2975人关注过本帖树形打印复制链接

主题:版主帮忙写个主图时段切分线公式

帅哥哟,离线,有人找我吗?
FireScript
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/2/26 9:21:53    Post IP:58.246.57.26[显示全部帖子]

你是要在最后三个(有夜盘)或者二个(无夜盘期货或股票)的收盘位置都画一个竖线出来?
要兼容多个市场肯定不行的。这太麻烦了。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/2/26 10:38:05    Post IP:58.246.57.26[显示全部帖子]

 先不考虑外盘的。国内期货股票情况下你试下。

LEN:=DATACOUNT-BARPOS;

IsNight:=OPENTIME(1)>40000;//判断是否有夜盘 ,有夜盘返回0,没有夜盘返回1
cdx:=TIMEZONEDIFF=0 and time=113000;//TIMEZONEDIFF用以判断是否是北京时区
cdy:=TIMEZONEDIFF<>0  and time=153000;

VERTLINE(refx(COUNT(time=CLOSETIME(0),0),LEN)=COUNT(time=CLOSETIME(0),0) AND time=CLOSETIME(0)  ,0 ,0 ,COLORRED);//15:00画线
VERTLINE(refx(COUNT(cdx or cdy,0),LEN)=COUNT(cdx or cdy,0) AND (cdx or cdy),0 ,0 ,COLORBLUE);//11:30画线
VERTLINE(IsNight=0 and refx(COUNT(time=CLOSETIME(1),0),LEN)=COUNT(time=CLOSETIME(1),0) AND (time=CLOSETIME(1)),0 ,0 ,COLORBROWN);//夜盘收盘画线




注意必须是序列模式。然后上面所以都是最后一次条件满足时候画线。如果今天目前没到11:30那么画线就是画在昨天。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/2/26 13:31:39    Post IP:58.246.57.26[显示全部帖子]

 
“公式能否改成,夜盘收盘后显示昨天夜盘划线,中午收盘后显示昨天午盘划线,15点收盘后显示昨天收盘线,”
这个思路有些矛盾了啊。收盘时间没到,显然这个时间点的线肯定画不了。到了又要画昨天的。你是要在盘中有行情和没行情时候做区分?盘中有行情收盘K上正常画线,收盘了画到昨天去?



“另外由于设置了自定义分时时间点切分,黄金品种60分钟周期,1点到2点一根K线,2点到9点半又一根K线,”
你自己切分的就没办法统一处理了。只能按照你自己添加的划分,额外写几个例外的画线 就只能这样子了。
比如黄金,你要在什么时间画线,下面语句里面你自行设置下。
if  STRTRIMRIGHT( STKLABEL, '0123456789')='AU' and  time=你自己切分的那个时间 then  VERTLINE(1 ,0 ,0 ,COLORRED);
其他品种同理。




命数如织,当如磐石。
 回到顶部