以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  含未来dll插件的信号跳变问题  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=148642)

--  作者:天涯doa
--  发布时间:2017/3/5 22:57:42
--  含未来dll插件的信号跳变问题

我在使用缠论dll插件进行策略编写及验证,由于该dll用到了未来函数(这个未来可以通过一定的逻辑抵消掉,这不是问题关键),编写中出现了信号跳变的问题

我使用历史数据回放模拟真实交易,这样能避免未来的影响


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

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
在图一中,由于最近的一根黄色虚线还没有出来,我的信号指示平空开多

等黄色虚线出来后,信号就变成了平空, 不开多,如图二所示。那这样图一的开仓就没了,跟实际不一样

想请教一下,在测试中怎么保留图一的开仓信号及持仓量,在行情进行到图二时不发生信号跳变?


--  作者:天涯doa
--  发布时间:2017/3/5 23:16:33
--  
补充一下,我在交易系统中选的是逐K线模式,没有选仅刷新最后一根K线。序列模式也试了都是会发生跳变
--  作者:天涯doa
--  发布时间:2017/3/6 10:00:09
--  
自顶一下,求指点!!!
--  作者:王锋
--  发布时间:2017/3/6 10:36:15
--  

出现信号跳变你要自己调试一下出现跳变的原因是什么,如果你对你的DLL有自信不是他的原因引起的,建议你认真学一下一些基本的调试技巧,这样不至于出现类似问题后手足无措。

参考i

 

DEBUGFILE----使用日志方式完善您的策略

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=49428


--  作者:天涯doa
--  发布时间:2017/3/6 11:17:13
--  

版主,这个问题我用多种方法都验证了,是属于dll使用未来函数的问题。

因为在正常交易中,K线是一根一根出现的,在最后一根K线上出现开仓信号时,此dll的未来函数对这个开仓是不构成未来的,那么我就想在图表上保留这个开仓信号,并等待后续的平仓信号出现,而不是后续多了几根K线使得dll中某指标数据发生变化,使得开仓信号消失,继而平仓信号也不会出现了。另外只有开仓信号用到了dll插件,平仓是没有用到的。

这样的需求怎么才能实现呢?


--  作者:王锋
--  发布时间:2017/3/6 12:56:13
--  

这种算法逻辑应该您自己解决的,我们只能给您提供思路。

你可以考虑这样的处理逻辑,最后BAR出现信号后,本地通过INI记录标志,DLL生成信号优先以INI这个记录的为优先,这样就能保证出现信号后不消失。但是这个处理逻辑只适合盘中交易,不能做历史回测测试


--  作者:天涯doa
--  发布时间:2017/3/6 13:23:32
--  
那使用全局变量可以吗
--  作者:王锋
--  发布时间:2017/3/6 19:19:39
--  
只要原理你能明白的,任何只要能在本地硬盘上保留信息的方式都可以的