MQ中,一个程序,在模组中,在一个分区 (文华财经wh9)

投资者咨询:MQ中,一个程序,在模组中,在一个分区 (文华财经wh9)
来源:文华财经  日期:2018-7-4 14:29
 MQ中,一个程序,在模组中,在一个分区,会相互影响吗
投资者咨询:MQ中,一个程序,在模组中,在一个分区 (文华财经wh9)
来源:文华财经  日期:2018-7-4 14:29

我程序中,有委托单不能开仓什么的

技术人员回复
日期:2018-7-4 14:39
 不会相互影响

不过您不能手动干预的,否则会出现未知问题的


委托单不能开仓,对应的右侧显示的日志是什么?

提供个截图我们看下
投资者咨询:MQ中,一个程序,在模组中,在一个分区 (文华财经wh9)
来源:文华财经  日期:2018-7-4 14:29
 

Vars
Global_Numeric BKID;
Global_Numeric SKLOWW;
Numeric AAA;
Global_Numeric B;
Var_TickData data0;
Global_Numeric SUOCANG;
Global_Numeric JIESUO;
Begin
AAA=Time>=0.090000 &&Time<=0.145700;//时间9.30-11.00
If(   AAA==1&& Second>=10 &&Second<52&& F_BuyPosition==0 && F_SellPosition==0&&F_GetOpenOrderCount ==0)//秒周期
    {
    BKID=A_SendOrder(Enum_Sell,Enum_Entry,1,Price("Bid1")) ;//
     B=F_OrderFilledPrice(BKID);
  }

/*
if(data22.State == 1  && F_SellRemainPosition()==1)
{
SKLOWW =0;
If ( data22.State ==1 &&F_OrderStatus(BKID)==Enum_Filled && F_SellRemainPosition()==1) // 数据保存完成
{
IF( data22[0].TickPrice<F_SellAvgPrice ())
{
SKLOWW =data22[0].TickPrice;
}
}
}
*/

 data0= Def_TickData("AP1810",0,2); // 保存最近四笔的tick数据
if(data0.State == 1  && F_SellRemainPosition()==1)
{
 SKLOWW = data0[data0.Num-1].Bid1;
  }
If (F_OrderStatus( BKID)==Enum_Filled && F_SellRemainPosition()==1&& F_GetOpenOrderCount ==0&&Price("New")<B&&SKLOWW>0)
        {
         JIESUO = A_SendOrder(Enum_Buy,Enum_Exit,1,Price("Riselimit"));
        }      

End

 

我这个程序,死活不平仓,也不知道为什么,很简单的平仓条件,

投资者咨询:MQ中,一个程序,在模组中,在一个分区 (文华财经wh9)
来源:文华财经  日期:2018-7-4 14:29
 这个还不行吗
技术人员回复
日期:2018-7-4 21:21
B=F_OrderFilledPrice(BKID);函数返回0的

您刚发出委托就判断成交价,这个判断不出来的。需要单独编写,判断合约成交之后,在取对应的成交的

您可以使用Commentary函数不断的输出,判断对应条件是否满足,以及函数的返回值