一目均衡图的编写无法在图上显示
2022-10-10 09:34

麻烦老师帮我看下,这个编写是否有问题,K线上无法显示云图

 

//------------------------------------------------------------------------
// 简称: yimujunhengtu
// 名称: 一目均衡图
// 类别: 公式应用
// 类型: 用户应用
// 输出: Void
//日本云图
//------------------------------------------------------------------------
Params
    numeric va1(9);
    numeric va2(26);
    Numeric va3(52); //此处添加参数

Vars

    Numeric base;
    Numeric std;
    Numeric spandA;
    Numeric spandB;
    Numeric i_set;
//此处添加变量


    
Events
    
    //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
    OnBar(ArrayRef<Integer> indexs)
    {
        i_set = yuntu(va1,va2,va3,base,std,spandA,spandB);//红色的表示是用户函数
       /* base = (Highest(H,va1)+Lowest(L,va1))/2;
        std = (Highest(H,va2)+Lowest(L,va2))/2;
        spandA = (base + std)/2;
        spandB = (Highest(H,va3)+Lowest(L,va3))/2;*/
   
        PlotNumeric("转换线",base);
        PlotNumeric("基准线",std);
        PlotNumeric("云A",spandA);
        PlotNumeric("云B",spandB);
    if(spandA < spandB and spandB <> InvalidNumeric and spandA <> InvalidNumeric and spandA >0)
    {
        PlotNumeric("云带",spandB,spandA,green);
    }
    if(spandA >= spandB and spandB <> InvalidNumeric and spandA <> InvalidNumeric and spandB >0)
    {
        PlotNumeric("云带",spandA,spandB,Red);
        
    }
   
    }


//------------------------------------------------------------------------
// 编译版本    2022/09/27 225704
// 版权所有    tbs0622082014
// 更改声明    TradeBlazer Software保留对TradeBlazer平台
//            每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

 

yuntu函数如下

//------------------------------------------------------------------------
// 简称: yuntu
// 名称: 一目均衡图
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------
Params
    numeric va1(9);
    numeric va2(26);
    Numeric va3(52); 
    NumericRef base;
    NumericRef std;
    NumericRef spandA;
    NumericRef spandB;


Vars
    /*Series<Numeric> base;
    Series<Numeric> std;
    Series<Numeric> spandA;
    Series<Numeric> spandB;*/
    Numeric i_set;

Begin
    base = (Highest(H,va1)+Lowest(L,va1))/2;
    Return base;
    std = (Highest(H,va2)+Lowest(L,va2))/2;
    Return std;
    spandA = (base + std)/2;
    Return spandA;
    spandB = (Highest(H,va3)+Lowest(L,va3))/2;
    Return spandB;
     /* if(spanA < spanB and spanB <> InvalidNumeric and spanA <> InvalidNumeric and spanA >0)
    {
        PlotNumeric("云带",spanB,spanA,green);
    }
    if(spanA >= spanB and spanB <> InvalidNumeric and spanA <> InvalidNumeric and spanB >0)
    {
        PlotNumeric("云带",spanA,spanB,Red);
    }*/


    
    If(CrossOver(base,std))
    {
        Return 1 ;
    }
    Else If(CrossUnder(base,std))
    {
        return 2;
    }
    End


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

 

评论区
顶部