以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  信号闪烁和偏移  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=97951)

--  作者:flyme
--  发布时间:2016/5/29 15:20:42
--  信号闪烁和偏移

在日线以下周期,想实现在当根K线收盘前3秒平仓。原来写成了以下语句

IF(ISLASTBAR,(TIME0-TIMETOT0(DYNAINFO(207))<3),TIME)

结果发现有些地方收盘没有信号,到了下一个K线开盘了,出现信号了。

后来就改写了以下

 IF(ISLASTBAR,(TIME0-TIMETOT0(DYNAINFO(207))-3),TIME)

发现还是有这个问题,最后,将前两种用OR合成一跳语句

IF(ISLASTBAR,(TIME0-TIMETOT0(DYNAINFO(207))<3),TIME)OR IF(ISLASTBAR,(TIME0-TIMETOT0(DYNAINFO(207))-3),TIME)

发现是没有这个问题出现了。

请问版主,是什么原因?是我的写法有问题吗?应该怎么写?


--  作者:flyme
--  发布时间:2016/5/29 22:28:26
--  
上述中,个别错别字就不阐述了,收盘的时候没有信号,等到下一根K线开盘了,信号出现在前一根K线的收盘位置,这是信号偏移,是写法出现了问题吗?
--  作者:flyme
--  发布时间:2016/5/30 9:06:01
--  
静态看着信号都是对的,但是在盘中的时候还是会闪,只有到收盘信号在真实
--  作者:jinzhe
--  发布时间:2016/5/30 9:09:13
--  

收盘没有信号,到了下一个K线开盘了,出现信号了

 

这个状态截图发一下


--  作者:flyme
--  发布时间:2016/5/30 9:22:05
--  

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

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

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看
第一个开多和第二个开多都是这种情况。
[此贴子已经被作者于2016-5-30 9:23:35编辑过]

--  作者:jinzhe
--  发布时间:2016/5/30 9:36:56
--  

初看信号是没错的,毕竟第一张图的最后一根k线是上一个交易日的最后一根k线,所以时间上就判断不了,当今天出现新的k线时,上一根k线就有信号了


--  作者:flyme
--  发布时间:2016/5/30 9:38:48
--  
这个是普遍存在的情况吗?
[此贴子已经被作者于2016-5-30 9:39:05编辑过]

--  作者:flyme
--  发布时间:2016/5/30 9:43:44
--  
以下是引用jinzhe在2016-5-30 9:36:56的发言:

初看信号是没错的,毕竟第一张图的最后一根k线是上一个交易日的最后一根k线,所以时间上就判断不了,当今天出现新的k线时,上一根k线就有信号了

“第一张图的最后一根k线是上一个交易日的最后一根k线”,这个15:30不是最后一根K线啊,有是三个开多信号,只有最后一个是收盘就出现的。


--  作者:jinzhe
--  发布时间:2016/5/30 9:52:56
--  
不太明白你的意思,你的代码就是这样的效果,
--  作者:flyme
--  发布时间:2016/5/30 10:11:26
--  
版主,不好意思。也许是我没阐述清楚。我的意思就是要达到收盘前N秒开仓。
我将历史上的信号回放过,信号都是在当根K线收盘位置出现的。但是加上这个提前开仓信号以后,有些信号就出不来。所以我就质疑自己在这个提前开仓的写法上存在问题。
请教给出正确写法。
如果就用K线走完模式的话,那就要到下个开盘才能开仓,也就用不了轮询模式。

IF(ISLASTBAR,(TIME0-TIMETOT0(DYNAINFO(207))<=3),TIME);
我质疑自己的这个写法有问题。
[此贴子已经被作者于2016-5-30 10:12:10编辑过]