以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=159799) |
|
-- 作者:xuexijiaoyi -- 发布时间:2017/11/23 10:54:23 -- 请教收盘平仓怎么写? 比如if,我尝试这样写,软件提示逐k模式不能有未来函数。 shoupan:=refx(time,1)>=091500 and abs(time-refx(time,1))>050000;如果不用未来函数的话,写成shoupan:=time>=0.1455;但是股指之前是15:15收盘的,就变成提前平仓了。。。 不用未来函数的话,我怎么样才能知道当前k线是当天最后一根呢? 如果把收盘时间写成参数手动调整的话,在回测的时候不同收盘时间的品种就没办法回测准确了。
|
|
-- 作者:FireScript -- 发布时间:2017/11/23 11:15:44 -- 收盘时间有函数可取的: closetime(0)
你的需求是提前下单还是怎样。 下面:
|
|
-- 作者:FireScript -- 发布时间:2017/11/23 11:32:41 -- 不好意思,之前删自己的帖子删错了,删了你的回复了。 你再补下吧。
closetime只能返回最新的收盘时间,历史上的是没办法获取的。 |
|
-- 作者:xuexijiaoyi -- 发布时间:2017/11/23 13:28:32 -- 哦哦,我的意思是,如果是实盘的话,问题不大,可以根据最新情况写。 但是历史回测的话,同一个交易所也会有不同收盘时间的品种。同一个品种历史上也会有不同的收盘时间,回测的收盘平仓代码怎么写呢? 尤其是多品种测试的时候。
|
|
-- 作者:FireScript -- 发布时间:2017/11/23 14:43:15 -- 提供一个参考的方案试下: 因为虽然没办法利用closetime取到历史上的收盘时间。但是K线时间还是准确的。 需要使用一次指标的引用。利用的是日期变动,来判断是否最后一个K。 1.被引用指标代码:
注意被引用的代码务必用序列模式。
2.交易部分的条件代码 测试返回值所用代码如下:
mm:STKINDI(\'\',\'Formula2.u\',0,1,0);//当前图表周期是多少,这里务必调整成同样的周期。我这里暂时用1分钟周期。
交易中的时候: if not(lastbar) and date<>mm then sell();//处理历史上 if .....then sell();//这里需要你对当前最新日期的单独处理下。 时间和精力有限,剩余部分可自行完善下。只是给你提供一个参考方案。
|
|
-- 作者:xuexijiaoyi -- 发布时间:2017/11/23 15:07:49 -- 好方法,谢谢! |