コード例 #1
0
        protected void RegisterOcxMsgChannel(FormMsgChannelDesc oMsgInfo)
        {
            string sModuleId = oMsgInfo.TradeFormInt.GetModuleId();

            m_hsMsgDispatch[sModuleId] = oMsgInfo;
        }
コード例 #2
0
        private void axHSQuanTrade1_TradeNotify(object sender, AxHSQuanTradeLib._DHSQuanTradeEvents_TradeNotifyEvent e)
        {
            if (0 == e.pamam1)
            {
                showlog(e.param3);
            }
            else if (2 == e.pamam1)
            {
                string             sFileName     = e.param3;
                FormBackTestResult frmBackResult = new FormBackTestResult();
                frmBackResult.MdiParent  = this;
                frmBackResult.ResultFile = sFileName;
                frmBackResult.ResultType = e.param2;
                if (0 == e.param2)
                {
                    frmBackResult.Text = "回测记录表";
                }
                else if (1 == e.param2)
                {
                    frmBackResult.Text = "回测权益表";
                }

                frmBackResult.Show();
            }
            else if (8 == e.pamam1)
            {
                this.timer1.Enabled = true;
            }
            else
            {
                if (4 == e.pamam1)
                {
                    showlog(e.param3);
                    DM.setOptlist(e.param3);
                }
                System.Collections.IDictionaryEnumerator itDispath = m_hsMsgDispatch.GetEnumerator();
                while (itDispath.MoveNext())
                {
                    FormMsgChannelDesc oDesc = (FormMsgChannelDesc)itDispath.Value;
                    ITradeDispatch     oForm = oDesc.TradeFormInt;
                    if (null != oForm)
                    {
                        if (e.pamam1 < (int)TradeOcxMsgType.E_OCX_UNKNOWN_MSG && e.pamam1 >= (int)TradeOcxMsgType.E_OCX_LOG_MSG)
                        {
                            if (TradeOcxMsgAuthType.E_OCX_PUBLIC_MSG == oDesc.MsgAuth[e.pamam1])
                            {
                                oForm.DispatchMessage(e.pamam1, e.param2, e.param3, e.param4);
                            }
                            else if (e.param4 != null && oForm.GetModuleId().Equals(e.param4))
                            {
                                oForm.DispatchMessage(e.pamam1, e.param2, e.param3, e.param4);
                            }
                        }
                        else //unkown message type dispath directly
                        {
                            oForm.DispatchMessage(e.pamam1, e.param2, e.param3, e.param4);
                        }
                    }
                }
            }


/*
 *          switch (e.pamam1)
 *          {
 *              case 0:
 *                  {
 *                      showlog(e.param3);
 *                  }
 *
 *                  break;
 *              case 1:
 *                  {
 *                      formmodelrun.addstrlog(e.param3);
 *                  }
 *
 *                  break;
 *              case 2://策略统计结果
 *                  {
 *                      string sFileName = e.param3;
 *                      FormBackTestResult frmBackResult = new FormBackTestResult();
 *                      frmBackResult.MdiParent = this;
 *                      frmBackResult.ResultFile = sFileName;
 *                      frmBackResult.ResultType = e.param2;
 *                      if (0 == e.param2)
 *                      {
 *                          frmBackResult.Text = "回测记录表";
 *                      }
 *                      else if (1 == e.param2)
 *                      {
 *                          frmBackResult.Text = "回测权益表";
 *                      }
 *
 *                      frmBackResult.Show();
 *                  }
 *                  break;
 *              case 3://行情
 *                  {
 *
 *                      for (int i = 0; i < listOptForm.Count; i++)
 *                      {
 *                          listOptForm[i].Update(e.param3);
 *
 *                      }
 *                  //showlog(e.param3);
 *
 *                  }
 *                  break;
 *              case 4://功能请求返回
 *                  {
 *                      showlog(e.param3);
 *                      DM.setOptlist(e.param3);
 *                  }
 *                  break;
 *
 *          }
 *
 */
        }