全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
为什么 vol_pre_5d = 0,请老师解答,完整代码如下
2022-04-15 13:09

/------------------------------------------------------------------------
// 简称: jiaoliu
// 名称: 交流
// 类别: 公式应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
    //此处添加参数
    numeric  num_minute(345);
Vars
    //此处添加变量
    numeric vol_pre_5d;                  // 前五日每分钟成交量
    series<numeric> vol_ratio_minute;    // 每分钟量比
Defs
    //此处添加公式函数
    
Events
    //此处实现事件函数
    OnBarOpen(ArrayRef<Integer> indexs)
    {
        vol_pre_5d = Summation(data1.v[1],5) / (5* num_minute );   //  data1   日线   求过去5日每分钟成交量
        
    }
    //初始化事件函数,策略运行期间,首先运行且只有一次
    OnInit()
    {
        
    }


    //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
    OnBar(ArrayRef<Integer> indexs)
    {
        vol_ratio_minute = vol / vol_pre_5d;
        Commentary("量比="+text(vol_ratio_minute));
        Commentary("vol_pre_5d="+text(vol_pre_5d));
        Commentary("data1.v[1]="+text(data1.v[1]));
        Commentary("num_minute="+text(num_minute));
        Commentary("Summation(data1.v[1],5)="+text(Summation(data1.v[1],5)));
        Commentary("5* num_minute="+text(5* num_minute));
    }


//------------------------------------------------------------------------
// 编译版本    2022/04/15 125645
// 版权所有    agtd30000
// 更改声明    TradeBlazer Software保留对TradeBlazer平台
//            每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

cai446449

Global numeric vol_pre_5d;    13行这个变量声明要变成全局变量,,,这个是不同的事件域,建议看一下官网视频,变量和事件域的知识

2022-04-15 13:53
kyover

vol_pre_5d 是一个局部变量,是不能跨域传递的,你在onbaropen里赋值,onbar里是获取不到的

2022-04-18 08:50
agtd30000

谢谢二位,又忘了全局变量的问题

2023-03-15 08:38
您未登录,请先 登录注册 后发表评论
顶部