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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 为什么使用variable全局变量时K线图会变形?【学习心得】

   

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


  共有5460人关注过本帖树形打印复制链接

主题:为什么使用variable全局变量时K线图会变形?【学习心得】

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


加好友 发短信
等级:新手上路 帖子:19 积分:145 威望:0 精华:0 注册:2010/10/30 16:29:49
为什么使用variable全局变量时K线图会变形?【学习心得】  发帖心情 Post By:2010/11/12 13:41:10 [只看该作者]

 习惯使用vb语法的人,在使用pel语言时,很可能会产生以下误区,使交易系统失效,k图变形,会让你反复检查错漏也毫无头绪,并且调试信息会显示测试正常,例如以下部分代码

variable:t=0;                   //t是用来计数的,用来计算某种情况累计发生的次数,是个全局累计变量
a:=。。。。;                    //描述a
b:=。。。。;                    //描述b
if a>b then begin                //如果出现a>b的情况
BUY(HOLDING=0,1,MKT);  //就开多
t=t+1;                               //每开一次多,就计数一次
end

之后你试试用到图表交易,会发现,本来没计数的时候,交易信号开多开空什么都好好的,可是加了个t变量后就什么信号也没有了,并且K线图也变形了,变成一条很扁的线,Y轴坐标的幅度变成是从0到9000多(如果你打开的是棕榈油的图),如果你打开的是股指期货的图,Y轴坐标幅度就变成0到3000多,测试公式,结果是测试正常。是不是想来想去都不知道是什么原因呢?如果你没有学过VB,可能你就不会犯这个错误了。哈哈。

关键就在于vb和pel的赋值格式是不同的。在vb,t=0,t=t+1都是没有错的;但在pel,除了全局变量外,只能写成t:=0,t:=t+1。在上面的例子,variable后面必须写了t=0,这就很容易把习惯vb语法的带回去VB语法里,使他们在下面犯下t=t+1这种写法的错误,而自己又很难发现。

我在刚使用pel的时候,就犯过这种错误,当时我检查了很久也没查出错在哪里,甚至还一度以为pel的全局变量不能搞可以被赋值为常数变量 。到后来,接触pel的时间久了,习惯才慢慢地改变过来,才发现自己犯错的原因。在此发个贴,总结思路,引起自己重视。也用来和初学习pel的朋友分享。

 回到顶部
帅哥哟,离线,有人找我吗?
董小球
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 大哥
等级:超级版主 帖子:2837 积分:13237 威望:0 精华:2 注册:2010/7/14 17:31:54
  发帖心情 Post By:2010/11/12 14:34:27 [只看该作者]

鼓励开源共享



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部