欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → [原创]教你写一个不卡的复杂图表策略

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有20847人关注过本帖平板打印复制链接

主题:[原创]教你写一个不卡的复杂图表策略

帅哥哟,离线,有人找我吗?
klc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/7/25 19:09:15 [只看该作者]

======在 2013/7/25 15:28:08 您来信中写道:======

小弟拜读了兄的一系列文章,非常有帮助,感谢兄的分享!

 

因为我也是准备应用图表交易,需要提高速度,在看兄的“不卡的图表”时,有点疑问,对于新K线时,兄保存交易信号到全局变量,再在刷新时把交易信号信息赋给图表。

 

小弟的问题是:

(1)新K线时,金字塔从首根K线开始的逐K线刷新的目的何在? 取得holding值? 我看兄的代码好像和holding没关系?

金字塔从首根K线刷新的目的应该是金字塔设计者才知道目的,我只是通过研究知道是这样的。我的代码多处用到holding啊,比如公式最后是:

/////////////////固定的结束语句,请原封不动//////////////////////////////////////////////////////////

d:=date();
t:=time();
if (mylot<>holding) then xxx:=round(INSERTSIG(策略号,d,t,holding));

就是当holding变化时,就把holding变化的日期(d)时间(t)和holding的值通过InsertSig这个自定义函数传给vba去保存起来啊。

(2)兄为什么要保留图表的历史交易信号信息,如果已经交易了,这些信息如果不是策略里必须,与当前的交易判断没有关系啊? 如果不需要保留该类信息,不是速度更快,就不需要那个insert函数与read函数了呀

的确没有必要保存所有的信号,如你说的,已经交易了,就不是必要的。所以我在代码中有一个“保留信号数=20”,你设置这个就可以保留不超过20次的信号。当然保留得越少,效率越高,但多保留几个信号,你就可以发挥图表的优势,因为图表交易的一个好处是你可以看到历史上的信号,比较直观。

另外,历史信号也不是一点用处就没有的,金字塔说的,最新的信号是建立在前一个信号的基础上的,比如如果你的策略前面有两次开多1手的信号,那么没有前面两个buy,当前的holding就不会是2,那么也就不可能产生平仓的信号了。看你的策略,你可以保存少一点信号来进一步提高效率,但我测试的情况看,多保留几个信号,也不会太降低效率,因为我写的代码已经是效率比较高的。在重现历史信号的时候,计算量是很低的。

 

不太理解,望兄指点下,多谢兄了!

 


======================================

 回到顶部
总数 18 1 2 下一页