金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4468|回复: 21

老师 再问下这个问题

[复制链接]

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2023-5-18 19:26 | 显示全部楼层 |阅读模式
P1:IF(TODAYBAR<=5,JSJD3>=3 AND ALL(C>买2,JSJD3),DRAWNULL);
P2:JSJD3>=3 AND ALL(C>买2,JSJD3);
因为有很多上面的这类计算,第一个被TODAYBAR<=5限制了,后续不再计算  P2 是所有K都会参与计算,如果我有100条类似的东西  那么如果是P2的方式,是不是每个K都要把这100条都计算过去?如果按P1 那么它都是在条件限制以后才计算。
我原本的理解是这里是赋值,计算量不大 但后面想想既然是逐K 那就是所有输出 赋值都得参与计算才对。
如果都按P1得方式,那么可能 P2的内容会被反复写进条件限制里面 比如
IF(TODAYBAR<=5,JSJD3>=3 AND ALL(C>买2,JSJD3),DRAWNULL);
IF(TODAYBAR<=5,JSJD3>=3 AND ALL(C>买2,JSJD3),DRAWNULL);

回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-5-18 19:33 | 显示全部楼层
现在的问题是比如:
1:
IF(TODAYBAR<=5,JSJD3>=3 AND ALL(C>买2,JSJD3),DRAWNULL);
IF(TODAYBAR<=10,JSJD3>=3 AND ALL(C>买2,JSJD3),DRAWNULL);
IF(TODAYBAR<=20,JSJD3>=3 AND ALL(C>买2,JSJD3),DRAWNULL);
2:
P2:JSJD3>=3 AND ALL(C>买2,JSJD3);
IF(TODAYBAR<=5,P2,DRAWNULL);
IF(TODAYBAR<=10,P2,DRAWNULL);
IF(TODAYBAR<=20,P2,DRAWNULL);
1和2看起来2更简洁 好看好处理问题,但是如果有很多的P2一样赋值,那么2的计算方式是不是明显大于1呢?因为2这种每个类似P2的赋值必须在所有K参与了一次计算,而1中的P2的赋值都被条件限制后才参与计算,达不到条件就不会计算,差异就是我写代码的时候要反复写一样的东西···,我目前的测试用的1的方式 感觉跟踪了很多品种 很多窗口,结果也不会卡顿和慢,所以在此确认下这两种的计算差异
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-5-18 19:58 | 显示全部楼层
100020061 发表于 2023-5-18 19:33
现在的问题是比如:
1:
IF(TODAYBAR=3 AND ALL(C>买2,JSJD3),DRAWNULL);

我怕描述的有点混乱
比如我有100条入场条件
1:
P1:1;
P2:2;
P3:3;
.........
P100:100;
P:P1 OR P2 OR ....P100;
入场1:IF(指标1,p..........;
入场2:IF(指标2,p..........;
2:
入场1:IF(指标1,1  .........;
入场2:IF(指标1,2 .........;
入场3:IF(指标1,3 .........;
........................
入场4:IF(指标2,1  .........;
入场5:IF(指标2,2 .........;
入场6:IF(指标2,3 .........;
...........................
2的这个是所有K先计算指标 满足了再计算1,2,3,,,,,,,等条件
1是逐K计算P1,P2,P3 同时计算指标是否满足 满足了 再计算1,2,3,,,,,,,

另外回复下加颜色这个是不是这样理解呢  前面已经逐K计算了P1,P2,P3,满足条件以后是不是还得计算一次?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-5-19 10:07 | 显示全部楼层
你如果  这里是表达式 那就必然会再次计算。如果是前面已经算好的变量值,则是直接调用。
入场4:IF(指标2,1  .........;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-5-19 10:20 | 显示全部楼层
技术009 发表于 2023-5-19 10:07
你如果  这里是表达式 那就必然会再次计算。如果是前面已经算好的变量值,则是直接调用。
入场4:IF(指标2, ...

1:指标2 是在IF外计算好了 在IF里面是直接调用不在进行计算是吗?
2:P2:2;
P3:3;也是在外面计算好了
在IF里面也是直接调用 不会再次计算吗?
那我
P1:1;
P2:2;
P3:3;
P:P1 OR P2 OR ....P100;

入场1:IF(指标1,p..........;
这段会计算多少次?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-5-19 10:22 | 显示全部楼层
如果是计算好的自然是调用了。否则我们定义变量干嘛,都全部用表达式了。

我也不知道会计算多少次,你那个残缺的代码没法知道后面是啥。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-5-19 10:28 | 显示全部楼层
技术009 发表于 2023-5-19 10:22
如果是计算好的自然是调用了。否则我们定义变量干嘛,都全部用表达式了。

我也不知道会计算多少次,你那 ...

P1:1;
P2:2;
P3:3;
前面的是计算好了的
P:P1 OR P2 OR ....P100;  到这里P 里面是直接调用P1 ,P2,P3是吧 不会再计算1,2,3的内容 是这个意思吧
入场1:IF(指标1,p..........;  这里又是直接调用P 不计算P1 ,P2,P3  是这样的意思吗?
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-5-19 10:32 | 显示全部楼层
技术009 发表于 2023-5-19 10:22
如果是计算好的自然是调用了。否则我们定义变量干嘛,都全部用表达式了。

我也不知道会计算多少次,你那 ...

入场1:IF(指标1,1  .........;
入场2:IF(指标1,2 .........;
入场3:IF(指标1,3 .........;
反正这样的理解是 我先计算指标1  在IF里面调用指标1  满足指标1  计算1,2,3 的内容  这样的算法 永远都在指标1成立以后  我感觉效率会高于前面那种计算  不知道逻辑对不对

这个老师回复下:   前面那种 P1,P2,P3 的计算是会参与到每个K的都计算P1,P2,P3  是否调用在IF里面判断。后面这种不会在每个K计算P1,P2的条件  只会在指标1成立以后参与计算  对吧
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-5-19 10:44 | 显示全部楼层
用变量传递的都是直接调用现成结果了,你不需反复和我确认这一点了。

“入场1:IF(指标1,p..........;  这里又是直接调用P 不计算P1 ,P2,P3  是这样的意思吗?” 都直接调用了,肯定不会再重复计算了呀。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-5-19 11:00 | 显示全部楼层
技术009 发表于 2023-5-19 10:44
用变量传递的都是直接调用现成结果了,你不需反复和我确认这一点了。

“入场1:IF(指标1,p..........;   ...

但是他们的差异是在这里
P1:1;
P2:2;
P3:3; 是不是每个K都计算P1,P2,P3  然后在指标1成立以后  :IF(指标1,P1  .........;里面判断执行调用
而 IF(指标1,1 OR 2 OR 3  这里的1是不需要每个K计算的  是在每个K计算指标1成立以后才计算1,2,3   这里的1 是函数计算
这个逻辑也不对吗?

或者说上面的P1:1;  这样的形式 它是在每个K进行调用P1的结果  不会计算 1  的内容?  
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-12 19:40 , Processed in 0.110523 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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