金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 466|回复: 0

有关EIXT语句在逐K线模式下使用的注意事项

[复制链接]

34

主题

9187

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-4-1 00:01 | 显示全部楼层 |阅读模式
本帖最后由 技术006 于 2024-4-1 11:09 编辑

金字塔提供了 EXIT 控制语句,可以在公式的计算执行时直接退出整个公式的计算,但是在逐K线模式下使用了EXIT语句和统计性质函数时,应该特别注意EXIT语句的使用顺序,如果EXIT在统计类函数调用之前就退出了程序的计算,将会导致整个公式的计算结果出现意想不到的情况,举例如下:


[PEL] 复制代码
cond1:=c>o;
wz1:BARSLAST(cond1),NODRAW,COLORWHITE;
if barpos<100 THEN exit;
xx:=c;
aa:=xx[BARPOS-wz1];



上述的公式,在逐K线模式下,当执行的BAR再小于100时就直接退出了整个公式的计算,初看起来是没有问题,但是仔细看确发现在EXIT语句之后还有BARSLAST函数,这样就会导致BARSLAST函数在100周期之前的没有得到有效的执行,从而导致整个计算结果出现异常。


这样调整公式就正常了:


[PEL] 复制代码
cond1:=c>o;
wz1:BARSLAST(cond1),NODRAW,COLORWHITE;
if barpos<100 THEN exit;
xx:=c;
aa:=xx[BARPOS-wz1];

将EXIT放到统计类函数之后执行后,这样就可以得到正确完整的结果。

同理在IF语句中使用统计类函数时,同样存在这样的问题,详细请参考 https://www.weistock.com/bbs/forum.php?mod=viewthread&tid=240


若需要禁止提示EXIT中的这个问题在代码中的最前面加入如下语句即可:


[PEL] 复制代码
WARNING_DISABLE:2;



金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-12-22 01:56 , Processed in 0.178375 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表