搜索
楼主: 浪子小志

亲,有谁知道软件自动画笔的公式,谢谢!

  [复制链接]

发表于 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 to  nlast        '判断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 to  nlast
        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 to  nlast
        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 to  bao
                                                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 to  nlast
                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;
金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-5 22:24 | 显示全部楼层
怎么发不了哈
金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-5 22:25 | 显示全部楼层
本帖最后由 latincello 于 2014-6-6 11:57 编辑

:#QIAOPI
金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-5 22:25 | 显示全部楼层
本帖最后由 latincello 于 2014-6-6 11:58 编辑

:#DAXIAO
金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-5 22:25 | 显示全部楼层
本帖最后由 latincello 于 2014-6-6 11:58 编辑

:WX:
金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-5 22:26 | 显示全部楼层
本帖最后由 latincello 于 2014-6-6 11:59 编辑

:#DAXIAO
金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-5 22:27 | 显示全部楼层
本帖最后由 latincello 于 2014-6-6 12:00 编辑

:#DAXIAO
金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-5 22:27 | 显示全部楼层
本帖最后由 latincello 于 2014-6-6 12:00 编辑

:#DAXIAO
金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-5 22:28 | 显示全部楼层
怎么回事,要审核,没发完
金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-5 22:30 | 显示全部楼层
飞狐c++语言编的源代码,没必要审核哈
金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-6 12:01 | 显示全部楼层
重新整理下版面,上面的是k线包含的源代码,笔和线段源代码有时间再发。
金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-6 12:05 | 显示全部楼层
6.72.png
代码运行效果图
参与人数 1奖励 +8 热心 +3 时间 理由
huss99 + 8 + 3 2014-6-9 13:12 分析的有道理,学习了,谢谢!

查看全部评分

金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-6 12:06 | 显示全部楼层
第一步只是处理包含和分型
参与人数 1奖励 +8 热心 +3 时间 理由
huss99 + 8 + 3 2014-6-9 13:12 MACD有楼主更精彩!

查看全部评分

金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-6 12:09 | 显示全部楼层
不需要源代码的,悟多的公式就够用了
参与人数 1奖励 +8 热心 +3 时间 理由
huss99 + 8 + 3 2014-6-9 13:12 MACD有楼主更精彩!

查看全部评分

金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-6 12:17 | 显示全部楼层
这里只有一个要求:自己用可以,千万别拿去骗人钱财。
参与人数 1奖励 +8 热心 +3 时间 理由
huss99 + 8 + 3 2014-6-9 13:12 MACD有楼主更精彩!

查看全部评分

金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

发表于 2014-6-9 09:02 | 显示全部楼层
K线包含.ALG (7.2 KB, 下载次数: 22)
参与人数 2奖励 +16 热心 +6 时间 理由
huss99 + 8 + 3 2014-6-9 13:11 MACD有楼主更精彩!
biiljin + 8 + 3 2014-6-9 09:21 MACD有楼主更精彩!

查看全部评分

金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

将上证指数拆解到底

发表于 2014-6-9 11:52 | 显示全部楼层
这么高端的东西同花顺用不了,可惜了
金币:
奖励:
热心:
注册时间:
2006-7-6

回复 使用道具 举报

签到天数: 4 天

发表于 2014-6-9 13:09 | 显示全部楼层
latincello 发表于 2014-6-9 09:02
留言反映不会用。将公式导入飞狐,选择主图使用项。

这个包含处理很准呀,难得。
是不是只有飞狐和大智慧(行情 消息 资金)支持c语言编译
期待分笔和分段的公式
金币:
奖励:
热心:
注册时间:
2013-10-1

回复 使用道具 举报

签到天数: 4 天

发表于 2014-6-9 13:42 | 显示全部楼层
latincello 发表于 2014-6-9 09:02
留言反映不会用。将公式导入飞狐,选择主图使用项。

有个建议,顶分型或者底分型是包含关系的,建议顶分型标志或底分型标志放在最高或者最低的那根k线
金币:
奖励:
热心:
注册时间:
2013-10-1

回复 使用道具 举报

发表于 2014-6-9 13:47 | 显示全部楼层
huss99 发表于 2014-6-9 13:42
有个建议,顶分型或者底分型是包含关系的,建议顶分型标志或底分型标志放在最高或者最低的那根k线

这里只是第一版,后来有过优化。笔和线段源代码不在手边,看盘已经不用这些东西了。你去看看缠师530后的走势用笔和线段做图,还有大师的水准吗?
金币:
奖励:
热心:
注册时间:
2009-3-27

回复 使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站声明:MACD仅提供交流平台,请交流人员遵守法律法规。
值班电话:18209240771   微信:35550268

举报|意见反馈|手机版|MACD俱乐部

GMT+8, 2025-5-6 05:35 , Processed in 0.052985 second(s), 20 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表