偏 度 分 析 (多能版)
' chinamen668 by20061002
'==========================================================
CpParam.Add "号码","不排最末基号","{不排序}{排序}{不排最末基号}"'
CpParam.Add "混距",1'
CpParam.Add "位置",8'
Function Main
'===============申明或定义变量=============
CpRowCount = CpData.RowCount '开奖期数
CpColCount = CpData.ColCount '开奖号码个数
CpMaxCode = CpData.MaxCode '最大号码
CpMinCode = CpData.MinCode '最小号码
CpCodeCount = CpData.CodeCount '号码数量
ub_WZ= Cint(CpParam.Value("位置"))
If Pub_wz>CpColCount or Pub_wz=0 Then Pub_wz=CpColCount
ub_CS = Cint(CpParam.Value("混距"))
ub_*** = CpParam.Value("号码")
Redim Hm(CpRowCount,CpCodeCount)
if Pub_***="不排最末基号" then Bhmwh=1
For row = 0 to CpRowCount - 1
For Col=0 to CpColCount-1
Hm(row,Col)=CpData.Code(Row,Col)
Next
If Pub_***<>"不排序" then '大小排序号码
For i=0 to CpColCount-2
For j=i+1 to CpColCount-1-Bhmwh
if Hm(row,i)>Hm(row,j) then
k=Hm(row,i)
Hm(row,i)=Hm(row,j)
HM(row,j)=k
end if
Next
Next
End If
Next
'=================建表=================
CpAna.AddField "期号",8
CpAna.AddField "开奖号码 "&ub_***,CpColCount*3
CpAna.AddField "混合间距形态",CpColCount*3
CpAna.AddField "混合值",6
For col = 0 to CpColCount -1
CpAna.AddField "基"&col+1&"混距",6
Next
CpAna.AddField "混距="&ub_CS&"个数",8
CpAna.AddField "大于"&ub_CS&"个数",8
For col = 0 to CpColCount -1
CpAna.AddField "序"&col+1,4
Next
CpAna.AddField "混距排序形态",CpColCount*3
CpAna.AddField "下期选号列表",70
CpAna.AddField ub_wz&"上",4
CpAna.AddField ub_wz&"下",4
CpAna.AddField ub_wz&"同",4
CpAna.RowCount = CpData.RowCount-1
CpAna.CreateTable()
'==============算法主体============================
Redim JJ***(CpColCount )
For row0 =1 to CpRowCount - 1
row=row0-1
kjhm=""
jjminstr=""
jjminhz=0
DyGs=0
DengGs=0
JJ***Str=""
For col = 0 to CpColCount - 1
NextCol = col + 1
Code = Hm(row0,Col)
j0=""
if Code<10 and CpCodeCount>10 then j0="0"
kjhm=kjhm&j0& Code&" "
jjmin=9999
For col1 = 0 to CpColCount - 1
jj= abs(Code - Hm(row,col1))
if jj Next
jjminhz=jjminhz+jjmin
jjminstr=jjminstr&jjmin&" "
CpAna.Cell( row, "基"&col+1&"混距") =jjmin
JJ***(Col)=jjmin
Next
'开始混距重排序
For col = 0 to CpColCount - 2
For col1 = col+1 to CpColCount - 1
if JJ***(Col)>JJ***(Col1) then
kK=JJ***(Col)
JJ***(Col)=JJ***(Col1)
JJ***(Col1)=kK
end if
Next
Next
For col = 0 to CpColCount - 1
CpAna.Cell( row, "序"&col+1) =JJ***(Col)
If JJ***(Col)>ub_CS then
DyGs=DyGs+1
CpAna.Color( row, "序"&col+1) =CpColor.Blue
elseIf JJ***(Col)=Pub_CS then
DengGs=DengGs+1
CpAna.Color( row,"序"&col+1) =CpColor.Green
End If
JJ***Str=JJ***Str&JJ***(Col)&" "
Next
CpAna.Cell( row, "期号") = CpData.Seq(row0)
CpAna.Cell( row, 1) = kjhm
CpAna.Cell( row, "混合间距形态") = jjminstr
CpAna.Cell( row, "混合值") =jjminhz
CpAna.Cell( row, "大于"&Pub_CS&"个数") =DyGs
CpAna.Color( row,"大于"&Pub_CS&"个数") =CpColor.Blue
CpAna.Cell( row, "混距="&Pub_CS&"个数") =DengGs
CpAna.Color( row,"混距="&Pub_CS&"个数") =CpColor.Green
CpAna.Cell( row, "混距排序形态") = JJ***Str
Next
'============独 立 部 分===============
'----以下增加下期选号列表(依据混距数值) ---
DyGs=0
DengGs=0
XyGs=0
jjmax=0
for code = CpMinCode to CpMaxCode
jjmin=9999
For col = 0 to CpColCount - 1
jj= abs(Code - Hm(row0-1,col))
if jj next
if jjmin>jjmax then jjmax=jjmin
j0=""
if Code<10 and CpCodeCount>10 then j0="0"
If jjmin>Pub_CS then
DyGs=DyGs+1
DyLB=DyLB&j0&Code&" "
elseIf jjmin=Pub_CS then
DengGs=DengGs+1
DengLB=DengLB&j0&Code&" "
else
XyGs=XyGs+1
XyLB=XyLB&j0&Code&" "
End If
next
CpAna.Cell( row-3, "下期选号列表") ="下期最大混距 : "&jjmax
CpAna.Cell( row-2, "下期选号列表") ="大于"&Pub_CS&"("&DyGs &"个) :"&DyLB
CpAna.Cell( row-1, "下期选号列表") ="等于"&Pub_CS&"("&DengGs &"个) :"&DengLB
CpAna.Cell( row, "下期选号列表") ="小于"&Pub_CS&"("&XyGs &"个) :"&XyLB
'============独 立 部 分===============
'以下是按 基(位置数值)混距 列 分析最后期数值查找上下基本走势 独立部分
Pub_XZ=2' 定义 (位置数值)同 列显示 上 下 还是一起显示
Pub_Bj="基"&Pub_Wz&"混距"
a=cint( CpAna.Cell(row,Pub_Bj&""))
b=cint( CpAna.Cell(row-1,Pub_Bj&""))
CpAna.Cell(row,Pub_Wz&"上")=B
d1=1
b1=1
For row0= row-1 to 1 step -1
CpAna.Color(row0,Pub_Bj&"")=255
tu=0
a1=cint( CpAna.Cell(row0,Pub_Bj&""))
if row0>1 then
a2=cint( CpAna.Cell(row0-1,Pub_Bj&""))
else
a2=""
end if
a3=cint( CpAna.Cell(row0+1,Pub_Bj&""))
if a1=a then
CpAna.Cell(row-d1,Pub_Wz&"上")=a2
CpAna.Cell(row-d1,Pub_Wz&"下")=a3
d1=1+d1
if a2=b and Pub_XZ<3 then
CpAna.Cell(row-b1,Pub_Wz&"同")=a3
CpAna.Color(row-b1,Pub_Wz&"同")=255
CpAna.Cell(row0,0)=1'期号作标识
CpAna.Color(row0,0)=255
b1=b1+1
tu=1
end if
if a3=b and tu=0 and Pub_XZ>1 then
CpAna.Cell(row-b1,Pub_Wz&"同")=a2
CpAna.Cell(row0,0)=-1'期号作标识
b1=b1+1
end if
end if
Next
End Function
'
'简要说明
'要求分析期数至少5期
'
' 隔 期 混 合 间 距 分 析 原理介绍
'2006109 05 06 09 17 20 22 27
'2006110 03 07 19 20 25 26 27 混合间距形态 2110110 混距排序形态0011112
'这里隔期混合间距指的是:各开奖号码和上期各号码距离最小的间距合值
'如上面2006110期:03离05最近,间距2,.07离06最近,间距1,.19离20间距1
'20离20间距0,25离27间距2,26离27间距1,27离27间距0,
'所以间距和:2+1+1+0+1+1+0=6
'20061003查看红宝石原来的vb发现这个vb本身就是偏度分析vb的展开。。。
'现在的“混合间距形态”=“号码偏度值” 序最后最大的值就是偏度值....
'以下楼层的帖子就不再更名字,精滤的vb软件自身也有偏度精滤,
'以下我写的精滤不同之处:可以各个基号位置且合值精滤。
'精滤在第4楼' 偏度精滤(偏度+位置+混合值)
' chinamen668 by20061003
' chinamen668 by20061002
'==========================================================
CpParam.Add "号码","不排最末基号","{不排序}{排序}{不排最末基号}"'
CpParam.Add "混距",1'
CpParam.Add "位置",8'
Function Main
'===============申明或定义变量=============
CpRowCount = CpData.RowCount '开奖期数
CpColCount = CpData.ColCount '开奖号码个数
CpMaxCode = CpData.MaxCode '最大号码
CpMinCode = CpData.MinCode '最小号码
CpCodeCount = CpData.CodeCount '号码数量
ub_WZ= Cint(CpParam.Value("位置"))
If Pub_wz>CpColCount or Pub_wz=0 Then Pub_wz=CpColCount
ub_CS = Cint(CpParam.Value("混距"))
ub_*** = CpParam.Value("号码")
Redim Hm(CpRowCount,CpCodeCount)
if Pub_***="不排最末基号" then Bhmwh=1
For row = 0 to CpRowCount - 1
For Col=0 to CpColCount-1
Hm(row,Col)=CpData.Code(Row,Col)
Next
If Pub_***<>"不排序" then '大小排序号码
For i=0 to CpColCount-2
For j=i+1 to CpColCount-1-Bhmwh
if Hm(row,i)>Hm(row,j) then
k=Hm(row,i)
Hm(row,i)=Hm(row,j)
HM(row,j)=k
end if
Next
Next
End If
Next
'=================建表=================
CpAna.AddField "期号",8
CpAna.AddField "开奖号码 "&ub_***,CpColCount*3
CpAna.AddField "混合间距形态",CpColCount*3
CpAna.AddField "混合值",6
For col = 0 to CpColCount -1
CpAna.AddField "基"&col+1&"混距",6
Next
CpAna.AddField "混距="&ub_CS&"个数",8
CpAna.AddField "大于"&ub_CS&"个数",8
For col = 0 to CpColCount -1
CpAna.AddField "序"&col+1,4
Next
CpAna.AddField "混距排序形态",CpColCount*3
CpAna.AddField "下期选号列表",70
CpAna.AddField ub_wz&"上",4
CpAna.AddField ub_wz&"下",4
CpAna.AddField ub_wz&"同",4
CpAna.RowCount = CpData.RowCount-1
CpAna.CreateTable()
'==============算法主体============================
Redim JJ***(CpColCount )
For row0 =1 to CpRowCount - 1
row=row0-1
kjhm=""
jjminstr=""
jjminhz=0
DyGs=0
DengGs=0
JJ***Str=""
For col = 0 to CpColCount - 1
NextCol = col + 1
Code = Hm(row0,Col)
j0=""
if Code<10 and CpCodeCount>10 then j0="0"
kjhm=kjhm&j0& Code&" "
jjmin=9999
For col1 = 0 to CpColCount - 1
jj= abs(Code - Hm(row,col1))
if jj
jjminhz=jjminhz+jjmin
jjminstr=jjminstr&jjmin&" "
CpAna.Cell( row, "基"&col+1&"混距") =jjmin
JJ***(Col)=jjmin
Next
'开始混距重排序
For col = 0 to CpColCount - 2
For col1 = col+1 to CpColCount - 1
if JJ***(Col)>JJ***(Col1) then
kK=JJ***(Col)
JJ***(Col)=JJ***(Col1)
JJ***(Col1)=kK
end if
Next
Next
For col = 0 to CpColCount - 1
CpAna.Cell( row, "序"&col+1) =JJ***(Col)
If JJ***(Col)>ub_CS then
DyGs=DyGs+1
CpAna.Color( row, "序"&col+1) =CpColor.Blue
elseIf JJ***(Col)=Pub_CS then
DengGs=DengGs+1
CpAna.Color( row,"序"&col+1) =CpColor.Green
End If
JJ***Str=JJ***Str&JJ***(Col)&" "
Next
CpAna.Cell( row, "期号") = CpData.Seq(row0)
CpAna.Cell( row, 1) = kjhm
CpAna.Cell( row, "混合间距形态") = jjminstr
CpAna.Cell( row, "混合值") =jjminhz
CpAna.Cell( row, "大于"&Pub_CS&"个数") =DyGs
CpAna.Color( row,"大于"&Pub_CS&"个数") =CpColor.Blue
CpAna.Cell( row, "混距="&Pub_CS&"个数") =DengGs
CpAna.Color( row,"混距="&Pub_CS&"个数") =CpColor.Green
CpAna.Cell( row, "混距排序形态") = JJ***Str
Next
'============独 立 部 分===============
'----以下增加下期选号列表(依据混距数值) ---
DyGs=0
DengGs=0
XyGs=0
jjmax=0
for code = CpMinCode to CpMaxCode
jjmin=9999
For col = 0 to CpColCount - 1
jj= abs(Code - Hm(row0-1,col))
if jj
if jjmin>jjmax then jjmax=jjmin
j0=""
if Code<10 and CpCodeCount>10 then j0="0"
If jjmin>Pub_CS then
DyGs=DyGs+1
DyLB=DyLB&j0&Code&" "
elseIf jjmin=Pub_CS then
DengGs=DengGs+1
DengLB=DengLB&j0&Code&" "
else
XyGs=XyGs+1
XyLB=XyLB&j0&Code&" "
End If
next
CpAna.Cell( row-3, "下期选号列表") ="下期最大混距 : "&jjmax
CpAna.Cell( row-2, "下期选号列表") ="大于"&Pub_CS&"("&DyGs &"个) :"&DyLB
CpAna.Cell( row-1, "下期选号列表") ="等于"&Pub_CS&"("&DengGs &"个) :"&DengLB
CpAna.Cell( row, "下期选号列表") ="小于"&Pub_CS&"("&XyGs &"个) :"&XyLB
'============独 立 部 分===============
'以下是按 基(位置数值)混距 列 分析最后期数值查找上下基本走势 独立部分
Pub_XZ=2' 定义 (位置数值)同 列显示 上 下 还是一起显示
Pub_Bj="基"&Pub_Wz&"混距"
a=cint( CpAna.Cell(row,Pub_Bj&""))
b=cint( CpAna.Cell(row-1,Pub_Bj&""))
CpAna.Cell(row,Pub_Wz&"上")=B
d1=1
b1=1
For row0= row-1 to 1 step -1
CpAna.Color(row0,Pub_Bj&"")=255
tu=0
a1=cint( CpAna.Cell(row0,Pub_Bj&""))
if row0>1 then
a2=cint( CpAna.Cell(row0-1,Pub_Bj&""))
else
a2=""
end if
a3=cint( CpAna.Cell(row0+1,Pub_Bj&""))
if a1=a then
CpAna.Cell(row-d1,Pub_Wz&"上")=a2
CpAna.Cell(row-d1,Pub_Wz&"下")=a3
d1=1+d1
if a2=b and Pub_XZ<3 then
CpAna.Cell(row-b1,Pub_Wz&"同")=a3
CpAna.Color(row-b1,Pub_Wz&"同")=255
CpAna.Cell(row0,0)=1'期号作标识
CpAna.Color(row0,0)=255
b1=b1+1
tu=1
end if
if a3=b and tu=0 and Pub_XZ>1 then
CpAna.Cell(row-b1,Pub_Wz&"同")=a2
CpAna.Cell(row0,0)=-1'期号作标识
b1=b1+1
end if
end if
Next
End Function
'
'简要说明
'要求分析期数至少5期
'
' 隔 期 混 合 间 距 分 析 原理介绍
'2006109 05 06 09 17 20 22 27
'2006110 03 07 19 20 25 26 27 混合间距形态 2110110 混距排序形态0011112
'这里隔期混合间距指的是:各开奖号码和上期各号码距离最小的间距合值
'如上面2006110期:03离05最近,间距2,.07离06最近,间距1,.19离20间距1
'20离20间距0,25离27间距2,26离27间距1,27离27间距0,
'所以间距和:2+1+1+0+1+1+0=6
'20061003查看红宝石原来的vb发现这个vb本身就是偏度分析vb的展开。。。
'现在的“混合间距形态”=“号码偏度值” 序最后最大的值就是偏度值....
'以下楼层的帖子就不再更名字,精滤的vb软件自身也有偏度精滤,
'以下我写的精滤不同之处:可以各个基号位置且合值精滤。
'精滤在第4楼' 偏度精滤(偏度+位置+混合值)
' chinamen668 by20061003