请问,运行没有下单通常是哪些问题??
//-------------------------开单信号处理函数-----------------------//
VOID SIGFUN() //开单信号处理函数
{
IF(算法交易调用信号.F_FreshSig() == 1) //如果当前信号是未处理过的新信号
{
IF(算法交易调用信号.F_SigValid() == 1) //如果当前信号未消失
{
IF(算法交易调用信号.F_Sig() == BK && BuyVol == 0) //如果信号类型为BK 且多头持仓为0
{
MessageOut("【BK信号!】");
KDFUN(); //执行开多函数
}
ELSE IF(算法交易调用信号.F_Sig() == SK && SellVol==0) //如果信号类型为SK 且空头持仓为0
{
MessageOut("【Sk信号!】");
KKFUN(); //执行开空函数
}
}
}
}
//-------------------------开多-----------------------//
VOID KDFUN() //开多函数
{
IF(KDFLG == 0) //如果没有开多委托
{
BKM = N; //开多委托手数
KDP = KDZDJ; //开多指定委托价格
MessageOut("【BK信号:开多委托发出!】");
KDID = T_Deal(COD,0,0,BKM,KDP); //以开多委托价格发出开多委托手数的开多委托
BKT = NOW; //开多委托时间
KDFLG = 1; //已发出开多委托
}
}
这部分的写法有问题吗?
这一部分也请帮我看看有没有问题-----撤回并重挂
//-------------------------平多重挂-----------------------//
VOID SPCFUN() //平多重挂函数
{
IF((算法交易调用信号.F_IsTimeToKlineEnd(YY)==1 && PDFLG == 1) && (T_OrderState(PDID) == 0 || T_OrderState(PDID) == 3)) //如果新开K线 且 有平多委托 未成交或部分未成交
{
MessageOut("【SP信号B:平多重挂!】");
T_DeleteOrder(PDID); //撤掉平多委托挂单
PDDEL = 1; //已发出撤掉平多委托挂单
SPM = BRP; //平多委托手数
PDP = PDZDJ; //平多指定价委托价格
PDID = T_Deal(COD,1,SH,SPM,PDP); //以平多委托价格发出平多委托手数的平多委托
SPT = NOW; //平多委托时间
PDFLG = 1; //已发出平多委托
MessageOut("【SP信号C:平多已重挂!】");
}
}
回复你的问题
1、我是在交易时间测试的;
2、我绑定了模组,名称不会有问题;
3、趋势模型结尾有SETMODRUNTYPE(1)函数;
以上三个问题,好像都没问题,但就是运行不了