台阶的表示方法 (文华财经WH8赢智V8.2)

投资者咨询:台阶的表示方法 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-5 21:26
老师你好:这是在你的指导下,编的波峰波谷模型,截图中的黄线是BF3,红线是BG3, 

MA3:MA(C,3);
BF1:=REF(EVERY(MA3>REF(MA3,1),2),1)&&MA3<REF(MA3,1);//判断前一个波峰
BG1:=REF(EVERY(MA3<REF(MA3,1),2),1)&&MA3>REF(MA3,1);//判断前一个波谷
BF2:=VALUEWHEN(BF1,REF(MA3,3)); //取上次BF1的前一个MA3值
BG2:=VALUEWHEN(BG1,REF(MA3,3));//取上次BG1的前一个MA3值

BFX:=BF1&&(REF(MA3,1)>=BG2+1*MINPRICE); //过滤BF1波峰中差值小于5点的波峰
BGX:=BG1&&(REF(MA3,1)<=BF2-1*MINPRICE);//过滤BG1波谷中差值小于5点的波谷

BF3:VALUEWHEN(BFX,REF(MA3,1))+1*MINPRICE;//取波峰MA3
BG3:VALUEWHEN(BGX,REF(MA3,1))-1*MINPRICE;//取波谷MA3

截图中的黄线是BF3,红线是BG3, 

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

BF3黄线和BG3红线,他们都是台阶的
当前的BF3值或者BG3值,就是当前的这个台阶的值,
我想知道,在它们之前的两个台阶值的分别的表示方法,请老师帮我一下,谢谢。
 
技术人员回复
日期:2018-8-6 8:25

参考:

 

MA3:MA(C,3);
BF1:=REF(EVERY(MA3>REF(MA3,1),2),1)&&MA3<REF(MA3,1);//判断前一个波峰
BG1:=REF(EVERY(MA3<REF(MA3,1),2),1)&&MA3>REF(MA3,1);//判断前一个波谷
BF2:=VALUEWHEN(BF1,REF(MA3,3)); //取上次BF1的前一个MA3值
BG2:=VALUEWHEN(BG1,REF(MA3,3));//取上次BG1的前一个MA3值


BFX:=BF1&&(REF(MA3,1)>=BG2+1*MINPRICE); //过滤BF1波峰中差值小于5点的波峰
BGX:=BG1&&(REF(MA3,1)<=BF2-1*MINPRICE);//过滤BG1波谷中差值小于5点的波谷


BF3:VALUEWHEN(BFX,REF(MA3,1))+1*MINPRICE;//取波峰MA3
BG3:VALUEWHEN(BGX,REF(MA3,1))-1*MINPRICE;//取波谷MA3

BF5:REF(BF3,SUMBARS(BFX,2));
BG5:REF(BG3,SUMBARS(BGX,2));

投资者咨询:台阶的表示方法 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-5 21:26
 老师你好,谢谢,

是不是:BF3和BG3之前的两个台阶可以写成如下的样子:

BF4:REF(BF3,SUMBARS(BFX,1));
BG4:REF(BG3,SUMBARS(BGX,1));

BF5:REF(BF3,SUMBARS(BFX,2));
BG5:REF(BG3,SUMBARS(BGX,2));
技术人员回复
日期:2018-8-6 10:01

是的,前一个台阶是BF4和BG4,前两个是BF5和BG5

投资者咨询:台阶的表示方法 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-5 21:26
 谢谢老师,如果我要加限定条件,:相邻的两个台阶必须大于2跳,忽略掉小于2跳的小波动台阶,

即|BF3-BF4|>2,|BF4-BF5|>2,同理|BG3-BG4|>2,|BG4-BG5|>2,

应该怎么来改
技术人员回复
日期:2018-8-6 10:31

 参考:

 

MA3:MA(C,3);
BF1:=REF(EVERY(MA3>REF(MA3,1),2),1)&&MA3<REF(MA3,1);//判断前一个波峰
BG1:=REF(EVERY(MA3<REF(MA3,1),2),1)&&MA3>REF(MA3,1);//判断前一个波谷
BF2:=VALUEWHEN(BF1,REF(MA3,3)); //取上次BF1的前一个MA3值
BG2:=VALUEWHEN(BG1,REF(MA3,3));//取上次BG1的前一个MA3值


BFX:=BF1&&(REF(MA3,1)>=BG2+1*MINPRICE); //过滤BF1波峰中差值小于5点的波峰
BGX:=BG1&&(REF(MA3,1)<=BF2-1*MINPRICE);//过滤BG1波谷中差值小于5点的波谷


BF3:=VALUEWHEN(BFX,REF(MA3,1))+1*MINPRICE;//取波峰MA3
BG3:=VALUEWHEN(BGX,REF(MA3,1))-1*MINPRICE;//取波谷MA3

