以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]WEEKDAY的取值含义是怎么样的?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=175942)

--  作者:ebpart
--  发布时间:2020/5/9 14:17:21
--  [求助]WEEKDAY的取值含义是怎么样的?
RT,为何今天5月9日周六,取出来是5?
--  作者:FireScript
--  发布时间:2020/5/9 15:34:23
--  
 它初始值是0.不是1.
--  作者:ebpart
--  发布时间:2020/5/12 10:01:12
--  
不对,今天周二取出来是2,昨天周一取出来是1,

但是5月9日周六,那天取出来是5

--  作者:FireScript
--  发布时间:2020/5/12 10:15:12
--  
周日是0嘛。周六是6.我本地在正常的啊。  你是不是在坐标上设置了其他什么东西?

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看



--  作者:ebpart
--  发布时间:2020/5/12 10:30:20
--  
是的,在本地日线坐标上,确实是正常.

不过我看了你这个测试方法后,我好像知道是啥问题了,

WEEKDAY取得的不是常数,所以,周六的时候,因为K线一直停留在周五的最后一根K线,所以后台实时扫描取得的值一直是5

是不是这样?

这样的话,周六的时候,不是日线的时候,是不是无法取得6?

--  作者:FireScript
--  发布时间:2020/5/12 10:46:29
--  
它取值和K线位置是关联的。周六并非交易日,没有K。就无法实时获取到了。


--  作者:ebpart
--  发布时间:2020/5/12 21:08:21
--  
那还有没有什么方法来判断当前是交易日?

比如我后台程序化,想长期挂机无人监控,同时也要实现集合竞价委托,所以我需要在非交易时间也要扫描.

但是如果按WEEKDAY来判断,周五晚我如果不关机,周六白天也会发单,因为周六读出来也是5.

--  作者:wenarm
--  发布时间:2020/5/13 8:32:36
--  

1.建议你自己本地确认该函数。这个函数不可能在周六返回5,吧确认后的结果截图给我们分析下。

2.如果不是最新版本,请升级到最新版本。

 

[此贴子已经被作者于2020/5/13 8:33:49编辑过]

--  作者:ebpart
--  发布时间:2020/5/17 21:04:54
--  

消息窗口输出:
2020/05/17 20:54:32  当前时间205432:当前品种:玻璃,今天是星期:5

 

代码如下:

GLOBALVARIABLE:SHOW_WCJ=1;
IF (ISLASTBAR AND SHOW_WCJ=1) THEN
BEGIN
    当前电脑时间:=\'当前时间\'+NUMTOSTR(CURRENTTIME,0)+\':\'+\'当前品种:玻璃\'+\',\';
    MSGOUT(1,当前电脑时间+\'今天是星期:\'+NUMTOSTR(WEEKDAY,0));
    SHOW_WCJ:=0;
END

 

这是刚刚测试出来的结果,现在是5月17日周日,WEEKDAY取出来是5


用的是后台程序化测试

[此贴子已经被作者于2020/5/17 21:05:28编辑过]

--  作者:wenarm
--  发布时间:2020/5/18 0:27:54
--  
你交易日坐标,调用的k线数据自然不会有周六周日。又怎么可能输出当前日期的判断?
自己换成自然日坐标,才能有周六周日。或者用这种方式判断DAYOFWEEK(CURRENTDATE)是否为周末
[此贴子已经被作者于2020/5/18 0:28:13编辑过]