金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1684|回复: 9

图片程序化中,如果想不同的品种,设置不同的参数,怎么做?

[复制链接]

40

主题

93

帖子

93

积分

等级: 免费版

注册:
2021-9-28
曾用名:
发表于 2024-4-23 22:39 | 显示全部楼层 |阅读模式
1、图表程序化中,如果想不同的品种,设置不同的参数,怎么做?
如果图表显示的 螺纹钢,参数阀门=20;
如果图表显示的 玉米,参数阀门=10;
如果图表显示的 乙烯,参数阀门=5;
........
........
参数:..................(中间变量)
.....
.....
if 参数>参数阀门 then begin
开多:BUY(1,1,LIMITR, c);


2、参数阀门写在单独的公式模块里,主程序怎么调用这模块?
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-4-24 09:16 | 显示全部楼层
没必要单独一个公式模块,非必要不需要采用引用模式。直接在策略中做判断就行
示例代码如下:
参数阀门:=0;
IF STKLABEL='RB00' THEN 参数阀门:=100;
IF STKLABEL='HC00' THEN 参数阀门:=200;

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

使用道具 举报

40

主题

93

帖子

93

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2024-4-24 10:40 | 显示全部楼层
1、单独一个公式模块,在引用的时候会影响执行效率吗?
2、因为判断的语句比较多,这直接写在主程序,内容太多了。想单独建立一个品种参数模块(把品种差异化的写在一个模块,把品种共性的写在主程序中)
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-4-24 10:44 | 显示全部楼层
阿金 发表于 2024-4-24 10:40
1、单独一个公式模块,在引用的时候会影响执行效率吗?
2、因为判断的语句比较多,这直接写在主程序,内容 ...

1.引用本身就会整体的影响执行效率。还不能充分使用多核。
2.单独也是一样的,通过stkindi函数引用变量【参数阀门】就行、

例如:
参数阀门:=0;
IF STKLABEL='RB00' THEN 参数阀门:=100;
IF STKLABEL='HC00' THEN 参数阀门:=200;
结果:参数阀门

当前公式中stkindi('','被引用公式名称.结果',0,6);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

40

主题

93

帖子

93

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2024-4-24 10:44 | 显示全部楼层
1、
IF STKLABEL='RB00' THEN 参数阀门:=100;
IF STKLABEL='HC00' THEN 参数阀门:=200;
IF STKLABEL='C00' THEN 参数阀门:=250;
........
(50个品种的参数)

2、
IF STKLABEL='RB00' THEN 参数阀门:=100 else
IF STKLABEL='HC00' THEN 参数阀门:=200 else
IF STKLABEL='C00' THEN 参数阀门:=250 else
........
(50个品种的参数)

这两种程序执行效率是一样的吗?(加了else)
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-4-24 10:48 | 显示全部楼层
没什么区别。如果很在乎效率直接创建多个策略,按品种或者按相同参数对应策略。

这样也不需要做这种参数判断。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

40

主题

93

帖子

93

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2024-4-24 11:02 | 显示全部楼层
技术006 发表于 2024-4-24 10:44
1.引用本身就会整体的影响执行效率。还不能充分使用多核。
2.单独也是一样的,通过stkindi函数引用变量 ...

如果只在开盘的时候引用,其他时间不引用,应该怎么写?谢谢
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-4-24 11:06 | 显示全部楼层
阿金 发表于 2024-4-24 11:02
如果只在开盘的时候引用,其他时间不引用,应该怎么写?谢谢

做不到,策略每次执行都会引用指标。


如果参数是固定的,不是动态变化的,也可以直接将自己的参数做成配置文件,直接读取配置。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

40

主题

93

帖子

93

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2024-4-24 11:11 | 显示全部楼层
1、我记得有的判断语句,就是今天不等于昨天日期的时候,执行。这可以的吗?
2、IF TODAYBAR=1 THEN stkindi('','被引用公式名称.结果',0,6);

这样可以吗?
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-4-24 11:17 | 显示全部楼层
阿金 发表于 2024-4-24 11:11
1、我记得有的判断语句,就是今天不等于昨天日期的时候,执行。这可以的吗?
2、IF TODAYBAR=1 THEN stkin ...

能用,但是这样写不规范。不符合序列变量的赋值操作。如果仅对于你这种静态的参数值是可以的。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-3 21:23 , Processed in 0.107440 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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