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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [分享]EXIT命令慎用,请确认一下

   

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


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

主题:[分享]EXIT命令慎用,请确认一下

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


加好友 发短信
等级:新手上路 帖子:66 积分:355 威望:0 精华:0 注册:2011/10/20 14:22:13
[分享]EXIT命令慎用,请确认一下  发帖心情 Post By:2011/11/8 13:16:46    Post IP:220.161.86.178[只看该作者]

今天指标发现有异常,调试完成后,

 

发现前半段有一个EXIT的代码。在K线模式下,如果前一个K是状态是EXIT的,后一个K线,EXIT的语句,还有REF之类的语句取到的值就为0,请版主确认一下是为什么的呢?

 

 

M:=BARSLAST(DATE<>REF(DATE,1))+1;

IF M <= 3 THEN EXIT;

TESTMVALUE:M,LINETHICK0;

TESTC:REF(C,1),LINETHICK0;

 

 

m=4的时候,TESTC是零,为什么呀?????????????



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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/11/8 13:43:51    Post IP:58.246.57.26[只看该作者]

你用以下在图表上调试一下,看看就知道了

这里的IF M <= 3 THEN EXIT;根本就没起作用

 

M:=BARSLAST(DATE<>REF(DATE,1))+1;
IF M <= 3 THEN EXIT;

TESTMVALUE:M,LINETHICK0;
TESTC:REF(C,1);//这个画线一直是显示的,不管是序列还是逐周期

 

可能跟EXIT前的条件判断有关.

 

象以下写出来的,就是好好的.

//不是品种CU,不执行后续程序
if STRCMP(STRLEFT(STKLABEL,2) ,'RU')<>0 then exit;



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

客户服务部

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

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

service@weistock.com

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

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


加好友 发短信
等级:新手上路 帖子:66 积分:355 威望:0 精华:0 注册:2011/10/20 14:22:13
  发帖心情 Post By:2011/11/8 14:20:52    Post IP:220.161.86.178[只看该作者]

 

这里的 IF M <= 3 THEN EXIT;根本就没起作用

 

~~~~~~~~~

忘了告诉你,我是在3分钟K线模式下,做期货没有人用日K线吧。上面的代码,我是试过,才贴出来的!V2.75.... 今天这个版本还有发现其它的问题,信号有问题,重新开程序,或者滑点设置不一样,程序就会不一样。

[此贴子已经被作者于2011-11-8 14:23:54编辑过]

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/11/8 15:31:05    Post IP:58.246.57.26[只看该作者]

代码,是分钟K线上使用的.

未在日K线上用



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

客户服务部

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

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

service@weistock.com

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

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


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2011/11/8 15:59:01    Post IP:123.115.10.167[只看该作者]

 

M:=BARSLAST(DATE<>REF(DATE,1))+1;

TESTMVALUE:M,LINETHICK0;

TESTC:REF(C,1),LINETHICK0;

 

IF M <= 3 THEN EXIT;

 

这样改就好了

因为逐K线模式下,每个周期都要调用公式,REF等统计函数,需要每次调用时来保存上次调用的数据,你在他前面用了EXIT,结果将导致前面3个周期没有保存统计数据,结果造成出错


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


加好友 发短信
等级:新手上路 帖子:66 积分:355 威望:0 精华:0 注册:2011/10/20 14:22:13
  发帖心情 Post By:2011/11/8 16:11:37    Post IP:220.161.86.178[只看该作者]

这个说法让人信服,我在改策略了,尽量不用EXIT了。

 回到顶部