latincello 发表于 2014-6-5 22:24

LING:=HIGH;
FOXH:=HIGH;
FOXL:=LOW;
FOXBAOHAN:=LING;
FOXBAOHAN1:=LING;
foxbaohan2:=ling;
foxbaohan3:=ling;
foxfenxing:=ling;
foxfenxing1:=ling;
foxfenxing2:=ling;
foxfenxing3:=ling;
foxbaohanmax:=ling;
foxbaohanmin:=ling;
FOXGUANXI:=LING;


<%
vbh = FFL.VarData("foxh")
vbL = FFL.VarData("foxl")
vbh1 = FFL.VarData("foxh")
vbL1 = FFL.VarData("foxl")
vbh2 = FFL.VarData("foxh")
vbL2 = FFL.VarData("foxl")

vbbaohan = FFL.VarData("foxbaohan") '正值表示扩张,负值表示收敛
vbbaohan1 = FFL.VarData("foxbaohan1")
vbbaohan2 = FFL.VarData("foxbaohan2")
vbbaohan3 = FFL.VarData("foxbaohan3")
vbfenxing = FFL.VarData("foxfenxing")
vbfenxing1 = FFL.VarData("foxfenxing1")
vbfenxing2=FFL.VarData("foxfenxing2")
vbfenxing3=FFL.VarData("foxfenxing3")
vbbaohanmax = FFL.VarData("foxbaohanmax")
vbbaohanmin = FFL.VarData("foxbaohanmin")

vbguanxi = FFL.VarData("foxguanxi")

nlast = UBound( vbh ) 'K线数量
vbguanxi(0) = 1
for m=0 to nlast '查错用了三天
vbbaohan(m)=0
vbbaohan2(m)=0
vbbaohan3(m)=0
vbbaohanmax(m)=0
vbbaohanmin(m)=0

next
for m = 1 tonlast        '判断K线区间涨跌
        if (vbh(m)>vbh(m-1) and vbl(m)>vbl(m-1)) then
                vbguanxi(m)=1        '涨
        else
                if (vbh(m)<vbh(m-1) and vbl(m)<vbl(m-1)) then
                        vbguanxi(m)=-1         '跌
                else
                        vbguanxi(m) = 0'包含,复制前一K线涨跌
                        if (vbguanxi(m-1)=1) then        '涨
                                vbguanxi(m)=1
                                if (vbh(m)>=vbh(m-1) and vbl(m)<=vbl(m-1)) then        '扩张
                                        vbbaohan(m) = 2
                                        vbbaohan(m-1) = 1
                                        vbh(m-1)=vbh(m)
                                        vbl(m)=vbl(m-1)
                                else                                                '收敛
                                        vbbaohan(m-1) = -1
                                        vbbaohan(m) = -2
                                        vbh(m)=vbh(m-1)
                                        vbl(m-1)=vbl(m)
                                end if
                        else                                '跌
                                vbguanxi(m)=-1
                                if (vbh(m)>=vbh(m-1) and vbl(m)<=vbl(m-1)) then        '扩张
                                        vbbaohan(m) = 2
                                        vbbaohan(m-1) = 1
                                        vbh(m)=vbh(m-1)
                                        vbl(m-1)=vbl(m)
                                else                                                '收敛
                                        vbbaohan(m-1) = -1
                                        vbbaohan(m) = -2
                                        vbh(m-1)=vbh(m)
                                        vbl(m)=vbl(m-1)
                                end if
                        end if
                end if
        end if
next
'vbguanxi(m)表示单根k线和前根包含处理后k线的涨跌关系--1上涨、-1下跌、包含的k线延续前一根的方向,vbbaohan(m)表示单根k线和前根k线的包含-----0没有包含、12表示扩张、-1-2表示收敛,vbh、vbl包含处理

'处理连续包含即:连续3个及以上K线间存在的包含关系,找到包含中的最高最低k线
for m = 0 tonlast
        vbbaohan1(m) = vbbaohan(m)
vbbaohan3(m)=vbbaohan(m)
NEXT

i=0
do while (vbbaohan(i)=0)
        i=i+1
        if (i>nlast) then
                Exit Do
        end if
loop
'这段是找第一个包含的位置i,那里vbbaohan(i)<>0
lastfenxing=i
bao=0
existbao=0

for m = i tonlast
        if (vbbaohan(m) <> 0) then 'vbbaohan数组由1,-1,2组成
                bao=bao+1
                if (bao>=2) then
                        if (vbbaohan(m)=2 and vbbaohan(m-1)=1 or vbbaohan(m)=-2 and vbbaohan(m-1)=-1) then
                                vbbaohan1(m) = bao   'bao是合并包含处理的k线数
         vbbaohan2(m)=bao
         vbbaohan3(m)=bao
            i=0
            a=0
         for n=m-bao+2 to m               
               i=i+1               
               if(vbh2(m-bao+1+a)<vbh2(n)) then
                  a=i
               end if
            next                     
            vbbaohanmax(m)=bao-a-1
            i=0
            a=0
         for n=m-bao+2 to m               
               i=i+1               
               if(vbl2(m-bao+1+a)>vbl2(n)) then
                  a=i
               end if
            next            
            vbbaohanmin(m)=bao-a-1
                                if (bao>2) then
                                        existbao=BAO
                                        for i = 1 tobao
                                                vbh(m-bao+i)=vbh(m)
                                                vbL(m-bao+i)=vbl(m)
                                                if (i = 1 or i=bao ) then
                                                else
                                                        vbbaohan1(m-bao+i)=-3
                   vbbaohan2(m-bao+i)=0
                   vbbaohan3(m-bao+i)=-3
                                                end if
                                        next
                                end if                       
                                bao=0
                        end if
                end if
        else
                bao=0
        end if
