public void Update(POS.position pos)
        {
            mxListRowsPositions.WaitOne();

            //  m_ListRawPos.Add(new CRawPosition(pos));



            string isin = m_Plaza2Connector.Instruments.DictIsinId_Instrument  [pos.isin_id];

            //for Data binding work correct
            if (!DictPos.ContainsKey(isin))
            {
                DictPos[isin] = new CRawPosition(pos);
            }
            else
            {
                DictPos[isin].Update(pos);
            }

            foreach (CBotBase bt in m_Plaza2Connector.ListBots)
            {
                bt.Recalc(isin, EnmBotEventCode.OnPostionUpdate, null);
            }



            UpdateTrdMgrTotalPos();



            mxListRowsPositions.ReleaseMutex();
        }
        public void Update(string instrument, decimal pos, string status)
        {
            //for Data binding work correct
            if (!DictPos.ContainsKey(instrument))
            {
                DictPos[instrument] = new CRawPosition();
            }


            string msg = String.Format("[Update] instrument={0} pos={1} status={2}",
                                       instrument, pos, status);

            if (status == "ACTIVE")
            {
                DictPos[instrument].Pos    = pos;
                DictPos[instrument].PosGUI = pos;
            }
            else if (status == "CLOSED")
            {
                DictPos[instrument].Pos    = 0;
                DictPos[instrument].PosGUI = 0;
            }

            //foreach (CBotBase bt in m_Plaza2Connector.ListBots)
            //  bt.Recalc(isin, EnmBotEventCode.OnPostionUpdate, null);



            UpdateTrdMgrTotalPos();



            //mxListRowsPositions.ReleaseMutex();
        }
 public PosisionInst(string instrument, /*POS.position*/ CRawPosition pos)
 {
     Id  = instrument;
     Pos = pos.Pos; //pos.pos;
     if (Pos == 0)
     {
         WAPrice = 0;
     }
     else
     {
         WAPrice = pos.waprice;
     }
 }
Example #4
0
 public void UpdatePos(string isin, /*POS.position*/ CRawPosition pos)
 {
     if (/*pos.pos*/ pos.Pos == 0)
     {
         ExecuteWindowsUpdate(new Action(() =>
                                         Position.RemoveWithId(isin)
                                         ));
     }
     else
     {
         ExecuteWindowsUpdate(new Action(() =>
                                         Position.UpdateWithId(new PosisionInst(isin, pos))
                                         ));
     }
 }