以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=174308) |
-- 作者:1252527484 -- 发布时间:2020/2/15 13:43:35 -- 模型平仓时间编写问题 m1:ma(c,3); m2:ma(c,5); n1:cross(m1,m2); n2:cross(m2,m1); SELLSHORT(n1,1,MARKET); BUY(n1,1,MARKET); sell(n2,1,MARKET); BUYSHORT(n2,1,MARKET); if T0TOTIME(TIMETOT0(CLOSETIME(0))-180)<=DYNAINFO(207) or (time=190000 and not(ISLASTBAR)) then begin sell(1,holding,MARKET); end if n1=1 and time>093000 AND TIME<143000 THEN BEGIN BUY(n1,1,MARKET); END if n2=1 and time>093000 AND TIME<143000 THEN BEGIN BUYSHORT(n2,1,MARKET); end IF holding<>0 and time=145700 then begin
sell(n2,1,MARKET); end IF holding<>0 and time=145700 then begin SELLSHORT(n1,1,MARKET); end 老师 这个模型并没有在下午14:30后停止开仓 14点57分也没有全部平仓 是哪里有问题呢?
|
-- 作者:wenarm -- 发布时间:2020/2/15 14:35:00 -- 运行在什么周期下的?用的什么运行模式。
[此贴子已经被作者于2020/2/15 14:35:23编辑过]
|
-- 作者:1252527484 -- 发布时间:2020/2/15 17:42:40 -- 图表程式化 300股指1分钟和3分钟 |
-- 作者:wenarm -- 发布时间:2020/2/15 18:38:10 -- 结合你上个帖子中的需求表述: //我是想 9点30开始开仓 下午14:30之后就不再开仓 前面开的仓如果没用平统一都在14点57分平仓 提前收盘三分钟 应该怎么编写 问题总结: 1.限制时间无效:因为你代码中的第5--8行,的开平语句未做时间限制造成的。(这个应该是你修改后,未注释掉。根据你的需求,他们是不应该存在的) 2.你需求中,应该是希望在金死叉时进行开平反手的操作。而代码中你限定的时间是time=145700 。那么最终结果是,在整个交易时间内,只有在14:57分才会进行平仓。 3.之前给你的代码中,提供了两种提前下单的方法。根据你上面的用法看,你并没有理解。建议你认真分析下代码和处理逻辑。
修改如下:
if n1=1 and time>093000 AND TIME<143000 THEN BEGIN
//14:57全平仓位 //这段代码用必须在固定的时间间隔模式下,并且提前下单的时间必须是最后一根k线。否者需要修改代码中的time |
-- 作者:1252527484 -- 发布时间:2020/2/15 20:22:17 -- 好的 谢谢老师 |