请教多图层的判断语句

我想写一个多图层的判断,但是条件判断的结果与想法不符,在多图层遍历的时候,计划在条件符合的图层输出bool值,实际在条件不符合的图层也输出了,并且同时写入了map数组,实在找不到原因,请教大神。图片和代码如下:

//------------------------------------------------------------------------
// 简称: test6
// 名称: 
// 类别: 公式应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
    //此处添加参数
    Numeric FastLength(12);
    Numeric SlowLength(26);
    Numeric MACDLength(9);

Vars
    //此处添加变量
    Numeric MACDDiff; 
    Numeric AvgMACD;
    Numeric MACDValue;
    Global Map<String,String> my_map;
    Series<Numeric> x;
    Series<String> s1;
    Series<Bool> con1;
    Numeric i;
Events
    //此处实现事件函数
    
    //初始化事件函数,策略运行期间,首先运行且只有一次
    OnInit()
    {
        x = 0;
    }
    
    OnReady()
    {
        //my_map["期货代码"] = "rb888.SHFE";
        
    }
    
    //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
    OnBar(ArrayRef<Integer> indexs)
    {
        Range[0:DataSourceSize() - 1]
        {            
            MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;
            Commentary("macd="+Text(MACDDiff));
            If(Time == 0.1459 And x == 0)
            {
                If(MACDDiff > 0)
                {
                    s1 = symbol;
                    Commentary("s1:"+s1);
                    con1 = True;
                    //PublishEvent("我的选股",my_map,"所有订阅者");
                }
                Else
                {
                    con1 = False;
                }
                x = 1;
            }
            If(Time == 0.210000)
            {
                x = 0;
            }
            //PlotBool("data[i].con1",con1,Low,Green);            
        }
        
        If(Time == 0.1459)
        {
            For i = 0 to DataSourceSize() - 1
            {
                
                If(data[i].con1 == True);
                {
                    data[i].PlotBool("data[i].con1",data[i].con1,Low,Green);
                    data[i].Commentary("Data[i].s1:"+s1);
                    my_map["期货代码"] = my_map["期货代码"] + "," +Data[i].s1;
                }
            }            
        }
        Commentary(my_map["期货代码"]);
        If(Day <> Day[1])
        {
            my_map["期货代码"] = "";
        }
    }


//------------------------------------------------------------------------
// 编译版本    2022-12-21 133331
// 版权所有    bluegreat
// 更改声明    TradeBlazer Software保留对TradeBlazer平台
//            每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

请教版主关于判断语句异常执行的问题
请教版主关于判断语句容纳条件数量的问题
请教!!!多图层的执行顺序
请教!关于多品种,跨周期,多图层
关于相应图层的品种名称判断的问题
多图层的触发和运行顺序
关于多图层策略
多图层
多图层的发单问题
发现多图层的Bug

建议投稿 详细说明

老师,都半个多月没有线上答疑了crying