金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3847|回复: 9

请教修改BARSLASTCOUNT函数问题

[复制链接]

44

主题

2242

帖子

2242

积分

等级: 免费版

注册:
2021-6-5
曾用名:
发表于 2023-9-25 12:51 | 显示全部楼层 |阅读模式
原来代码
底背离1:=特殊底 AND LOW<REF(LOW,TTT) AND DIF>REF(DIF,TTT) AND LLV(DIF,BARSLASTCOUNT(MACD<0))>REF(DIF,TTT);
根据BBS帖子内容现在修改成


                                                                      //BARSLASTCOUNT(MACD<0))  BARSLAST(not(MACD>0)))
底背离1:=特殊底 AND LOW<REF(LOW,TTT) AND DIF>REF(DIF,TTT) AND LLV(DIF,BARSLAST(not(MACD<0)))>REF(DIF,TTT),NODRAW;



结果
评测是零结果


其他软件评测如下


代码一样

本帖子中包含更多资源

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

x
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

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

先把指标加载在图上,看下最后那个变量值的输出结果的差异。如果那个结果都无法一致,回测自然也无法一致了。如果指标结果一致,那么你看下是不是回测品种的数据是不是不足。通常只要在图上能有信号,回测是肯定有结果的。

不同软件 在数据切分方式,代码中无效值的处理,函数底层的实现 上都会有差异性的,想完全一样 通常是不太实际的,只能说互为参考。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

44

主题

2242

帖子

2242

积分

等级: 免费版

注册:
2021-6-5
曾用名:
 楼主| 发表于 2023-9-25 14:10 | 显示全部楼层
技术009 发表于 2023-9-25 13:09
先把指标加载在图上,看下最后那个变量值的输出结果的差异。如果那个结果都无法一致,回测自然也无法一致了 ...

金字塔没有没有任何信号


本帖子中包含更多资源

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

x
回复

使用道具 举报

44

主题

2242

帖子

2242

积分

等级: 免费版

注册:
2021-6-5
曾用名:
 楼主| 发表于 2023-9-25 14:16 | 显示全部楼层
技术009 发表于 2023-9-25 13:09
先把指标加载在图上,看下最后那个变量值的输出结果的差异。如果那个结果都无法一致,回测自然也无法一致了 ...


本帖子中包含更多资源

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

x
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-25 14:31 | 显示全部楼层

这种写法金字塔里 不支持的。我们的画线函数,就是纯画线,没有返回值。所以后续基于它的计算 肯定是算不下去的。

本帖子中包含更多资源

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

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

使用道具 举报

44

主题

2242

帖子

2242

积分

等级: 免费版

注册:
2021-6-5
曾用名:
 楼主| 发表于 2023-9-26 07:41 | 显示全部楼层
技术009 发表于 2023-9-25 14:31
这种写法金字塔里 不支持的。我们的画线函数,就是纯画线,没有返回值。所以后续基于它的计算 肯定是算不 ...

上段:=DRAWLINE(段低,LOW,段高,HIGH,0),LINETHICK2,COLORMAGENTA;
下段:=DRAWLINE(段高,HIGH,段低,LOW,0),LINETHICK2,COLORFF8000;

DRAWLINE(cross(s1,0),H,cross(s2,0) OR ISLASTBAR,L,0),LINETHICK2;
DRAWLINE(cross(s2,0),L,cross(s1,0) OR ISLASTBAR,H,0),LINETHICK2;
上面二段代码并没有区别啊


完整代码如下
DIF:EMA(CLOSE,21)-EMA(CLOSE,34)COLORRED,LINETHICK2;
DEA:EMA(DIF,5);
IF(DIF<DEA,DIF,DRAWNULL),COLORWHITE,LINETHICK2;
MACD:(DIF-DEA)*2,COLORSTICK;

笔低A:=LOW<=LLV(LOW,笔参数),NODRAW;
笔高A:=HIGH>=HHV(HIGH,笔参数),NODRAW;
笔低:=笔低A AND 笔高A=0,NODRAW;
笔高:=笔高A AND 笔低A=0,NODRAW;
上笔:=DRAWLINE(笔低,LOW,笔高,HIGH,0)COLOR0000FF;
下笔:=DRAWLINE(笔高,HIGH,笔低,LOW,0),COLOR00FF00;
拐下:=上笔>REF(上笔,1) AND 下笔>REFX(下笔,1),NODRAW;
拐上:=下笔<REF(下笔,1) AND 上笔<REFX(上笔,1),NODRAW;
段低A:=LOW<=LLV(LOW,段参数*笔参数),NODRAW;
段高A:=HIGH>=HHV(HIGH,段参数*笔参数),NODRAW;
段低:=段低A AND 段高A=0,NODRAW;
段高:=段高A AND 段低A=0,NODRAW;
上段:=DRAWLINE(段低,LOW,段高,HIGH,0),LINETHICK2,COLORMAGENTA;
下段:=DRAWLINE(段高,HIGH,段低,LOW,0),LINETHICK2,COLORFF8000;
特殊底:=下段=上段 AND  段低 AND MACD<0,NODRAW;
TTT:=REF(BARSLAST(特殊底),1)+1;


