예제 #1
0
        public static void processStopOrder(Stoporder stopOrder)
        {
            switch (stopOrder.status)
            {
            case "linkwait":
            case "sl_forwarding":
            case "sl_guardtime":
            case "tp_correction":
            case "tp_correction_guardtime":
            case "watching":
            case "tp_forwarding":
            case "tp_guardtime":
                if (!monitoredStopOrders.Exists(o => o.transactionid == stopOrder.transactionid))
                {
                    monitoredStopOrders.Add(stopOrder);
                }
                break;

            case "cancelled":
            case "denied":
            case "disabled":
            case "expired":
            case "failed":
            case "rejected":
            case "sl_executed":
            case "tp_executed":
                monitoredStopOrders.RemoveAll(o => o.transactionid == stopOrder.transactionid);
                break;

            default:
                break;
            }
        }
예제 #2
0
        private void processStopOrder(Stoporder stopOrder)
        {
            DataRow_stopOrder row = (DataRow_stopOrder)DTS.t_my_ClosingPositions.FindByID(stopOrder.transactionid);

            if (row != null)
            {
                DTS.t_my_ClosingPositions.Remove_Row(row);
            }
            DTS.t_my_ClosingPositions.AcceptChanges();
            DTS.t_my_ClosingPositions.Add_Row(stopOrder.seccode, stopOrder.buysell, stopOrder.stoploss.activationprice, stopOrder.takeprofit.activationprice, stopOrder.status, stopOrder.transactionid);
            DTS.t_my_ClosingPositions.AcceptChanges();
        }