[求助]wh9照上面的精细化例子 (文华财经wh9)

投资者咨询:[求助]wh9照上面的精细化例子 (文华财经wh9)
来源:文华财经  日期:2019-11-18 19:40
wh9照上面的精细化例子,不能下单,帮改一下,出信号后能自动开平仓
用显示信号不下单就真的是这显示信号没下单
用弹出下单提示 就确实只弹出下单窗口
刚接触这个东西,麻烦帮改成出信号后,后台直接自动下单
Data
   CODA:"a2005"; //第一腿合约A
   CODB:"b2005"; //第二腿合约B
Vars
   Numeric N; //下单手数
   Numeric X; //循环变量
   Numeric MA3; //3周期均线
   Numeric MA5; //5周期均线
   Numeric MA10; //10周期均线
   Numeric UDP; //上下轨比例
   Numeric SHA; //A平仓参数
   Numeric SHB; //B平仓参数
   Numeric KCP; //K线位置
   Numeric SIGID; //指令序号
   Numeric NEWPA; //A最新价
   Numeric NEWPB; //B最新价
   Numeric BIDPA; //A买一价
   Numeric ASKPA; //A卖一价
   Numeric BIDPB; //B买一价
   Numeric ASKPB; //B卖一价
   Numeric BIDVB; //B买一量
   Numeric ASKVB; //B卖一量
   Numeric BSVB; //B买一量和
   Numeric ASVB; //B卖一量和
   Numeric MAA; //A平均值
   Numeric MAB; //B平均值
   Numeric SDA; //A标准差
   Numeric SDB; //B标准差
   Numeric UPLA; //A上轨
   Numeric UPLB; //B上轨
   Numeric DNLA; //A下轨
   Numeric DNLB; //B下轨
   Numeric TKNA; //A数据区长度
   Numeric TKNB; //B数据区长度
   Numeric BRPA; //A多头可用持仓
   Numeric SRPB; //B空头可用持仓
   Numeric OPFLG; //模型处理标志
   Numeric KCFLG; //开仓处理标志
   Numeric BKDFLGA; //A买开处理标志
   Numeric SPDFLGA; //A卖平处理标志
   Numeric SKDFLGB; //B卖开处理标志
   Numeric BPDFLGB; //B买平处理标志
   Var_TickData TKDA; //A数据区
   Var_TickData TKDB; //B数据区
   NumericArray TKPA; //A数据价格
   NumericArray TKPB; //B数据价格
   Global_Numeric SIGIDA; //记录指令序号
   Global_Numeric KCPA; //记录K线位置
   Global_Numeric BKIDA; //A买开委托
   Global_Numeric SPIDA; //A卖平委托
   Global_Numeric BKFLGA; //A买开标志
   Global_Numeric SPFLGA; //A卖平标志
   Global_Numeric SKIDB; //B卖开委托
   Global_Numeric BPIDB; //B买平委托
   Global_Numeric SKFLGB; //B卖开标志
   Global_Numeric BPFLGB; //B买平标志
