缠论一买三买选股公式飞狐+悟多公式文档格式.docx
《缠论一买三买选股公式飞狐+悟多公式文档格式.docx》由会员分享,可在线阅读,更多相关《缠论一买三买选股公式飞狐+悟多公式文档格式.docx(81页珍藏版)》请在冰豆网上搜索。
chzhshch@zg"
(var3);
//一定要先调用ZG
zd:
chzhshch@zd"
zswz:
=barslast(zg>
zd);
tj3:
=count(abs(var3),barslast(var3=1))=0;
tj4:
=l<
ref(l,barslast(var2=-1));
tj5:
=count(var2=1,zswz-1)>
0;
tj6:
=ref(h,barslast(var2=1))<
ref(zd,zswz);
tj7:
=count(zg>
zd,barslast(var3=1))>
not(zg>
zd)&
&
tj3&
tj7&
tj4&
tj5&
tj6;
end;
一买是模糊的,不准确的,三买就比较标准了,同样背驰需自行判断,否则不背驰就跌回中枢了:
var4:
=barslast(var001<
>
0);
tj1:
=ref(var001,var2)=-1;
//上级别是底
var5:
=sum(abs(var2),var2);
tj2:
=var5=1;
//第一个回调才算
=count(abs(var3),barslast(var3=-1))=0;
zd,barslast(var3=-1))>
=count(var2=1,barslast(var2=-1))=1;
=count(var2=1,zswz-1)=1;
=ref(l,barslast(var2=1))>
ref(zg,barslast(zg>
zd));
tj6&
tj7;
MA10:
=MA(CLOSE,10);
MA5:
=MA(CLOSE,5);
MA1:
=MA5-MA10;
MA2:
=MA10;
MA3:
DATANUMBER:
=DATATYPE;
DATANUMBER1:
DATANUMBER2:
DATANUMBER3:
LING:
=HIGH;
<
%
vbdatanumber=FFL.VarData("
datanumber"
)
vbdatanumber1=FFL.VarData("
datanumber1"
vbdatanumber2=FFL.VarData("
datanumber2"
vbdata=1
vbdata1=0.001
vbdata2=1
SelectCasevbdatanumber
Case0
vbdata=0.015
vbdata2=0.015
Case1
vbdata=0.018
vbdata2=0.018
Case2
vbdata=0.037
vbdata2=0.037
Case3
vbdata=0.052
vbdata2=0.052
Case4
vbdata=0.067
vbdata2=0.067
Case5
vbdata=0.13
vbdata2=0.13
Case6
vbdata=0.28
vbdata2=0.28
Case7
vbdata=0.45
vbdata2=0.45
Case8
vbdata=0.73
vbdata2=0.73
Case9
vbdata=1.2
vbdata2=1.2
Case10
vbdata=0.6
vbdata2=0.6
Case11
vbdata=0.1
vbdata2=0.1
Case12
vbdata=0.02
vbdata2=0.02
Caseelse
vbdata=2
vbdata2=2
EndSelect
FFL.VarData("
)=vbdata
)=vbdata1
)=vbdata2
vbling=FFL.VarData("
ling"
vbma=FFL.VarData("
ma1"
vbma2=FFL.VarData("
ma2"
vbma3=FFL.VarData("
ma3"
nlast=UBound(vbma)
nvalue=0.0000
nvaluefu=0.0000
bianhua=2
oldbianhua=0
form=0to
nlast
vbma2(m)=0
vbma3(m)=0
vbling(m)=0
next
m=0
fori=0to
m=m+1
'
nlast-m
vbma2(i)=0
if(vbma(i)>
0)then
bianhua=1
nvalue=nvalue+vbma(i)
else
nvaluefu=nvaluefu+vbma(i)
endif
if(oldbianhua=bianhua)then
vbma3(i)=m
m=0
if(bianhua=1)then
vbma2(i)=nvaluefu
nvaluefu=0
vbma2(i)=nvalue
nvalue=0
endif
oldbianhua=bianhua
next
)=vbma2
)=vbma3
)=vbling
%>
DRAWNUMBER(REF(MA2,0)<
0AND0=1,LLV(LOW,5),REF(MA2,0)*1000,0),colorFF00;
0AND0=1,LLV(LOW,5)-DATANUMBER,REF(MA3,0),0),colorFFFF;
0AND0=1,LLV(LOW,5)-DATANUMBER*2,REF(MA2,0)*1000/REF(MA3,0),0),colorFF00;
DRAWNUMBER(REF(MA2,0)>
0AND0=1,HHV(HIGH,5),REF(MA2,0)*1000,0),colorFF;
0AND0=1,HHV(HIGH,5)+DATANUMBER,REF(MA3,0),0),colorFFFF;
0AND0=1,HHV(HIGH,5)+DATANUMBER*2,REF(MA2,0)*1000/REF(MA3,0),0),colorFF;
WEIHE:
=LING;
WEIPING:
vbhe=FFL.VarData("
weihe"
vbping=FFL.VarData("
weiping"
i=0
m=nlast
if(vbma(nlast)>
DoWhile(vbma(m)>
0)
nvalue=vbma(m)+nvalue
i=i+1
m=m-1
if(m<
0)then
exitdo
Loop
DoWhile(vbma(m)<
if(i=0)then
i=1
nvaluefu=nvalue/i
vbhe(nlast)=nvalue
vbping(nlast)=nvaluefu
)=vbhe
)=vbping
DRAWNUMBER(WEIHE<
0AND0=1,IF(WEIHE>
0,HIGH,LOW),WEIHE*1000,0),colorFF;
0AND0=1,(IF(WEIHE>
0,HIGH,LOW))-DATANUMBER*2,WEIPING*1000,0),colorFF00;
DRAWNUMBER(WEIPING<
0,HIGH,LOW))-DATANUMBER,WEIHE/WEIPING,0),colorFFFF;
DIFF:
=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:
=EMA(DIFF,9);
MACD:
=2*(DIFF-DEA);
=MACD;
MA1WE:
HE:
=MA2;
WEIHEMACD:
=0;
WEIPINGMACD:
H1:
L1:
=LOW;
FOXH:
FOXL:
FOXBAOHAN:
FOXBAOHAN1:
FOXGUANXI:
FOXFENXING:
FOXFENXING1:
FOXFENNUMBER:
FOXQUEKOU:
FOXBICOUNT:
FOXWEIBI:
vbquekou=FFL.VarData("
foxquekou"
)
vbfennumber=FFL.VarData("
foxfennumber"
vbh=FFL.VarData("
foxh"
vbL=FFL.VarData("
foxl"
vbh1=FFL.VarData("
vbL1=FFL.VarData("
vbbaohan=FFL.VarData("
foxbaohan"
vbbaohan1=FFL.VarData("
foxbaohan1"
vbguanxi=FFL.VarData("
foxguanxi"
vbfenxing=FFL.VarData("
foxfenxing"
vbfenxing1=FFL.VarData("
foxfenxing1"
vbbicount=FFL.Vardata("
foxbicount"
vbweibi=FFL.Vardata("
foxweibi"
nlast=UBound(vbh)
vbguanxi(0)=1
form=1to
if(vbh(m)>
vbh(m-1)andvbl(m)>
vbl(m-1))then
vbguanxi(m)=1
if(vbh(m)<
vbh(m-1)andvbl(m)<
vbguanxi(m)=-1
vbguanxi(m)=0
if(vbguanxi(m-1)=1)then
vbguanxi(m)=1
=vbh(m-1)andvbl(m)<
=vbl(m-1))then
vbbaohan(m)=2
vbbaohan(m-1)=1
vbh(m-1)=vbh(m)
vbl(m)=vbl(m-1)
vbbaohan(m-1)=-1
vbbaohan(m)=-2
vbh(m)=vbh(m-1)
vbl(m-1)=vbl(m)
vbguanxi(m)=-1
vbbaohan(m-1)=-1
vbbaohan(m)=-2
处理连续包含即:
连续3个及以上K线间存在的包含关系
vbbaohan1(m)=vbbaohan(m)
NEXT
i=0
dowhile(vbbaohan(i)=0)
if(i>
nlast)then
ExitDo
loop
第一个包含的位置
lastfenxing=i
bao=0
existbao=0
form=ito
if(vbbaohan(m)<
0)then
bao=bao+1
if(bao>
=2)then
if(vbbaohan(m)=2andvbbaohan(m-1)=1orvbbaohan(m)=-2andvbbaohan(m-1)=-1)then
vbbaohan1(m)=bao
2)then
existbao=BAO
fori=1to
bao
vbh(m-bao+i)=vbh(m)
vbL(m-bao+i)=vbl(m)
if(i=1ori=bao)then
vbbaohan1(m-bao+i)=-3
dowhile(bao>
1)
vbh(m-bao+1)=vbh(m)
vbL(m-bao+1)=vbl(m)
if(existbao=BAOorbao=existbao-1)then
vbbaohan1(m-bao+1)=-3
bao=bao-1
分型预处理
existbao=vbguanxi(0)
if(vbh(m-1)>
=vbh(m-2)andvbh(m-1)>
=vbh(m)andvbl(m-1)>
=vbl(m-2)andvbl(m-1)>
=vbl(m)orvbh(m-1)<
=vbh(m-2)andvbh(m-1)<
=vbh(m)andvbl(m-1)<
vbl(m-2)andvbl(m-1)<
=vbl(m))then
if
(vbguanxi(m)<
existbao)then
(vbguanxi(m-1)=1)then
vbfenxing(m-1)=1
顶
else
vbfenxing(m-1)=-1
底
existbao=vbguanxi(m)
以上分型预处理
vbfenxing1(m)=vbfenxing(m)
vbfenxing1(m)=0
dowhile(vbfenxing(i)=0)
取第一个分型位置
下面去掉连续的顶或底
form=lastfenxing+1+nlast
to
(vbfenxing(m)<
if(vbfenxing(m)<
vbfenxing(lastfenxing))then
lastfenxing=m
if(vbfenxing(m)=1)then
vbh(lastfenxing))then
vbfenxing(lastfenxing)=0
vbfenxing(m)=0
if(vbl(m)<
vbl(lastfenxing))then
顶要高的
底要低的相等时要选时间在前面的
以下处理分型间距离不小于4的要求同时处理连续的顶和底的问题
n=0
existbao=vbfenxing(0)
dowhile(vbbaohan1(i)<
2)
lastbaohan=i
第一个包含位置
第一个预备分型位置
lastfenxing1=lastfenxing
form=lastfenxing+1to
if(vbbaohan(m)=0)then
if(vbbaohan1(m)>
=2
)then
n=n+1
vbfenxing1(m)=bao+n
包含关系只视为一个k线
vbfenxing1(m)=vbbaohan1(m)
if(m>
735)then
exitfor
if(bao+n>
=4)then
分型间距离大于等于4符合要求
vbfenxing1(m)