指标编程请教 (文华财经随身行iPhone   5.4.5)

投资者咨询:指标编程请教 (文华财经随身行iPhone   5.4.5)
来源:文华财经  日期:2018-8-14 19:06
请齐云老师解答。
请问齐云老师,如何表示K线图中一个低点到之后最近一个高点的周期距离,高低点公式比较复杂,请您直接用拼音简写DD、GD表示,谢谢。
技术人员回复
日期:2018-8-14 19:12
首先判断一下低点后的第一个高点

DD;
GD;
AA:COUNT(GD,BARSLAST(DD))=1&&GD,NODRAW;//低点后第一个高点的判断
VALUEWHEN(AA,BARSLAST(DD));//返回低点后第一个高点到之前低点的距离
投资者咨询:指标编程请教 (文华财经随身行iPhone   5.4.5)
来源:文华财经  日期:2018-8-14 19:06
 那又如何表示K线图中一个低点到之最近一个高点的周期距离呢? (我跟一楼是一个人,客户端不一样)
技术人员回复
日期:2018-8-14 21:58
参考:

VALUEWHEN(DD,BARSLAST(GD));
投资者咨询:指标编程请教 (文华财经随身行iPhone   5.4.5)
来源:文华财经  日期:2018-8-14 19:06
 齐云老师,请问未来20周期内的最高点该怎么表示呢?
技术人员回复
日期:2018-8-14 22:26
 需要用未来函数

REFX(HHV(H,20),20);
投资者咨询:指标编程请教 (文华财经随身行iPhone   5.4.5)
来源:文华财经  日期:2018-8-14 19:06
 齐云老师,我还是把完整的思路发给您,请您解答一下吧。
 我想定义出K线图内的高低点,高低点首先是前后五日内最高,同时,高低点必须要交替出现。打个比方,如果一个高点出现后,在后续没有出现低点(前后五日最低)的情况下,又再次出现了一个高点,则必须将这个高点与之前的高点进行比较,保留较大的一个,以此类推,直到低点出现。根据您之前的指导,我编写了以下定义,但是加载时提示REFX函数的周期不允许是变量,请问现在该如何解决?期待您的帮助,谢谢。

GD:=H>HV(H,4)&&H>=REFX(HV(H,4),5);
DD:=L<LV(L,4)&&L<=REFX(LV(L,4),5);
 
AA:=COUNT(GD,BARSLAST(DD))=1&&GD;//低点后第一个高点的判断
AA1:=VALUEWHEN(AA,BARSLAST(DD));//返回低点后第一个高点到之前低点的距离
BB1:=VALUEWHEN(DD,BARSLAST(GD));//返回低点前第一个高点到之后低点的距离
低点:=DD&&REFX(REF(L,AA1)=LLV(L,AA1+BB1),AA1);
 
XX:=COUNT(DD,BARSLAST(GD))=1&&DD;//高点后第一个低点的判断
XX1:=VALUEWHEN(XX,BARSLAST(GD));//返回高点后第一个低点到之前高点的距离
YY1:=VALUEWHEN(GD,BARSLAST(DD));//返回高点前第一个低点到之后高点的距离
高点:=GD&&REFX(REF(H,XX1)=HHV(H,XX1+YY1),XX1);
   
投资者咨询:指标编程请教 (文华财经随身行iPhone   5.4.5)
来源:文华财经  日期:2018-8-14 19:06
我用图示来说明一下,如图是按照以下定义写的:
GD:=H>HV(H,4)&&H>=REFX(HV(H,4),5);
DD:=L<LV(L,4)&&L<=REFX(LV(L,4),5);
图中第一个低点出现之后,由于在没有出现高点的情况下出现低点,所以应该对两个低点进行比较,去掉较大的右侧低点。
要完善低点的定义,它不仅要是前后五日的最低值,而且要是两个高点形成的区间内的最低值。我想先用未来函数REFX从低点移到最右边的高点,移动周期为楼上的AA1,同时低点需为区间内的最低点,即REFX(REF(L,AA1)=LLV(L,AA1+BB1),AA1),这样第二个低点由于不满足条件二,就会被剔除,两个高点中间无论连续出现多少低点都会只保留住最小的那一个。高点也是同理。
但是REFX的第二个参数不能是变量 ,所以无法加载,请齐云老师帮助实现我的思路,完善高低点的定义,十分感谢。


按此在新窗口浏览图片
文件名:捕获.jpg
 
   
技术人员回复
日期:2018-8-15 8:29
这样看下:

GD:=H>HV(H,4)&&H>=REFX(HV(H,4),5);
DD:=L<LV(L,4)&&L<=REFX(LV(L,4),5);
//VERTLINE(GD,COLORRED);
AA1:COUNT(GD,BARSLAST(DD))>1&&H=HHV(IF(GD,H,0),BARSLAST(DD)),NODRAW;
BB1:BACKSET(AA1,BARSLAST(DD)),NODRAW;
VERTLINE(AA1,COLORRED);
VERTLINE(H=HHV(IF(GD,H,0),BARSLAST(DD))&&GD*IF(BB1=1,0,1),COLORRED);


AA:COUNT(DD,BARSLAST(GD))>1&&L=LLV(IF(DD,L,9999999),BARSLAST(GD)),NODRAW;
BB:BACKSET(AA,BARSLAST(GD)),NODRAW;
VERTLINE(AA,COLORGREEN);
VERTLINE(L=LLV(IF(DD,L,9999999),BARSLAST(GD))&&DD*IF(BB=1,0,1),COLORGREEN);

投资者咨询:指标编程请教 (文华财经随身行iPhone   5.4.5)
来源:文华财经  日期:2018-8-14 19:06
 老师,能麻烦您在后面注释一下吗?我看不太懂。