底背离1:=特殊底 AND LOW<REF(LOW,TTT) AND DIF>REF(DIF,TTT) AND LLV(DIF,BARSLASTCOUNT(MACD<0))>REF(DIF,TTT),NODRAW;
底背左点1:=BACKSET(底背离1,TTT+1) AND REF(BACKSET(底背离1,TTT+1),1)=0 AND 特殊底;
DRAWLINE(底背左点1,DIF,底背离1,DIF,0),COLORFF00FF,LINETHICK2;
底背离2:=特殊底 AND LOW<REF(LOW,TTT) AND MACD>REF(MACD,TTT) AND LLV(MACD,BARSLASTCOUNT(MACD<0))>REF(MACD,TTT),NODRAW;
底背左点2:=BACKSET(底背离2,TTT+1) AND REF(BACKSET(底背离2,TTT+1),1)=0 AND 特殊底;
DRAWLINE(底背左点2,MACD,底背离2,MACD,0),COLORFF00FF,LINETHICK1;


特殊顶:=下段=上段 AND  段高 AND MACD>0,NODRAW;
TTTG:=REF(BARSLAST(特殊顶),1)+1;
顶背离1:=特殊顶 AND HIGH>REF(HIGH,TTTG) AND DIF<REF(DIF,TTTG) AND HHV(DIF,BARSLASTCOUNT(MACD>0))<REF(DIF,TTTG),NODRAW;
顶背左点1:=BACKSET(顶背离1,TTTG+1) AND REF(BACKSET(顶背离1,TTTG+1),1)=0 AND 特殊顶;
DRAWLINE(顶背左点1,DIF,顶背离1,DIF,0),COLORGREEN,LINETHICK2;
顶背离2:=特殊顶 AND HIGH>REF(HIGH,TTTG) AND MACD<REF(MACD,TTTG) AND HHV(MACD,BARSLASTCOUNT(MACD>0))<REF(MACD,TTTG),NODRAW;
顶背左点2:=BACKSET(顶背离2,TTTG+1) AND REF(BACKSET(顶背离2,TTTG+1),1)=0 AND 特殊顶;
DRAWLINE(顶背左点2,MACD,顶背离2,MACD,0),COLORGREEN,LINETHICK1;


DRAWTEXT(底背离2=1,MACD,' 柱背离'),COLORFF00FF;
DRAWTEXT(底背离1=1,DIF,' 线背离'),COLORFF00FF;
DRAWTEXT(顶背离2=1,MACD,' 柱背离'),COLORGREEN;
DRAWTEXT(顶背离1=1,DIF,' 线背离'),COLORGREEN;


DRAWICON(REF(DIF,1)>REF(DIF,2) AND DIF<REF(DIF,1) AND DIF>0 AND DIF>DEA,DIF*1.1,2),COLORGREEN;
DRAWICON(REF(DIF,1)<REF(DIF,2) AND DIF>REF(DIF,1) AND DIF<0 AND DIF<DEA,DIF*1.1,1),COLORRED;
XA_2:=BARSLAST(REF(MACD,1)<0 AND MACD>0);
XA_3:=LLVBARS(MACD,XA_2+20);
XA_4:=IF(XA_3>XA_2,REF(MACD,XA_3),0);
XA_5:=MACD<0 AND MACD>XA_4 AND LOW=LLV(LOW,XA_2+20) AND XA_4<0;
柱背离1:=(REF(XA_5,1)=1 AND MACD>REF(MACD,1) AND REF(DIF,XA_3)<0 AND MACD<0),NODRAW;
DRAWLINE(XA_4=XA_3,MACD,柱背离1,MACD,0),COLORRED,LINETHICK1;
DRAWICON(柱背离1,0,26);
柱背离A:BARSLAST(柱背离1>0)+1,COLORYELLOW,NODRAW;
柱背离:BARSLAST(底背离2>0)+1,COLORMAGENTA,NODRAW;
线背离:BARSLAST(底背离1>0)+1,COLORWHITE,NODRAW;


回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-26 08:58 | 显示全部楼层
不一样的哦。

这2句代码,因为我们的绘图函数 是没有返回值的,下面这2句代码实际没有给上笔,下笔数值的。但是你后面的计算都是基于这2个变量的。

上笔:=DRAWLINE(笔低,LOW,笔高,HIGH,0)COLOR0000FF;
下笔:=DRAWLINE(笔高,HIGH,笔低,LOW,0),COLOR00FF00;

其他还有还几个变量也是这样。

所以仅仅只是代码规范是一样的,绘图效果也差不多,但是有没有返回值这个差异是导致代码失效的根本原因。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

44

主题

2242

帖子

2242

积分

等级: 免费版

注册:
2021-6-5
曾用名:
 楼主| 发表于 2023-9-26 12:45 | 显示全部楼层
技术009 发表于 2023-9-26 08:58
不一样的哦。

这2句代码,因为我们的绘图函数 是没有返回值的,下面这2句代码实际没有给上笔,下笔数值 ...

可有把代码办法修改成金字塔指标代码方法的吗?

补充内容 (2023-9-26 12:47):
可有办法把代码修改成金字塔指标代码方法吗?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-26 13:09 | 显示全部楼层
暂时不行,目前没有函数可以获取绘图函数绘制的曲线的数值结果。

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

使用道具 举报

44

主题

2242

帖子

2242

积分

等级: 免费版

注册:
2021-6-5
曾用名:
 楼主| 发表于 2023-9-26 13:18 | 显示全部楼层
技术009 发表于 2023-9-26 13:09
暂时不行,目前没有函数可以获取绘图函数绘制的曲线的数值结果。

谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-30 12:35 , Processed in 0.149761 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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