//------------------------------------------------------------------------
// 简称: 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函数撤单,也不会改变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均线就把所有单撤掉,应该怎么写?给我提供个思路也行,谢谢