zt13861755006 发表于 2021-9-4 10:52:47

我将缠论笔代码完成了,想要的自取吧

//------------------------------------------------------------------------
// 简称: K_topbottom
// 名称:
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//输出顶底分型的索引值和它是顶底的类型
//------------------------------------------------------------------------
Params
        //此处添加参数
        NumericRef TB;//顶底1为顶,-1为低
        NumericRef offset;//偏移量
Vars
        //此处添加变量
        Series<Numeric> IsMerged;//被包含0:无包含,-1被前根包含,1包含前根
        Series<Numeric> FontIsTop;
        Series<Numeric> FontIsBottom;
        Series<Numeric> TB_Interval(0);
        Series<Numeric> IsRiseOrDecrease;
        Series<Numeric> MergeHigh(0);
        Series<Numeric> MergeLow(0);
        Series<Numeric> NotMergeFontHigh(0);
        Series<Numeric> NotMergeFontLow(0);
        Numeric i(0);
        Numeric tbnum(0);//顶底分型个数
Begin
    //此处开始合并K线
   
        If (High>MergeHigh And Low>MergeLow) //不包含上涨
        {
                IsMerged=0;
                MergeHigh=High;
                MergeLow=Low;
                IsRiseOrDecrease=1;
                NotMergeFontHigh=MergeHigh;
                NotMergeFontLow=MergeLow;
        }
       
        Else If(High<MergeHigh And Low<MergeLow) //不包含下跌
        {
                IsMerged=0;
                MergeHigh=High;
                MergeLow=Low;
                IsRiseOrDecrease=-1;
                NotMergeFontHigh=MergeHigh;
                NotMergeFontLow=MergeLow;
        }
       
        Else If(High>=MergeHigh And Low<=MergeLow)//包含前K线
        {
                IsMerged=1;
                IsRiseOrDecrease=1;
                NotMergeFontHigh=NotMergeFontHigh;
                NotMergeFontLow=NotMergeFontLow;
                If (MergeHigh>=MergeHigh And MergeHigh>=MergeHigh) //上涨
                {
                        MergeHigh=Max(High,MergeHigh);
                        MergeLow=Max(Low,MergeLow);
                }
                Else If(MergeHigh<MergeHigh And MergeHigh<MergeHigh)//下跌
                {
                        MergeHigh=Min(High,MergeHigh);
                        MergeLow=Min(Low,MergeLow);
                }
        }
       
        Else If(High<MergeHigh And Low>MergeLow)//被前K线包含
        {
               
                IsMerged=-1;
                IsRiseOrDecrease=0;
                NotMergeFontHigh=NotMergeFontHigh;
                NotMergeFontLow=NotMergeFontLow;
                If ((MergeHigh>=MergeHigh And (MergeHigh>MergeHigh Or MergeHigh>MergeHigh)) Or (MergeHigh>MergeHigh And MergeLow>MergeLow)) //上涨
                {
                       
                        MergeHigh=Max(High,MergeHigh);
                        MergeLow=Max(Low,MergeLow);
                }
                Else If((MergeHigh<=MergeHigh And (MergeHigh<MergeHigh Or MergeHigh<MergeHigh))Or(MergeHigh<MergeHigh And MergeLow<MergeLow))//下跌
                {
                       
                        MergeHigh=Min(High,MergeHigh);
                        MergeLow=Min(Low,MergeLow);
                }
        }
       
       
        //此处开始分顶底分型
        If(MergeHigh<MergeHigh And NotMergeFontHigh<=MergeHigh And MergeLow<MergeLow)
        {
                FontIsTop=1;
                FontIsBottom=0;
                TB=1;
                offset=1;
                While(IsMerged==-1)
                {
                        offset=offset+1;
                }
/*                Commentary("MergeHigh:"+Text(MergeHigh));
                Commentary("MergeLow:"+Text(MergeLow));
                Commentary("NotMergeFontHigh:"+Text(NotMergeFontHigh));
                Commentary("NotMergeFontLow:"+Text(NotMergeFontLow));*/
                return CurrentBar;
        }
       
        Else If(MergeLow>MergeLow And NotMergeFontLow>=MergeLow And MergeHigh>MergeHigh)
        {
                FontIsTop=0;
                FontIsBottom=1;
                TB=-1;
                offset=1;
                While(IsMerged==-1)
                {
                        offset=offset+1;
                }
/*                Commentary("MergeHigh:"+Text(MergeHigh));
                Commentary("MergeLow:"+Text(MergeLow));
                Commentary("NotMergeFontHigh:"+Text(NotMergeFontHigh));
                Commentary("NotMergeFontLow:"+Text(NotMergeFontLow));*/
                return CurrentBar;
        }
        Else
        {
                FontIsTop=0;
                FontIsBottom=0;
        }
       
    //此处开始画图       

/*        Commentary("MergeHigh:"+Text(MergeHigh));
        Commentary("MergeLow:"+Text(MergeLow));
        Commentary("NotMergeFontHigh:"+Text(NotMergeFontHigh));
        Commentary("NotMergeFontLow:"+Text(NotMergeFontLow));
*/
        Return 0;
End


//------------------------------------------------------------------------
// 编译版本:        2021/09/03 143827
// 版权所有        zt13861755006
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

zt13861755006 发表于 2021-9-4 10:54:59

画出来效果还行

zt13861755006 发表于 2021-9-4 11:12:12

还有一部分太大,想要的留个言啊

sksuai 发表于 2021-9-9 21:14:31

求公式

wangshu_ning 发表于 2021-9-24 22:51:18

求全部啊,谢谢

tba82321402415 发表于 2021-9-26 11:10:56


求公式

pxr019225 发表于 2021-9-30 21:07:27


求全部啊,谢谢

louxm123 发表于 2021-10-1 06:41:39

求完整版  165069841@qq.com

therock 发表于 2021-10-3 10:50:14

发出来看看

lvqiong123 发表于 2021-10-5 10:29:10

求完整版。512881548@QQ。com,谢谢了!
页: [1] 2
查看完整版本: 我将缠论笔代码完成了,想要的自取吧