以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  收盘平仓指令不执行  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=165423)

--  作者:yuanman
--  发布时间:2018/9/7 15:10:43
--  收盘平仓指令不执行
请教老师;这是前段时间老师帮助编写的收盘平仓代码,现在就要橡胶,三点收盘时不能执行平仓,但有收盘平仓信号产生,请老师看看哪里的问题。谢谢
//日内平仓
 IF (ISLASTBAR AND T0TOTIME(TIMETOT0(CLOSETIME(0))-60)<=DYNAINFO(207)) OR (TIME=145900 AND NOT(ISLASTBAR)) THEN BEGIN
  收盘平仓1:SELL(1,HOLDING,MARKET);
  收盘平仓2:SELLSHORT(1,HOLDING,MARKET);
 END

--  作者:FireScript
--  发布时间:2018/9/7 15:37:11
--  
 1.你表述的意思是图表有信号,但是并没平仓是吗?
 2.运行周期和运行模式是?

--  作者:yuanman
--  发布时间:2018/9/7 16:24:54
--  
5分钟周期,收盘价模式
--  作者:FireScript
--  发布时间:2018/9/7 16:33:23
--  
 上面这个代码只在固定轮询下才起作用的。走完K不起作用的。
此外TIME=145900 这种在5分钟周期下判断是失效的。

--  作者:yuanman
--  发布时间:2018/9/10 9:20:00
--  
“此外TIME=145900 这种在5分钟周期下判断是失效的。”老师所说的失效上什么原因?要如何修改?如果用固定轮询的话,间隔60秒可以秒?谢谢!


--  作者:FireScript
--  发布时间:2018/9/10 9:28:26
--  
 1.失效是因为time返回值直接和当前周期挂钩的。
   请看这里的值:
图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看
   就是time返回值
   因此五分钟周期下不存在time=145900的K线的。

2.修改好1的周期判断,之后只要固定轮询下是可用正常运行上述代码的。

--  作者:yuanman
--  发布时间:2018/9/10 9:47:29
--  
老师;如果设置成time=145955;固定轮询设置为5秒。这样是否可以?谢谢
--  作者:FireScript
--  发布时间:2018/9/10 10:10:30
--  
不行。
1.这个和固定轮询周期关系不大。
2.你要改的是time判断,改成要和你图表周期对应上。

五分钟周期下   time=145955是恒不成立的。因为不存在这个时间的K线。
五分钟周期下只有......145000  145500 150000  这种,间隔最小是五分钟。time返回值也只有这种五分钟间隔的时间值。
同理改成1分钟周期K线的话....145000 145100 145200 145300....