就是想日线以下的时间周期内,例如小时线跟分钟线周期,国内期货夜盘开盘后,第一次的收盘时间前一根k线平仓,因为各个期货交易所的夜盘收盘时间不相同,所以想请教下应该怎么编写?
用这个函数可以判断的 CLOSETIME
有夜盘的品种 CLOSETIME(1) 表示的就是第一个收盘时间 对应的就是夜盘收盘时间。
不过这个是判断收盘K的,如果你要在收盘K前一个K的话,会麻烦点,因为周期原因,前一个K位置不好根据周期自适应,而且万一牵扯到大周期,还会受到K线划分方式的影响。 目前暂时没想到自适应不同周期去 怎么判断收盘前一个K。我再看看吧。
对,closetime(1)我也知道,但是就是不知道应该怎么根据不同周期自适应前一条k。
这个可能有点麻烦,我试试看。主要还得自适应周期,这个不好搞。
[此贴子已经被作者于2019/10/16 9:30:41编辑过]
要不就先去掉多分钟跟多秒周期,只要金字塔日线的那几个固定周期
如果是指定的几个周期数,可以参考这种方式。一个周期一条语句。
cd:DATATYPE=1 and time=25900;//当前是1分钟 且当前是夜盘收盘倒数第二个K。
需要注意周期如果是多分钟方式设置的周期,也就是键盘快捷键设置的周期或者右边栏多周期设置的,这时候周期类型是被划分为多周期类型的。DATATYPE的判断会失效。
这里的显示:

此主题相关图片如下:temp.png

上面是常规1分钟,下面是多分钟设置的1分钟周期。
暂时没有好的办法了,只能一个周期一个周期写一个语句来处理了。
用time来控制是不是不行,三个国内交易所夜盘的收盘时间都不同的吧
用这段代码,测试了效果还行:
//下面代码需要数据量的保证,需要保证前面至少覆盖有一个夜盘的数据。
cd:time=CLOSETIME(1);//获取上次夜盘收盘位置
len:=BARSLAST(cd);
zd:ref(time,len+1);//收盘前一个K的TIME值
result:time=zd;//判断结果
DRAWICON(result ,l ,1 , 0);//输出图标 表示下位置方便查看。