- 精华
- 0
- 在线时间
- 51 小时
- UID
- 251800
- 积分
- 61
- 帖子
- 49
- 阅读权限
- 30
- 注册时间
- 2017-5-29
- 最后登录
- 2017-11-6
- 精华
- 0
- UID
- 251800
- 积分
- 61
- 帖子
- 49
- 主题
- 7
- 阅读权限
- 30
- 注册时间
- 2017-5-29
- 最后登录
- 2017-11-6
|
楼主大神 请帮个忙 我用A\E\Q函数编了个 委托、委托未成交或未全部成交撤单、再次发单的程序 最后编译结果提示最终文件编译错误 error c2665:'CTBNumericSeries::CTBNumericSeries':none of the 2 overloads could conert all the argument types
帮我看下 我错在哪里了
Vars
NumericSeries Ma1(0); //目标周期下第1条短线均线
NumericSeries Ma2(0); //目标周期下第2条短线均线
Numeric Declaredtickcount(1);//委托已申报tick 计数
Numeric LastIndex(0);//当日最后一个未成交委托单索引号
Numeric OrderCanceledLot(0);//委托单撤单数量
Numeric nBorS;//委托单买卖方向
Numeric nEntryFlag;//委托单开平方向
Numeric CanceledOrderagin;// 撤单再次委托操作标志
Numeric nStatus;//委托单状态
Bool Condtion1(True);// 买卖条件1
Bool Condtion2(True);// 买卖条件2
Begin
Ma1=Average(1, 5);
Ma2=Average(1, 10);
If(BarStatus == 0)
{
SetGlobalVar(0,0);// 开仓标志
SetGlobalVar(1,0);// 撤单操作标志
SetGlobalVar(2,1);// 委托已申报tick 计数
SetGlobalVar(5,0);// 状态检测开关 1 进入检测
}
Condtion1=Ma1>Ma2+2*MinMove*PriceScale;
Condtion2=Ma1<Ma2-2*MinMove*PriceScale;
If( BarStatus == 2 && Condtion1 && A_BuyPosition()==0 && GetGlobalVar(0)==0)
{
A_SendOrder(Enum_Buy,Enum_Entry,4,Q_AskPrice+4*MinMove*PriceScale);
SetGlobalVar(0,1);SetGlobalVar(1,0);SetGlobalVar(5,1);
}
If( BarStatus == 2 && Condtion2 && A_SellPosition==0 && GetGlobalVar(0)==0)
{
A_SendOrder(Enum_Sell,Enum_Entry,4,Q_BidPrice-4*MinMove*PriceScale);
SetGlobalVar(0,1);SetGlobalVar(1,0);SetGlobalVar(5,1);
}
If( BarStatus == 2 && Condtion2 && A_BuyPosition()>0 && GetGlobalVar(0)==0)
{
A_SendOrder(Enum_Sell,Enum_Exit,4,Q_BidPrice-4*MinMove*PriceScale);
SetGlobalVar(0,1);SetGlobalVar(1,0);SetGlobalVar(5,1);
}
If(BarStatus == 2 && Condtion1 && A_SellPosition()>0 && GetGlobalVar(0)==0)
{
A_SendOrder(Enum_Buy,Enum_Exit,4,Q_AskPrice+4*MinMove*PriceScale);
SetGlobalVar(0,1);SetGlobalVar(1,0);SetGlobalVar(5,1);
}
If(GetGlobalVar(5)==1)
{
nStatus = A_OrderStatus(0); //nStatus 未声明
nEntryFlag = A_OpenOrderEntryOrExit(0);// nEntryFlag未声明
nBorS = A_OpenOrderBuyOrSell(0);//nBorS 未声明
If(nStatus == Enum_Filled)
{
SetGlobalVar(5,0);SetGlobalVar(0,0);
}Else If(nStatus == Enum_Declared)
{
Declaredtickcount=GetGlobalVar(2)+1;SetGlobalVar(2,Declaredtickcount);
If(Declaredtickcount>=6)
{
LastIndex = A_GetLastOrderIndex(nBorS,nEntryFlag);//当日最后一个未成交委托单索引号
If(LastIndex != InvalidInteger)
SetGlobalVar(3,LastIndex);
If(GetGlobalVar(1)==0 && A_GetOpenOrderCount()>0)
{
A_DeleteOrder(A_OpenOrderContractNo(0));
SetGlobalVar(1,1);
SetGlobalVar(4,0);//撤单再次委托标识
}
}
}Else If(nStatus == Enum_FillPart)
{
Declaredtickcount=GetGlobalVar(2)+1;SetGlobalVar(2,Declaredtickcount);
If(Declaredtickcount>=6)
{
LastIndex = A_GetLastOrderIndex(nBorS,nEntryFlag);//当日最后一个未成交委托单索引号
If(LastIndex != InvalidInteger)
SetGlobalVar(3,LastIndex);
If(GetGlobalVar(1)==0 && A_GetOpenOrderCount()>0)
{
A_DeleteOrder(A_OpenOrderContractNo(0));
SetGlobalVar(1,1);
SetGlobalVar(4,0);//撤单再次委托标识
}
}
}Else If(nStatus == Enum_Canceled OR (GetGlobalVar(1)==1 && A_GetOpenOrderCount()==0))
{
nBorS = A_OpenOrderBuyOrSell(GetGlobalVar(3));
nEntryFlag = A_OpenOrderEntryOrExit(GetGlobalVar(3));
OrderCanceledLot = A_OrderCanceledLot(GetGlobalVar(3));//委托单撤单数量
If(GetGlobalVar(4)==0)
{
If(nBorS==Enum_Buy())
{
A_SendOrder(nBorS,nEntryFlag,OrderCanceledLot,Q_AskPrice+4*MinMove*PriceScale);
CanceledOrderagin=1;SetGlobalVar(4,CanceledOrderagin);
SetGlobalVar(0,1);SetGlobalVar(1,0);SetGlobalVar(5,1);
}
If(nBorS==Enum_Sell())
{
A_SendOrder(nBorS,nEntryFlag,OrderCanceledLot,Q_BidPrice-4*MinMove*PriceScale);
CanceledOrderagin=1;SetGlobalVar(4,CanceledOrderagin);
SetGlobalVar(0,1);SetGlobalVar(1,0);SetGlobalVar(5,1);
}
}
}Else If(nStatus == Enum_Declare OR nStatus == Enum_Canceling )
Return;
}
End
谢谢 |
|