next

'分型预处理
for m=0 to nlast
vbfenxing(m)=0
vbfenxing3(m)=0
next
existbao=vbguanxi(0)
for m = 1 tonlast
                if(vbguanxi(m)<>existbao) then        '这里用的也是涨跌状态变化,就是说也是三K线确定一分型,没有考虑延伸长度
                if(vbguanxi(m-1)=1) then
                        vbfenxing(m-1) = 1
                '顶
                else
                        vbfenxing(m-1) = -1
                '底
                end if
                existbao=vbguanxi(m)
        end if
next
'以上分型预处理
for m=0 to nlast
vbfenxing3(m)=vbfenxing(m)
next

FFL.VarData("foxh") =vbh
FFL.VarData("foxl") =vbl
FFL.VarData("foxbaohan") = vbbaohan
FFL.VarData("foxbaohan1") = vbbaohan1
FFL.VarData("foxbaohan2") = vbbaohan2
FFL.VarData("foxbaohan3") = vbbaohan3
FFL.VarData("foxfenxing") = vbfenxing
FFL.VarData("foxfenxing1") = vbfenxing1
FFL.VarData("foxfenxing2") = vbfenxing2
FFL.VarData("foxfenxing3") = vbfenxing3

FFL.VarData("foxbaohanmax") = vbbaohanmax
FFL.VarData("foxbaohanmin") = vbbaohanmin
FFL.VarData("foxguanxi") = vbguanxi


%>
//drawnumber(foxbaohan3<0,h,foxbaohan3,1),pxup20,colormagenta,align1;
//drawnumber(foxbaohan3=0,h,foxbaohan3,1),pxdn5,colorgreen,align1;
//drawnumber(foxbaohan3>0,h,foxbaohan3,1),pxdn5,colorgreen,align1;

DRAWicon(foxfenxing=1,H+0.01,9);
DRAWicon(foxfenxing=-1,L-0.01,8);

drawnumber(foxfenxing=1,h,foxh,2),pxup40,colormagenta,align1;
drawnumber(foxfenxing=-1,l,foxl,2),pxdn10,colorgreen,align1;


DRAWLINE(((FOXBAOHAN1=1) OR (FOXBAOHAN1=-1)),FOXL,(FOXBAOHAN1>=2),FOXH,0),colorFFFFFF;
DRAWLINE(((FOXBAOHAN1=1) OR (FOXBAOHAN1=-1)),FOXH,(FOXBAOHAN1>=2),FOXL,0),colorFFFFFF;

latincello 发表于 2014-6-5 22:24

怎么发不了哈

latincello 发表于 2014-6-5 22:25

本帖最后由 latincello 于 2014-6-6 11:57 编辑

:#QIAOPI

latincello 发表于 2014-6-5 22:25

本帖最后由 latincello 于 2014-6-6 11:58 编辑

:#DAXIAO

latincello 发表于 2014-6-5 22:25

本帖最后由 latincello 于 2014-6-6 11:58 编辑

:WX:

latincello 发表于 2014-6-5 22:26

本帖最后由 latincello 于 2014-6-6 11:59 编辑

:#DAXIAO

latincello 发表于 2014-6-5 22:27

本帖最后由 latincello 于 2014-6-6 12:00 编辑

:#DAXIAO

latincello 发表于 2014-6-5 22:27

本帖最后由 latincello 于 2014-6-6 12:00 编辑

:#DAXIAO

latincello 发表于 2014-6-5 22:28

怎么回事,要审核,没发完

latincello 发表于 2014-6-5 22:30

飞狐c++语言编的源代码,没必要审核哈

latincello 发表于 2014-6-6 12:01

重新整理下版面,上面的是k线包含的源代码,笔和线段源代码有时间再发。

latincello 发表于 2014-6-6 12:05


代码运行效果图

latincello 发表于 2014-6-6 12:06

第一步只是处理包含和分型

latincello 发表于 2014-6-6 12:09

不需要源代码的,悟多的公式就够用了

latincello 发表于 2014-6-6 12:17

这里只有一个要求:自己用可以,千万别拿去骗人钱财。:handshake

latincello 发表于 2014-6-9 09:02


留言反映不会用。将公式导入飞狐,选择主图使用项。

ivan_sun 发表于 2014-6-9 11:52

这么高端的东西同花顺用不了,可惜了

huss99 发表于 2014-6-9 13:09

latincello 发表于 2014-6-9 09:02 static/image/common/back.gif
留言反映不会用。将公式导入飞狐,选择主图使用项。

这个包含处理很准呀,难得。
是不是只有飞狐和大智慧支持c语言编译
期待分笔和分段的公式

huss99 发表于 2014-6-9 13:42

latincello 发表于 2014-6-9 09:02 static/image/common/back.gif
留言反映不会用。将公式导入飞狐,选择主图使用项。

有个建议,顶分型或者底分型是包含关系的,建议顶分型标志或底分型标志放在最高或者最低的那根k线

latincello 发表于 2014-6-9 13:47

huss99 发表于 2014-6-9 13:42 static/image/common/back.gif
有个建议,顶分型或者底分型是包含关系的,建议顶分型标志或底分型标志放在最高或者最低的那根k线
这里只是第一版,后来有过优化。笔和线段源代码不在手边,看盘已经不用这些东西了。你去看看缠师530后的走势用笔和线段做图,还有大师的水准吗?
页: 1 [2] 3
查看完整版本: 亲,有谁知道软件自动画笔的公式,谢谢!