【事件发送器】 - 运行中的公式无法接收到事件

运行环境TBQ3, 按照文档测试【事件发送器功能】 https://tbq3.tbquant.net/helper?product_id=991&keyword=440&content_id=266&selectedkey=4033&type=article

动态参数修功能没有任何问题,但是发送事件就无法被公式接收

公式sbx_unit_eventSender代码如下

//------------------------------------------------------------------------
// 简称: sbx_unit_eventSender
// 名称: 事件发送器
// 类别: 策略应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
    Integer P_1(1);

Vars
    //此处添加变量

Defs
    //此处添加策略函数
    
Events
    //此处实现事件函数
    
    //初始化事件函数,策略运行期间,首先运行且只有一次
    OnInit()
    {
        PrintClear();
        SubscribeEvent("TestEventSender");
    }


    //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
    OnBarOpen(ArrayRef<Integer> indexs)
    {
        If(CurrentBar % 5 == 0)
            Print("参数P_1的值:" + Text(P_1) + " @Bar #" + Text(CurrentBar));
        
        If(CurrentBar % 6 == 0) {
        
            Map<String, String> evtValue;
            evtValue["k"] = "v";
            //PublishEvent("TestEventSender", evtValue);
        }
    }
    
    OnEvent(StringRef evtName,MapRef<String,String> evtValue) 
    {
        Print("* Event Received: " + evtName + " - " + TextMap(evtValue));
    }

运行在图表中,经测试注释掉的PublishEvent代码是可以工作的,发布的事件参数会被OnEvent接收并打印

事件发送器界面设置和操作如下, 按照文档上的截图,键名和键值我都没加双引号,默认为字符串(试了加双引号也不行):

调试台没有任何输出,请老师们帮忙看下是哪里没弄对?

什么是事件?
同一个公式运行两个事件
请教事件域onbaropen运行机制
在 Oninit事件中 A 函数有限制吗?
公式无法运行
关于ONTICK事件的错误
关于事件域独立运行是否会冲突请教
账户事件
新量化时代的必备交易利器——“事件驱动”
用buy函数无法触发onorder,onfill等类似事件么?

搞定了,需要在订阅的时候指定键名

SubscribeEvent("TestEventSender", ["a","b","c"]);


只要在代码中指定一个键名,就可以在【事件发送器】中自定义额外的键名