Begin
   //------------------------信号发出------------------------//
   If(1) //信号发出
   {
      MA3 = Ma(Close,3); //3周期均线
      MA5 = Ma(Close,5); //5周期均线
      MA10 = Ma(Close,10); //10周期均线
      PlotLine("Ma3",Ma3); //3周期均线
      PlotLine("Ma5",Ma5); //5周期均线
      PlotLine("Ma10",Ma10); //10周期均线
      If(Ref(Cross(Ma5,Ma10),1) == 1) //如果满足做多条件
      { 
         BK; //发出做多信号
      }
      If(Ref(CrossDown(Ma3,Ma10),1) == 1) //如果满足平多条件
      {
         SP; //发出平多信号
      }
   }
   //------------------------处理开启------------------------//
 

            If(RunStart() == 1) //如果已初始化成功
            {
               OPFLG = 1; //开启模型处理
            }
   //------------------------变量赋值------------------------//
   If(OPFLG == 1) //变量赋值
   {
      N = 2; //下单手数
      BRPA = CODA.F_BuyRemainPosition(); //A多头可用持仓
      SRPB = CODB.F_SellRemainPosition(); //B空头可用持仓
      If(CODA.A_IsSHCode() == 1) //如果A是上期所合约
      {
         SHA = Enum_ExitToday; //A平仓参数
      }
      Else //如果A非上期所合约
      {
         SHA = Enum_Exit; //A平仓参数
      }
      If(CODB.A_IsSHCode() == 1) //如果B是上期所合约
      {
         SHB = Enum_ExitToday; //B平仓参数
      }
      Else //如果B非上期所合约
      {
         SHB = Enum_Exit; //B平仓参数
      }
      If(TKDA.State == 1) //如果A数据区有效
      {
         TKNA = TKDA.Num; //A数据区长度
         For X = 0 To TKNA - 1 //遍历A数据区
         {
            TKPA[X] = TKDA[X].TickPrice; //A数据价格
         }
      }
      If(1 )
      {
         KCFLG = 1; //开启开仓处理
      }
   }
   //------------------------信号处理------------------------//
   If(OPFLG == 1) //信号处理
   {
      SIGID = F_CurrentSigIndex; //指令序号
      If(SIGID != 0) //如果当笔行情发出指令
      {
         If(SIGID != SIGIDA || KCP != KCPA) //如果当前信号是未处理过的新信号
         {
            SIGIDA = SIGID; //记录指令序号
            KCPA = KCP; //记录K线位置
            If(F_CurrentSig == Sig_BK) //如果信号类型为BK
            {
               Commentary("【BK信号!】");
               If(KCFLG == 1) //如果已开启开仓处理
               {
                  SKDFLGB = 1; //开启B卖开处理
               }
            }
            Else If(F_CurrentSig == Sig_SP) //如果信号类型为SP
            {
               Commentary("【SP信号!】");
               BPDFLGB = 1; //开启B买平处理
            }
         }
      }
   }
   //------------------------成交判断------------------------//
   If(OPFLG == 1) //成交判断
   {
      If(BKFLGA == 1) //如果有A买开委托
      {
         If(F_OrderStatus(BKIDA) == Enum_Filled) //如果A买开委托成交
         {
            Commentary("【BK信号:A买开委托成交!】");
            BKFLGA = 0; //A买开标志归0
         }
      }
      If(SKFLGB == 1) //如果有B卖开委托
      {
         If(F_OrderStatus(SKIDB) == Enum_Filled) //如果B卖开委托成交
         {
            Commentary("【BK信号:B卖开委托成交!】");
            BKDFLGA = 1; //开启A买开处理
            SKFLGB = 0; //B卖开标志归0
         }
      }
      If(SPFLGA == 1) //如果有A卖平委托
      {
         If(F_OrderStatus(SPIDA) == Enum_Filled) //如果A卖平委托成交
         {
            Commentary("【SP信号:A卖平委托成交!】");
            SPFLGA = 0; //A卖平标志归0
         }
      }
      If(BPFLGB == 1) //如果有B买平委托
      {
         If(F_OrderStatus(BPIDB) == Enum_Filled) //如果B买平委托成交
         {
            Commentary("【SP信号:B买平委托成交!】");
            SPDFLGA = 1; //开启A卖平处理
            BPFLGB = 0; //B买平标志归0
         }
      }
   }
   //------------------------委托处理------------------------//
   If(OPFLG == 1) //委托处理
   {
      If(BKDFLGA == 1) //如果已开启A买开处理
      {
         If(BKFLGA == 0) //如果没有A买开委托
         {
            Commentary("【BK信号:A买开委托发出!】");
            BKIDA = CODA.A_SendOrder(Enum_Buy,Enum_Entry,N,ASKPA); //发出A买开委托
            BKFLGA = 1; //已发出A买开委托
         }
      }
      If(SKDFLGB == 1) //如果已开启B卖开处理
      {
         If(SKFLGB == 0) //如果没有B卖开委托
         {
            Commentary("【BK信号:B卖开委托发出!】");
            SKIDB = CODB.A_SendOrder(Enum_Sell,Enum_Entry,N,BIDPB); //发出B卖开委托
            SKFLGB = 1; //已发出B卖开委托
         }
      }
      If(SPDFLGA == 1) //如果已开启A卖平处理
      {
         If(BRPA > 0) //如果有A多头可用持仓
         {
            Commentary("【SP信号:A卖平委托发出!】");
            SPIDA = CODA.A_SendOrder(Enum_Sell,SHA,BRPA,BIDPA); //发出A卖平委托
            SPFLGA = 1; //已发出A卖平委托
         }
      }
      If(BPDFLGB == 1) //如果已开启B买平处理
      {
         If(SRPB > 0) //如果有B空头可用持仓
         {
            Commentary("【SP信号:B买平委托发出!】");
            BPIDB = CODB.A_SendOrder(Enum_Buy,SHB,SRPB,ASKPB); //发出B买平委托
            BPFLGB = 1; //已发出B买平委托
         }
      }
   }
End
 
技术人员回复
日期:2019-11-18 19:42
需要盘中实时行情满足条件才会下单的,当前夜盘还没有开盘,模型没有运行的

您等21点夜盘开盘后在加载试下
投资者咨询:[求助]wh9照上面的精细化例子 (文华财经wh9)
来源:文华财经  日期:2019-11-18 19:40
 就是白天运行的时候出信号没下单的啊,不是现在没下单
技术人员回复
日期:2019-11-18 19:45
 我们夜盘加载看下

预计明天11点前给您回复,请稍后