金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1484|回复: 7

关于混合周期的编写

[复制链接]

12

主题

33

帖子

33

积分

Rank: 4

等级: 专业版

注册:
2023-4-11
曾用名:
发表于 2023-5-18 19:07 | 显示全部楼层 |阅读模式
AA:=(2*A+H+L)/2,这个公式,我A代表一个可变的数,我想写这个公式中的H和L都属于周线周期,而且A属于日线周期,这个怎么写呢?谢谢。


补充内容 (2023-5-18 19:15):
我知道可以H改成引用周H,L改成引用周L。我下面还有功能。AA1:=MA(AA,3); AA2:MA(AA1,3);这个需要时周线周期。

补充内容 (2023-5-18 19:17):
AA:=(2*A+H+L)/2;
AA1:=MA(AA,3);
AA2:=MA(AA1,3);
AA3:=MA(AA3,3);
这个都需要在周线周期中表示,就是其中A,需要是日线周期的数值。

补充内容 (2023-5-18 19:19):
AA:=(2*A+H+L)/2;
AA1:=MA(AA,3);
AA2:=MA(AA1,3);
AA3:MA(AA3,3);
这个AA3需要在周线周期中表示,但是其中A,需要是日线周期的数值。
回复

使用道具 举报

0

主题

2621

帖子

2621

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-5-19 08:34 | 显示全部楼层
策略运行在周线上还是日线上又或者是运行在其他周期上?

这类需求其实很简单,就是在当前周期上使用跨周期引用的形式获取数据、指标结果。例如:
需要在其他周期上得到日线周期上的A。(注意被引用的指标需要单独存在,不能自己引用自己)
方式1:使用引用操作符(下方2个示例中,A变量所在的指标名称需要根据实际的变量名称调整)
[PEL] 复制代码
A:"A变量所在的指标名称.A#DAY"


方式2:使用stkindi函数
[PEL] 复制代码
A:stkindi(STKLABEL,'A变量所在的指标名称.A',0,6);


回复

使用道具 举报

12

主题

33

帖子

33

积分

Rank: 4

等级: 专业版

注册:
2023-4-11
曾用名:
 楼主| 发表于 2023-5-19 09:19 | 显示全部楼层
资深技术03 发表于 2023-5-19 08:34
策略运行在周线上还是日线上又或者是运行在其他周期上?

这类需求其实很简单,就是在当前周期上使用跨周 ...

运行在日线周期,我还是不太明白。是不是需要分两步:1. 在之前的一个公式里,先引用另外一个公式的日线周期。2.然后再在最后的公式是引用这个周线周期。
例如:
A:''公式1.A#DAY'';
AA:=(2*A+H+L)/2;
AA1:=MA(AA,3);
AA2:=MA(AA1,3);
AA3:MA(AA3,3);
然后在另外一个公式中,在日线运行下用周线周期引用
AA3:''公式2.AA3#WEEK''
是这样吗?
回复

使用道具 举报

0

主题

76

帖子

76

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-27
曾用名:
发表于 2023-5-19 10:03 | 显示全部楼层
本帖最后由 资深技术07 于 2023-5-19 10:10 编辑

示例是通用的,如果您没看明白,
请您可以具体一下:A是引用日线周期的什么指标或值
                         H1是引用周线周期的什么指标或值、L1是引用周线周期的什么指标或值
我们将按照您的需求,为您编写具体的示例

A:=stkindi(STKLABEL,'A变量所在的指标名称.A',0,6);       //引日线数据
H1:=stkindi(STKLABEL,'H1变量所在的指标名称.H1',0,7);       //引周线数据
L1:=stkindi(STKLABEL,'L1变量所在的指标名称.L1',0,7);       //引周线数据
回复

使用道具 举报

12

主题

33

帖子

33

积分

Rank: 4

等级: 专业版

注册:
2023-4-11
曾用名:
 楼主| 发表于 2023-5-19 10:18 | 显示全部楼层
