金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1762|回复: 7

公式算法封装问题

[复制链接]

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
发表于 2024-5-9 09:14 | 显示全部楼层 |阅读模式
向老师请教公式算法封装问题:在采用一目均衡表公式的策略时,将公式该为逐K线计算模式时,出现这个提示,怎么将序列模式下运行的该公式运用到逐K线计算模式的交易策略中,怎么使用用户函数模式调用它呢?

本帖子中包含更多资源

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

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-5-9 09:18 | 显示全部楼层
看下这个例子,把公式写到test01这个是公式名
B1是里面的指标输出线。

然后其他地方参考图上写法就引用过来可以

本帖子中包含更多资源

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

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

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-5-9 09:44 | 显示全部楼层
我先将一目均衡表公式命名:一目,然后用#.#后,编译显示缺少左括号,请教老师怎么写才对?

本帖子中包含更多资源

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

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-5-9 09:46 | 显示全部楼层
这个就是哪里括号缺少了,建议自己检查下
先就单独引用一个指标看看
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-5-9 10:17 | 显示全部楼层
一行只能搞一个,我想请问这样是否正确?整个公式复制后,怎么知道#一目.迟行带(26,2,100)#这样命名引用是正确的?在写条件的时候是不是将这个命名直接用:例:cross(#一目.转换线(26,2,100)#,#一目.基准线(26,2,100)#);能给个参考案例吗?

本帖子中包含更多资源

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

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-5-9 10:18 | 显示全部楼层
参考上面2楼贴图例子,test01是公式名字
里面指标线名字叫b1:c

本帖子中包含更多资源

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

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

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-5-9 11:30 | 显示全部楼层
技术008 发表于 2024-5-9 10:18
参考上面2楼贴图例子,test01是公式名字
里面指标线名字叫b1:c

老师请看下这样修改可以吗?
input:n1(9,2,100),n2(26,2,100),n3(52,2,100);
RUNMODE:1;

#YM.转换线#;
//#YM.转换线(9,2,100)#;
#YM.基准线(26,2,100)#;
#YM.迟行带(26,2,100)#;
#YM.先行带A(26,2,100)#;
#YM.先行带B(52,2,100)#;

AA:=(HHV(HIGH,120)-LLV(LOW,120))/30,LINETHICK;
Var1:=(2*CLOSE+HIGH+LOW)/4;
转换线:(HHV(HIGH,n1)+LLV(LOW,n1))/2,coloraaff99,LINETHICK;
基准线:(HHV(HIGH,n2)+LLV(LOW,n2))/2,colorff6dd8,LINETHICK;
迟行带:REFX(CLOSE,n2),colorff9224;
先行带A:REF((转换线+基准线)/2,n2),COLORYELLOW,LINETHICK;
先行带B:REF((HHV(HIGH,n3)+LLV(LOW,n3))/2,n2),color909090;

STICKLINE(先行带A<先行带B,先行带A,先行带B,2,1.5),COLOR339933;
STICKLINE(先行带A>=先行带B,先行带A,先行带B,2,0.1),COLOR0033CC;
POLYLINE(1,先行带A),COLORYELLOW;
POLYLINE(1,基准线),colorff6dd8;
POLYLINE(1,转换线),coloraaff99,LINETHICK;

//多空条件
kd1:=CROSS(转换线,基准线) AND Var1<MIN(先行带A,先行带B);
kd2:=CROSS(转换线,基准线) AND IF(Var1>MIN(先行带A,先行带B) AND Var1 < MAX(先行带A,先行带B),1,0);
kd3:=CROSS(转换线,基准线) AND Var1>MAX(先行带A,先行带B);
kk1:=CROSS(基准线,转换线) AND Var1<MIN(先行带A,先行带B);
kk2:=CROSS(基准线,转换线) AND if(Var1>MIN(先行带A,先行带B) and Var1 < MAX(先行带A,先行带B),1,0);
kk3:=CROSS(基准线,转换线) AND Var1>MAX(先行带A,先行带B);

这里有个问题1:#YM.转换线#;这样写不带参数可以吗?
问题2:公式里的RUNMODE:1是定义指标运行模式的;在后面的交易策略里,也就是多空条件上是否要重新定义运行模式为逐K模式?

补充内容 (2024-5-9 11:32):
问题3:有3组买卖条件,怎么写一 一对应的平仓?
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-5-9 13:12 | 显示全部楼层
可以不带参数
不需要了,你指定好模式,这个策略就是运行在这个模式下了

就分成三个平仓语句就可以了
if kk1 then sell
if kk2 then sell
三个条件,谁满载了都能平仓
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-28 14:26 , Processed in 0.098209 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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