金叉死叉策略,为什么不出现交易信号,哪里写错了吗,请帮看下,谢谢

Params
    //此处添加参数

Vars
    //此处添加变量
    Series<Numeric> MID;
    Series<Numeric> DKX;
    Series<Numeric> MADKX;
    Series<Numeric> DKXII;
    Bool longCondition;
    Bool shortCondition;
    
    Numeric lot(1);
        
Defs
    //此处添加公式函数
    
Events
    //此处实现事件函数
    
    //初始化事件函数,策略运行期间,首先运行且只有一次
    OnInit()
    {
        
    }


    //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
    OnBar(ArrayRef<Integer> indexs)
    {
        // 实时计算指标
        MID = (Open+High+Low+Close*3)/6;
        DKX = XAverage(MID,20);
        MADKX = XAverage(DKX,10);
        DKXII = XAverage(MID,55);
        
        PlotNumeric("fast",DKX,DKX,iif(DKX>MADKX,red,iif(DKX<MADKX,green,white)));
        PlotNumeric("slow",MADKX,MADKX,iif(DKX>MADKX,red,iif(DKX<MADKX,green,white)));
        PlotNumeric("long",DKXII,DKXII,iif(DKXII>DKXII[1],Magenta,white));
        
    }

    OnBarClose(ArrayRef<Integer> indexs)
    {
        
        //实时计算指标
        longCondition = DKX>MADKX AND DKX[1]<=MADKX[1];
        shortCondition = DKX<MADKX AND DKX[1]>=MADKX[1];
        
    }
    
    OnBarOpen(ArrayRef<Integer> indexs)
    {
        
        if(MarketPosition==0)
        {
            //开仓做多
            if(longCondition==True){
                Buy(lot,Open);
                Commentary("初始多:"+Text(Open));
            }
            
            //开仓做空
            if(shortCondition==True){
                SellShort(lot,Open);
                Commentary("初始空:"+Text(Open));
            }
        }
        
        //平仓做多
        if(MarketPosition==1 And shortCondition==True)
        {    
            Sell(lot,Open);
            SellShort(lot,Open);
            Commentary("多头平仓@"+Text(Open));
        }
        
        //平仓做空
        if(MarketPosition==-1 And longCondition==True){
            BuyToCover(lot,Open);
            Buy(lot,Open);
            Commentary("空头平仓@"+Text(Open));
        }
        
    }

MACD金叉死叉
求macd金叉买 死叉平的交易策略
macd金叉和死叉
MACD金叉死叉的分别
请教macd金叉死叉问题
求教大神:MACD金叉买进,死叉卖出的“交易策略公式”
改为单边的金叉进死叉平仓
均线N天内发生过金叉或者死叉
金死叉开仓的公式,改成只做单边死叉开空
我想把量化交易的策略设置为:SLOWKD金叉买入,KD死叉卖出,帮我弄一下公式代码,谢谢!

Vars
    //此处添加变量
    Bool longCondition;   ---> Global Bool longCondition; 
    Bool shortCondition;  -----> Global Bool shortCondition; 

 

能否如上增加Global前缀修饰

照当前的算法来说是可以的,如果有改动就不一定了

你的两个condition类型 都是局部类型 在onbarclose里计算完成以后,在onbaropen里不能读到,所以无效

可以改成natural,或者series ,具体根据实际情况决定