- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
勤勉 创新 和协 诚信 徽商研究 实战第一
ei
徽商期货研究所产品 《徽商月报》
邢飞骏
策略研究员
2010.11
0551—2867116
浅谈程序调试
摘要
文华财经并没有在程序化交易中提供调试功能。这意味着我们面临着一个黑箱。我们可能知道k线的形态,开收高低
等价格,但是,我们并不知道中间变量的变化,也不知道结果的产生是由哪些条件满足而导致。于是,在本文中,我想就
自己在日常工作中的一些经验,拿出来与读者共享。
程序与指标的联系
众所周知,我们可以轻松的将指标改写为程序,只需要将其中的画线命令——:,改写为赋值命令——:=。同样,
我们可以用逆向思维的方法,将一个程序改写成一个指标。这样,我们就有了一个可以看到的中间变量。然而,在转换的
过程中,我们需注意以下几个问题:
1.开平仓条件一律省去,只留下一个赋值语句。比如说,CON1 | | CON2,BPK;我们需将此句改写为KDC:CON1||CON2;。
2.由于程序化交易中有开平仓过滤的机制,我们需格外小心。关于开平仓过滤机制可详见我此前的文章。
3.关于程序化与指标编写过程中可能遇到的起始k线不同,而导致的出入,特别是遇到较长时期的均值问题时可能遭
遇到此类问题。
事实上,主要我们注意了上述几个问题,将一个程序化交易改写为一个指标公式还是比较容易的。
追踪中间变量的技巧
在我的上一篇文章中,我提出了如何利用逻辑值与逻辑体系的问题。在本文中,我再来介绍一下如何巧妙的利用逻辑
值来追踪中间变量。
再回到上面的例子,CON1 || CON2,BPK;
这意味着CON1或者 CON2两个条件中只需一个满足则执行开仓命令。请注意,在这里我们忽略了开平仓过滤问题。也
就是说,上一个指令如果是开多仓指令则紧接着的指标不会是开多仓命令,这在程序化交易中是为了避免反复开仓问题。
而在指标中,我们只会看到一个永远处于一个值的开多仓画线。
上文中提到,在程序化交易中无法知道究竟是CON1还是CON2满足条件导致开多仓命令的执行。但是,由于逻辑值事实
上只有0或者1的区别,我们可以放心的尝试如下追踪技巧:
KDC:CON1*1+CON2*2;
免责声明:本产品属于辅助性产品,并没有直接收取任何费用,分析师依靠严谨的研究态度和公开市场信息进行投资分析,
按此操作,不承担任何风险,期货市场有风险,请谨慎投资。
勤勉 创新 和协 诚信 徽商研究 实战第一
我们将KDC:CON1*1+CON2*2与CON1 || CON2,KDC这两个语句进行比较。其中,第一句是指标,第二句则是程序化交易
中的命令。
我们知道CON1与CON2只有0和1两种可能值,因为他们都是逻辑值。那么,对于CON1*1则只有0和1两种可能;而CON2*2
则只有0和2两种可能。那么对于
KDC:CON1*1+CON2*2则只有0,1,2,3三种可能,分别对应着CON1与CON2都不成立;只有CON1成立;只有CON2成立;CON1
与CON2同时成立这四种情况。上述四种情况构成了KDC的完备空间。
这样,经过上述的变化,我们可以清楚的知道如何将KDC中CON1与CON2是何种情况清楚的知晓。这对于我们调试自己
的程序有一定的帮助。
BK,BP,SK与SP的变化
众所周知,BK的成立必然伴随着BP的成立,同样也适用与SK与SP。然而,我们在改写为指标的时候可能并没有将BPK
给分开,而我的建议则是将多开,多平,空开,空平统统给分开,让我们可以很清楚的知道究竟是条件如何满足了上诉四
个命令的执行。我们同样需要注意的是,如何将一个具有止盈止损以及持仓等待的模型改写为指标。
例子
我使用文华财经自带的模型给大家讲解下如何进行改写。
// //后为文字说明,编写模型时不用写出
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
文档评论(0)