金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1924|回复: 6

数值偏差怎么解决

[复制链接]

22

主题

72

帖子

72

积分

等级: 免费版

注册:
2021-5-31
曾用名:
发表于 2023-7-30 16:45 | 显示全部楼层 |阅读模式
   老师,这个代码当前红线区间的当前值是K3<K4 区间取最高价,定义(前高)是前一段K3<K4 区间的最高价
现在遇到问题是,在当前最后一k之前,定义(前高)显示都是前一段的最高价格数值,但是在当前运行k红线支撑还在延续没有变成白线的时候,只要是最后一k,价格却显示成了当前区间的最高价,其实应该还要显示前段区间最高价才是顺序前推前一段红色支撑线的最后一k也是这样的问题,反之前低也是这样子的问题,我要的是完整红色或白色线段区间他们的价格极致不要前后移动。麻烦老师帮忙调制下,谢谢!


G:=IF(HIGH=HHV(HIGH,3),1,0);
D:=IF(LOW=LLV(LOW,3),1,0);
S:=IF(REF(G,2)=1 AND REF(G,1)=0 AND G=0,REF(HIGH,2),REF(HIGH,2+(BARSLAST(REF(G,2)=1 AND REF(G,1)=0 AND G=0))));
X:=IF(REF(D,2)=1 AND REF(D,1)=0 AND D=0,REF(LOW,2),REF(LOW,2+(BARSLAST(REF(D,2)=1 AND REF(D,1)=0 AND D=0))));
K1:=IF(HIGH>=MA(CLOSE,1),S,REF(S,BARSLAST(HIGH>MA(CLOSE,1))));
K2:=IF(LOW<=MA(CLOSE,5),X,REF(X,BARSLAST(LOW<=MA(CLOSE,5))));
C1:=REF(CLOSE,1)<=K1 AND CLOSE>K1;
C2:=REF(CLOSE,1)>=K2 AND CLOSE<K2;
K3:=BARSLAST(C1);
K4:=BARSLAST(C2);
多头线:IF(K3<K4,K2,DRAWNULL),COLORred,LINETHICK2;
空头线:IF(K3>K4,K1,DRAWNULL) ,COLOrwhite,LINETHICK2;
当前值:IF(K3<K4,HHV(H, BARSLAST(not(K3<K4))),LLV(L, BARSLAST(not(K3>K4)))),NODRAW;     
前高:       VALUEWHEN( (K3<K4 AND ISLASTBAR) OR  REFX(CROSS(0.5,K3<K4),1),HHV(H,BARSLAST(not(K3<K4)))),NODRAW;
再前高:     VALUEWHEN( (K3<K4 AND ISLASTBAR) OR  REFX(CROSS(0.5,K3<K4),1),REF(前高,1)),NODRAW;
前低:      VALUEWHEN((K3>K4  AND ISLASTBAR) or REFX(CROSS(0.5,K3>K4),1),LLV(L,BARSLAST(not(K3>K4)))),colorwhite,NODRAW;
再前低:     VALUEWHEN((K3>K4  AND ISLASTBAR) or REFX(CROSS(0.5,K3>K4),1),REF(前低,1)),NODRAW;

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

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

参考这里的做法:
L1:=LLV(L, BARSLAST(not(K3>K4)));
H1:=HHV(H, BARSLAST(not(K3<K4)));
当前值:IF(K3<K4,H1,L1),NODRAW;  

前高:       VALUEWHEN(CROSS(k3,k4),ref(当前值,1)),NODRAW;
再前高:     VALUEWHEN(前高<>ref(前高,1),REF(前高,1)),NODRAW;

前低:      VALUEWHEN(CROSS(k4,k3),ref(当前值,1)),colorwhite,NODRAW;
再前低:     VALUEWHEN(前低<>ref(前低,1),REF(前低,1)),NODRAW;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

22

主题

72

帖子

72

积分

等级: 免费版

注册:
2021-5-31
曾用名:
 楼主| 发表于 2023-7-31 10:43 | 显示全部楼层
技术009 发表于 2023-7-31 10:06
参考这里的做法:
L1:=LLV(L, BARSLAST(not(K3>K4)));
H1:=HHV(H, BARSLAST(not(K3

谢谢老师,请问如果K3>K4这个参数定义换成是K3=1 和K3=-3,那么CROSS(k3,k4),是简单换成CROSS(k3,1),和CROSS(k3,-3)吗
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-31 10:58 | 显示全部楼层
CROSS(k3,-3) 那这个参数是写反了吧
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

22

主题

72

帖子

72

积分

等级: 免费版

注册:
2021-5-31
曾用名:
 楼主| 发表于 2023-7-31 11:10 | 显示全部楼层
技术009 发表于 2023-7-31 10:58
CROSS(k3,-3) 那这个参数是写反了吧

压力支撑参数换成这样的

空头线:IF(K2=1,G,NULL) ,NODRAW ;
多头线:IF(K2=-3,G,NULL)  ,NODRAW ;
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-31 11:18 | 显示全部楼层
这种以等于为条件的,通常只会单个K满足吧。不会持续性满足的吧。你最终结果可能就是只有几个K上有多空线输出了吧
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

22

主题

72

帖子

72

积分

等级: 免费版

注册:
2021-5-31
曾用名:
 楼主| 发表于 2023-7-31 12:32 | 显示全部楼层
技术009 发表于 2023-7-31 11:18
这种以等于为条件的,通常只会单个K满足吧。不会持续性满足的吧。你最终结果可能就是只有几个K上有多空线输 ...

老师,如果在当前多头线区域求上一段多头线的最后一个数值,怎么写
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 13:10 , Processed in 0.149350 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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