用A函数撤单问题---

//------------------------------------------------------------------------
// 简称: YBBDECLARYER
// 名称: 
// 类别: 公式应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
    Numeric Length1(5);

Vars
    Series<Numeric> MA5;
    Global Array<Integer> oid;


Events

       OnBar(ArrayRef<Integer> indexs)
       {
            MA5=Average(Close[1],Length1);
       }
       
        OnOrder(OrderRef ord)
    {
        If(ord.status==Enum_Declared And ord.orderId == oid[0] And MarketPosition>0  and close<ma5)
        
        {
             A_DeleteOrderV2(oid[0]);
        }
        If(ord.status==Enum_Declared And ord.orderId == oid[0]  And MarketPositionn<0 And close>ma5)
        {
             A_DeleteOrderV2(oid[0]);
        }
    }

    

老师请问收盘价破5均线,就把挂单全撤,这样写错在哪里?谢谢

请教A函数撤单问题
A函数撤单问题
撤单问题
撤单的几个小问题咨询
撤单的问题
请教A_DeleteOrderEx撤单问题
A函数撤单时,有多个订单同时撤单,出现警告撤单间隔时间少于5秒,如果处理
高频撤单问题
主连合约888用A_DeleteOrder撤单不成功
关于撤单的问题

A函数不能和图表指令函数混在一起用。A函数撤单,也不会改变Marketposition的状态。


Params
    //此处添加参数
    Numeric length1(5);
Vars
    Global Numeric CD(0);
    Global Map<Integer,Order> my_order;
    Series<Numeric> ma5;
Events
    
    OnOrder(OrderRef ord)
    {
        my_order[ord.orderid]=ord;
        If(ord.status == Enum_Declared)
        {
            If(CD==1 Or CD==-1)
            A_DeleteOrderEx(ord.orderid);
        }
    }
        OnBar(ArrayRef<Integer> indexs)
        {
              MA5=Average(Close[1],Length1);
     If (MarketPosition>0 And Close[1]<MA5 )
            {
               CD=1;       
            }
     If( MarketPosition<0 And  Close[1]>MA5  )
            {
               CD=-1;
            }
                }

 

老师,我这样用一个全局变量放到A函数里好像也不行,那请问我要写收盘价破5均线就把所有单撤掉,应该怎么写?给我提供个思路也行,谢谢