BF4:=REF(BF3,SUMBARS(BFX,1));
BG4:=REF(BG3,SUMBARS(BGX,1));

BFXX:=BFX&&ABS(BF3-BF4)>2*MINPRICE;//过滤BFX波峰中与上一BFX波峰差值小于2跳的波峰
BGXX:=BGX&&ABS(BG3-BG4)>2*MINPRICE;//过滤BGX波谷中与上一BGX波谷差值小于2跳的波谷

BF:VALUEWHEN(BFXX,REF(MA3,1))+1*MINPRICE;
BG:VALUEWHEN(BGXX,REF(MA3,1))-1*MINPRICE;

投资者咨询:台阶的表示方法 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-5 21:26
 谢谢老师

此时的BF和BG台阶 ,就相当于过滤掉波动小于2跳的BF3和BG3的台阶,是吗?
那它 之前的一个台阶,和之前的两个台阶,一个怎么写?
技术人员回复
日期:2018-8-6 10:49

 是的,前1个、前2个台阶参考:

 

MA3:MA(C,3);
BF1:=REF(EVERY(MA3>REF(MA3,1),2),1)&&MA3<REF(MA3,1);//判断前一个波峰
BG1:=REF(EVERY(MA3<REF(MA3,1),2),1)&&MA3>REF(MA3,1);//判断前一个波谷
BF2:=VALUEWHEN(BF1,REF(MA3,3)); //取上次BF1的前一个MA3值
BG2:=VALUEWHEN(BG1,REF(MA3,3));//取上次BG1的前一个MA3值


BFX:=BF1&&(REF(MA3,1)>=BG2+1*MINPRICE); //过滤BF1波峰中差值小于5点的波峰
BGX:=BG1&&(REF(MA3,1)<=BF2-1*MINPRICE);//过滤BG1波谷中差值小于5点的波谷


BF3:=VALUEWHEN(BFX,REF(MA3,1))+1*MINPRICE;//取波峰MA3
BG3:=VALUEWHEN(BGX,REF(MA3,1))-1*MINPRICE;//取波谷MA3

BF4:=REF(BF3,SUMBARS(BFX,1));
BG4:=REF(BG3,SUMBARS(BGX,1));

BFXX:=BFX&&ABS(BF3-BF4)>2*MINPRICE;//过滤BFX波峰中与上一BFX波峰差值小于2跳的波峰
BGXX:=BGX&&ABS(BG3-BG4)>2*MINPRICE;//过滤BGX波谷中与上一BGX波谷差值小于2跳的波谷

BF:VALUEWHEN(BFXX,REF(MA3,1))+1*MINPRICE;
BG:VALUEWHEN(BGXX,REF(MA3,1))-1*MINPRICE;
RBF1:REF(BF,SUMBARS(BFXX,1));
RBG1:REF(BG,SUMBARS(BGXX,1));
RBF2:REF(BF,SUMBARS(BFXX,2));
RBG2:REF(BG,SUMBARS(BGXX,2));

投资者咨询:台阶的表示方法 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-5 21:26
 老师你好,截图上,圆圈内的波谷,为什么波谷线BG3,没有把它连上呢?

图片点击可在新窗口打开查看
图片点击可在新窗口打开查看 文件名:inkedba2jcnx{f`iscwccedx$pr_li.jpg

麻烦老师看看
技术人员回复
日期:2018-8-7 11:16

 根据截图看可能是圈中K线不满足BG1的判断,BG1的条件波谷K线的MA3小于上根K线的MA3,截图中可能是等于了

 

改成下面写法您再加载看下:

 

MA3:MA(C,3);
BF1:=REF(EVERY(MA3>=REF(MA3,1),2),1)&&MA3<REF(MA3,1);//判断前一个波峰
BG1:=REF(EVERY(MA3<=REF(MA3,1),2),1)&&MA3>REF(MA3,1);//判断前一个波谷
BF2:=VALUEWHEN(BF1,REF(MA3,3)); //取上次BF1的前一个MA3值
BG2:=VALUEWHEN(BG1,REF(MA3,3));//取上次BG1的前一个MA3值


BFX:=BF1&&(REF(MA3,1)>=BG2+1*MINPRICE); //过滤BF1波峰中差值小于5点的波峰
BGX:=BG1&&(REF(MA3,1)<=BF2-1*MINPRICE);//过滤BG1波谷中差值小于5点的波谷


BF3:VALUEWHEN(BFX,REF(MA3,1))+1*MINPRICE;//取波峰MA3
BG3:VALUEWHEN(BGX,REF(MA3,1))-1*MINPRICE;//取波谷MA3