参考:
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));
是的,前一个台阶是BF4和BG4,前两个是BF5和BG5
参考:
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;
是的,前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));
根据截图看可能是圈中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


文件名:inkedba2jcnx{f`iscwccedx$pr_li.jpg