麻烦老师帮我看下,这个编写是否有问题,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公式修改和重写的权利
//------------------------------------------------------------------------
您是要返回多个值吗,这种写法是没有用的。可以通过引用类型参数来返回多个值,参考下SAR函数的写法。