[求助] 问题:我想用未来函数实现下面的功能 (文华财经WH8赢智V8.2)

投资者咨询:[求助] 问题:我想用未来函数实现下面的功能 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-16 10:44
SHORT:=12;
LONG:=26;
M:=9;
T大:=1;//  N倍MACD 基础K线周期为3分钟时;基础的1倍-T小-小级别平台,基础的5倍-T中-中级别平台,基础的30倍-T大-大级别平台,

//************************30倍MACD指标*****************************
T大DIFF:=EMA(CLOSE,SHORT*T大) - EMA(CLOSE,LONG*T大),DOT;//短周期与长周期的收盘价的指数平滑移动平均值做差。
T大DEA :=EMA(T大DIFF,M*T大),DASHDOT;//DIFF的M个周期指数平滑移动平均
T大MD  :=2*(T大DIFF-T大DEA),COLORSTICK;//DIFF减DEA的2倍画线 

T大UP:BARSLASTCOUNT(T大MD>=0),NODRAW;//金叉,动态上涨周期
T大DN:BARSLASTCOUNT(T大MD<=0),NODRAW;//死叉,动态下跌周期

//-----求-----金叉,死叉动态周期数**量化*********************************
T大UP前:=VALUEWHEN(T大UP=1,LLVBARS(L,REF(T大DN,1))),NODRAW;//金叉时,前面最低价所在周期
T大UP全:=T大UP+IF(ISNULL(T大UP前),0,T大UP前),NODRAW;//金叉,最低价全面动态上涨周期
T大DN前:=VALUEWHEN(T大DN=1,HHVBARS(H,REF(T大UP,1))),NODRAW;
T大DN全:=T大DN+IF(ISNULL(T大DN前),0,T大DN前),NODRAW;//死叉,最高价全面动态下跌周期

//-----求-并记录---金叉,死叉对应的动态最高价,最低价------------
T大GJ:VALUEWHEN(T大UP>0,HHV(H,T大UP全)),NODRAW;//最高点 
T大GDIFF:=VALUEWHEN(T大UP>0,HHV(T大DIFF,T大UP)),NODRAW;
T大HZ:=VALUEWHEN(T大MD>=0,SUM(T大MD,T大UP)),COLORMAGENTA,NODRAW;//计算,红柱面积

T大DJ:VALUEWHEN(T大DN>0,LLV(L,T大DN全)),NODRAW;//最低点 
T大DDIFF:=VALUEWHEN(T大DN>0,LLV(T大DIFF,T大DN)),NODRAW;
T大LZ:=VALUEWHEN(T大MD<=0,SUM(T大MD,T大DN)),NODRAW;

//------金叉,死叉时,从低点向高点画线------------
DRAWLINE1( T大UP=1,T大DJ ,T大DN=1 , T大GJ, 0),LINETHICK3,COLORWHITE;

//问题:我想用未来函数实现下面的功能:
//金叉之后,死叉之前的高点是在未来才出现的,现在我想在金叉时候,
//通过使用未来函数读出未来的高点,并从金叉开始画出这条水平线
技术人员回复
日期:2018-5-16 10:54
投资者咨询:[求助] 问题:我想用未来函数实现下面的功能 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-16 10:44
 两个问题都是我问的,那个问题都没有得到解答
技术人员回复
日期:2018-5-16 11:03

经与相关同事核实,您的思路含有 在金叉时取本段红柱区间的K线最高价,这是实现不了的,

 

用未来函数REFX或REFX1取未来指标时,必须是固定的周期才能取到,比如5周期,

 

macd指标中红柱周期是不固定的,要用变量定义,所以取不到未来红柱区间K线的最高价,

 

建议您再调整下思路

     
投资者咨询:[求助] 问题:我想用未来函数实现下面的功能 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-16 10:44
 用REFX我知道是不能使用变量,能使用变量的只有backset这个函数,用这个函数能变通来实现我的需求吗?
技术人员回复
日期:2018-5-16 13:04

尝试用画线偏移函数DRAWLINE3帮您实现,参考:

 

DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
N1:=BARSLAST(JC)+1;
N2:BARSLAST(SC)+1,NODRAW;
HH:VALUEWHEN(SC,HHV(H,N1)),NODRAW;
A:BACKSET(SC,N1),NODRAW;
M:REF(SUMBARS(JC,1),N2),NODRAW;
MM1:IF(N2<M,REF(M,N2),M),NODRAW;
SS:REF(SC,M),NODRAW;
DRAWLINE3(SC,HH,M,REF(SC,MM1),HH,MM1,0);
 

投资者咨询:[求助] 问题:我想用未来函数实现下面的功能 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-16 10:44
 DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
N1:=BARSLAST(JC)+1;
N2:BARSLAST(SC)+1,NODRAW;
HH:VALUEWHEN(SC,HHV(H,N1)),NODRAW;

//A:BACKSET(SC,N1),NODRAW;//未使用

M:REF(SUMBARS(JC,1),N2),NODRAW;
MM1:IF(N2<M,REF(M,N2),M),NODRAW;
SS:REF(SC,M),NODRAW;

//DRAWLINE3(SC,HH,M,REF(SC,MM1),HH,MM1,0); 

//----------修改后的代码------------------
LL:VALUEWHEN(JC,LLV(L,N2)),NODRAW;
HHZQ:IF(SC=1,HHVBARS(H,REF(N1,1)),NULL),NODRAW;//求出高点到死叉的周期
LLZQ:IF(JC=1,LLVBARS(L,REF(N2,1)),NULL),NODRAW;//求出低点到金叉的周期

DRAWLINE3(N1=1,LL,LLZQ,N2=1,HH,HHZQ,0),COLORRED; //金叉低点向高点连线
DRAWLINE3(N2=1,HH,HHZQ,N1=1,LL,LLZQ,0),COLORGREEN; //死叉高点向低点连线

//问题:
//死叉后,如何从高点向当前的最低点画动态线
//金叉后,如何从低点向当前的最高点画动态线

技术人员回复
日期:2018-5-18 10:31

核实下,您是想取红柱区的低点、绿柱区的高点,然后连接这些点画线?

投资者咨询:[求助] 问题:我想用未来函数实现下面的功能 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-16 10:44
当金叉发生之后,死叉之前,取上一个绿柱区的最低点,向当前红柱区的最高点画线
技术人员回复
日期:2018-5-18 11:06

本地加载了您7楼的指标,就是您想要的效果,从绿柱的低点(图中蓝圈价格)向红柱的高点(粉圈价格)画线,

 

您想要的不是这个效果?也请配合截图具体说明下

 



图片点击可在新窗口打开查看