金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2493|回复: 9

如何解决指标内容太大?

[复制链接]

27

主题

85

帖子

95

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
发表于 2023-7-31 08:31 | 显示全部楼层 |阅读模式
各位老师好:
      我针对每个品种用以往数据求出他们各自的参数,然后再编写交易公式,所以一个品种因为有自已不一样怕参数,所以就各自有一个交易公式。也有一些因为交易时间不同,公式稍微有点不一样,但是有很多内容是一样的,但是怎么个品种单独做成一个公式后,每个公式文件内容都比较大,总的六十多个公式使得软件提示内存已经超过了软件所能提供容纳的范围了,所以软件提示要清除一部分内容以提大空间,要不然引起消耗导致不能及时交易。所以我想能不能单独把里面有相同的一部分做成一个公式文件或交易文件,然后每个品种放入参数后再来引用这些文件。
      现在不知道怎么办的是:

      一、把相同部分做成单独一个文件后,保存时提示为有未定义的变量,因为各个品种的参数不同,所以单独的文件是没有定义这些变量的,然后保存的只是一份草稿,这份草稿能引用吗?
      二、用什么方法引用,我不知道具体操作,老师能教一教我吗?


各种单独文件如上


相同指标部分如上,结合上面各品种之后是一个完整的交易系统,单独拆开就是草稿了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-31 09:23 | 显示全部楼层
本帖最后由 技术009 于 2023-7-31 09:25 编辑

1.编译未通过的指标肯定无法调用的。
2.你直接把指标拆分开是不行的,变量只有在前面定义了,后面才能使用,你拆掉了一部分,整个指标就不完整了。

你如果是参数不同,那这种建议不要弄成2个指标,就一个指标,参数使用的时候自行调整即可。

代码相同的部分 能不能合并 主要看你这个相同的代码是什么。比如只是一个指标计算,那直接新建一个指标调用即可,但是这种方式也无法减少指标,只能降低指标大小,指标数量反而是会增加的,最终指标占用的空间大小是增是减其实是无法预估的。 反正这个根本上还是要看你代码情况才能进一步判断了。


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

使用道具 举报

27

主题

85

帖子

95

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-7-31 09:36 | 显示全部楼层
技术009 发表于 2023-7-31 09:23
1.编译未通过的指标肯定无法调用的。
2.你直接把指标拆分开是不行的,变量只有在前面定义了,后面才能使用 ...

老师,比如,我要做一个白银和黄金的,前面的参数不同,但是后面的交易指标都是相同的。怎么用一个指标同时监控白银和黄金呢?我就是多品种用多指标,现在搞得太大了,启动预警总是出警报说是未开启后台程式化。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-31 09:38 | 显示全部楼层
本帖最后由 技术009 于 2023-7-31 09:41 编辑

这种一般我是这样处理的:

N:=10;//默认值为10
if STKLABEL='AG00' THEN n:=11;
if STKLABEL='rb00' THEN n:=12;
如果你指标里N是自定义的参数,即用INPUT定义的,那么你其实可以重新定义一个变量M。用M接受N的值作为默认数值。

M:=N;//这里N是外部参数了。外部参数是不能二次赋值的,但是可以把值传递给其他变量。 后面原先使用参数N的地方,全部换成变量M就行了。
if STKLABEL='AG00' THEN M:=11;
if STKLABEL='rb00' THEN M:=12;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

27

主题

85

帖子

95

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-7-31 09:39 | 显示全部楼层
结果如下图:

但是会报警程式化未开启。如下图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

27

主题

85

帖子

95

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-7-31 09:45 | 显示全部楼层
老师,我想向您请教一下,可以指定时间的收盘价吗?比如我要指定10:15,13:30,15:00,23:00,01:00,02:30这几个时间的收盘价。
回复

使用道具 举报

27

主题

85

帖子

95

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-7-31 09:52 | 显示全部楼层
技术009 发表于 2023-7-31 09:38
这种一般我是这样处理的:

N:=10;//默认值为10

老师,这样是不是一个程序就可以监控所有的品种了?如果真是可以这样,那一个程序就可以解决太好了。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-31 10:09 | 显示全部楼层
可以这样做的。但是如果你品种非常多,你这里代码里就需要判断好多品种了。这个问题 你自行斟酌下。


“老师,我想向您请教一下,可以指定时间的收盘价吗?比如我要指定10:15,13:30,15:00,23:00,01:00,02:30这几个时间的收盘价”

可以。VALUEWHEN 函数 ,以时间判断作为条件就行了
//10:15的收盘价
C1:VALUEWHEN(TIME=141500,C);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

27

主题

85

帖子

95

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-8-1 09:59 | 显示全部楼层
老师,我这里指定时间的收盘价出不来,是哪里错了?

下面是编写的指标:

最新价格:=DYNAINFO( 7);
//23:00的收盘价
夜收价格:=VALUEWHEN(TIME=230000,C);
早盘涨跌:= (最新价格-夜收价格)*100/夜收价格   ;

出的结果是:
2023-08-01 09:51:31.361     品种名称:ZQFG09 当前帐户:18508838787 昨收价格:1718.0 最新价格:1771.0 夜收价格:-1.$ 早盘涨跌:-1.$ 早盘跌常:-3.030 早盘涨常:1.946
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-8-1 10:33 | 显示全部楼层
TIME=230000

这里时间你要按照金字塔时间写,你写北京时间 是对齐不上的。
北京时间2300000 对应的是 30000 你在K线图上看下。加四个小时才是金字塔时间。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 13:07 , Processed in 0.155870 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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