Esempio n. 1
0
 internal void AddQueryStock(SecurityInfo si)
 {
     foreach (var st in RunningST)
     {
         BaseTradeAPI bta = ((BaseTradeAPI)st.Value);
         if (bta.market == si.Market)
         {
             if (bta.isOpened)
             {
                 if (CurrentTicker.getCurrentTickerPrice(si.Market + si.Code) == 0)
                 {
                     CurrentTicker.Insert(si.Market + si.Code);
                 }
                 if (!bta.DicSi.ContainsKey(si.Code))
                 {
                     bta.DicSi.Add(si.Code, si);
                 }
                 bta.Subscribe(si.Code, "marketDepth", si.Type);
                 bta.Subscribe(si.Code, "trade", si.Type);
                 if (showTradeView)
                 {
                     bta.Subscribe(si.Code, "order", si.Type);
                     bta.Subscribe(si.Code, "account", si.Type);
                     if (si.Type != "spot")
                     {
                         bta.Subscribe(si.Code, "position", si.Type);
                     }
                 }
             }
         }
     }
 }
Esempio n. 2
0
 public TraderAccount(BaseTradeAPI bta)
 {
     // TODO: Complete member initialization
     this._accountID = bta.name;
     this.ClientID   = -1;
     this.bta        = bta;
 }
Esempio n. 3
0
 private void StartGetData()
 {
     ServerLog.ClearList();
     for (int i = 0; i < SiArray.Count; i++)
     {
         if (!RunningST.ContainsKey(SiArray[i].Market))
         {
             string       market         = SiArray[i].Market;
             string       dllname        = TradeSDK.getDllName(market);
             Assembly     assembly       = Assembly.Load(TradeSDK.getSDK(dllname));
             Type         ClassTradeAPI  = assembly.GetType(string.Format("{0}.TradeAPI", dllname.Substring(0, dllname.Length - 4)));
             Object       ObjectTradeAPI = assembly.CreateInstance(ClassTradeAPI.FullName, true, BindingFlags.CreateInstance, null, new object[] { }, null, null);
             BaseTradeAPI bta            = ((BaseTradeAPI)ObjectTradeAPI);
             RunningST.Add(market, bta);
             TraderAccount sa = new TraderAccount(bta);
             bta.queryDataArrival += queryArrival;
             if (showTradeView)
             {
                 CurrentBalances.Insert(market);
                 Trader trader = Trader.CreateTrader(sa);
                 traders.Add(market, trader);
                 frm_TradeMonitor tradeform = new frm_TradeMonitor(trader);
                 tradeform.tradePolicyResult_Arrival    += PolicyResultArraival;
                 tradeform.tradeFunPolicyResult_Arrival += PolicyFunArraival;
                 tradeform.Left = 0;
                 tradeform.Top  = 3 * logform.Height;
                 tradeform.Show();
                 tradeform.ConnectTrade();
             }
         }
         foreach (var st in RunningST)
         {
             BaseTradeAPI bta = ((BaseTradeAPI)st.Value);
             if (bta.AbortedWs)
             {
                 bta.InitWebSocket();
             }
             if (bta.market == SiArray[i].Market)
             {
                 if (!bta.DicSi.ContainsKey(SiArray[i].Code))
                 {
                     bta.DicSi.Add(SiArray[i].Code, SiArray[i]);
                     CurrentTicker.Insert(SiArray[i].Market + SiArray[i].Code);
                 }
                 bta.Subscribe(SiArray[i].Code, "marketDepth", SiArray[i].Type);
                 bta.Subscribe(SiArray[i].Code, "trade", SiArray[i].Type);
                 if (showTradeView)
                 {
                     bta.Subscribe(SiArray[i].Code, "order", SiArray[i].Type);
                     bta.Subscribe(SiArray[i].Code, "account", SiArray[i].Type);
                     if (SiArray[i].Type != "spot")
                     {
                         bta.Subscribe(SiArray[i].Code, "position", SiArray[i].Type);
                     }
                 }
             }
         }
     }
 }
Esempio n. 4
0
        //策略需要拉取信息
        void PolicyFunArraival(object sender, PolicyFunCGetEventArgs args)
        {
            RunningPolicy policy = (RunningPolicy)sender;
            BaseTradeAPI  bta    = RunningST[args.SecInfo.Market];
            var           result = bta.GetType().GetMethod(args.FunName).Invoke(bta, args.Parameters);

            ((RunningPolicy)args.PolicyObject).FunGetResult(args.FunName, result);
        }
Esempio n. 5
0
        public frm_SelectMonitor(bool isSim, BaseTradeAPI bta)
        {
            // TODO: Complete member initialization
            this.isSim        = isSim;
            this.stockAccount = bta.name;
            this.market       = bta.market;
            InitializeComponent();
#if READONLY
            this.propertyGrid1.Visible = false;
#endif
        }