资深技术07 发表于 2023-5-19 10:03
示例是通用的,如果您没看明白,
请您可以具体一下:A是引用日线周期的什么指标或值
                    ...

上述这个明白,其中A是日线的,H和L都是周线的。但是我最终要的是在日线周期下运行的,周线周期的AA3,
AA:=(2*A+H+L)/2;
AA1:=MA(AA,3);
AA2:=MA(AA1,3);
AA3:MA(AA3,3);要这个是AA3的数值。
这里面还有MA(..,3);这里里面的3,是周线的3个周期。这个怎么解决?
回复

使用道具 举报

0

主题

2621

帖子

2621

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-5-19 10:23 | 显示全部楼层
103935 发表于 2023-5-19 09:19
运行在日线周期,我还是不太明白。是不是需要分两步:1. 在之前的一个公式里,先引用另外一个公式的日线周 ...

是这样的。您现在的做法是在例如中的第一个公式将算法全部实现,然后再引用这个公式在周线上的结果。整个过程需要3个公式实现。
回复

使用道具 举报

12

主题

33

帖子

33

积分

Rank: 4

等级: 专业版

注册:
2023-4-11
曾用名:
 楼主| 发表于 2023-5-19 10:23 | 显示全部楼层
A:=stkindi(STKLABEL,'A变量所在的指标名称.A',0,6);      
H1:=stkindi(STKLABEL,'H1变量所在的指标名称.H1',0,7);  
L1:=stkindi(STKLABEL,'L1变量所在的指标名称.L1',0,7);
AA:=(2*A+H+L)/2;
AA1:=MA(AA,3);
AA2:=MA(AA1,3);
AA3:MA(AA3,3);
AA4:stkindi(STKLABEL,'AA3变量所在的指标名称.AA3',0,7);

补充内容 (2023-5-19 10:24):
是这样写么?
回复

使用道具 举报

0

主题

2621

帖子

2621

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-5-19 11:06 | 显示全部楼层
本帖最后由 资深技术03 于 2023-5-19 11:09 编辑
103935 发表于 2023-5-19 10:23
A:=stkindi(STKLABEL,'A变量所在的指标名称.A',0,6);      
H1:=stkindi(STKLABEL,'H1变量所在的指标名称. ...

这个写法不太对。首先针对这个公式,您最终希望是在日线周期下得到周线上的AA3的结果值,但是公式中,的A是又日线周期下的结果。对吧?
AA:=(2*A+H+L)/2;
AA1:=MA(AA,3);
AA2:=MA(AA1,3);
AA3:MA(AA2,3);要这个是AA3的数值。(红色部分是笔误吧?应该是AA2?)

解决方法:即4楼的代码。整理结构如下:

1.首先建立一个含有A指标的公式,名称为公式1:
[PEL] 复制代码
A:定义A变量结果的算法;


2.在您描述的这个被引用的指标算法中获取公式1的A结果值。假设公式名称:【公式2】
[PEL] 复制代码
A:''公式1.A#DAY'';
//A:=stkindi(STKLABEL,'公式1.A',0,6);
AA:=(2*A+H+L)/2;
AA1:=MA(AA,3);
AA2:=MA(AA1,3);
AA3:MA([AA2,3);'


3.调用公式2在周线上的结果。
[PEL] 复制代码
AA3:''公式2.AA3#WEEK''
//[backcolor=rgb(255, 255, 255)]AA3:stkindi(STKLABEL,'[/backcolor]公式2[backcolor=rgb(255, 255, 255)].AA3',0,7);[/backcolor]


上述中,注释部分和上一行相同。 整个逻辑类似于:我们水果拼盘,先把西瓜切好(公式1),在把切好的西瓜和哈密瓜拼成一个果盘(公式2)。特定的客人到来时我们直接端这个果盘过去即可(引用公式2的结果)



回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-20 13:53 , Processed in 0.291711 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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