金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3037|回复: 2

逻辑和编译顺序死锁

[复制链接]

41

主题

111

帖子

111

积分

等级: 免费版

注册:
2021-8-12
曾用名:
发表于 2022-4-15 09:53 | 显示全部楼层 |阅读模式

程序的顺序是这样的
EL:IF(EX_O[BARPOS-1]=0,0,IF(KC_P>0,KC_P-OPEN,KC_P+OPEN)/ABS(KC_P));
IF EX_O[BARPOS-1]=1 THEN KC_P:=0;
EX_O:IF(KC_P<>0 AND GBFX[BARPOS]=1,1,0);
如果执行逻辑上可以达到以下效果
        T日        T+1日        T+2
EL        0        执行计算        0
KCP   100    0               
EX_0        1         0        0

编译通不过,因为第一句调用了EX_O[BARPOS-1],而EX_O是在最后面后面定义的。
但逻辑上EX_O是当天K线走完,计算结果,给第二天计算用,也就是第一句的IF EX_O[BARPOS-1].
请问有啥好办法

回复

使用道具 举报

41

主题

111

帖子

111

积分

等级: 免费版

注册:
2021-8-12
曾用名:
 楼主| 发表于 2022-4-15 09:54 | 显示全部楼层
刚才没对齐
如果执行逻辑上可以达到以下效果
        T日        T+1日        T+2
EL        0        执行计算        0
KCP   100            0               
EX_0        1         0        0
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-4-15 10:15 | 显示全部楼层
没办法,你只能把定义提前。然后第三句那里改成赋值语句。

而且你这个  你本身就是需要在特定K上给 EX_O 一个初始值。比如第一个K上。
IF BARPOS=1 THEN EX_O:=0;

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-26 05:24 , Processed in 0.126757 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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