コード例 #1
0
        public void CloseOrder(Order order,RateRecord rec)
        {
            if (order.RateName != rec.Name)
                return;
            order.ClosePrice = rec.Value;
            order.CloseTime = rec.UpdateTime;
            if (order.IsReal)
                order.IsReal = _enableRealOrders = StartFx.CloseOrder(order.RateName);
            UpdateStrategyResult(order);

            if (CloseOrderEvent != null)
                CloseOrderEvent(order);

            _openedOrders.Remove(order);
        }
コード例 #2
0
 private void SendOpenOrderEvent(Order order)
 {
     if (OpenOrderEvent != null)
         _asyncOperation.Post(delegate { OpenOrderEvent(order); }, null);
 }
コード例 #3
0
 private void SendCloseOrderEvent(Order order)
 {
     if (CloseOrderEvent != null)
         _asyncOperation.Post(delegate { CloseOrderEvent(order); }, null);
 }
コード例 #4
0
 private void UpdateStrategyResult(Order order)
 {
     if (!_strategyResult.Keys.Contains(order.StrategyName))
         _strategyResult.Add(order.StrategyName, 0);
     _strategyResult[order.StrategyName] += order.IntProfit * order.Direction;
 }
コード例 #5
0
        public Order OpenOrder(string strategyName,decimal currentPrice,decimal stopLoss,decimal takeProfit,string rateName,DateTime openTime, string strategyInfo)
        {
            bool isReal = !string.IsNullOrEmpty(_activeStrategyName) && strategyName == _activeStrategyName && _enableRealOrders && _activeRates.Contains(rateName);
            Order order=new Order(_orderSumm,currentPrice,isReal,stopLoss,takeProfit,rateName,strategyName,openTime,strategyInfo);
            if (order.IsReal)
                _enableRealOrders = order.IsReal = StartFx.OpenOrder(rateName, order.Direction, _orderSumm);
            _openedOrders.Add(order);

            if (OpenOrderEvent != null)
                OpenOrderEvent(order);
            return order;
        }
コード例 #6
0
ファイル: MainForm.cs プロジェクト: art-developer/MyBroker
 private void btnMakeOrder_Click(object sender, EventArgs e)
 {
     order = new OrderController("Стратегия по тренду (2 часа)", nudSumm.Value, new List<string>(){"EUR/USD"}).OpenOrder("Стратегия по тренду (2 часа)", 0, 1, 10, "EUR/USD",DateTime.Now,"");
 }
コード例 #7
0
ファイル: MainForm.cs プロジェクト: art-developer/MyBroker
 private void OnOpenOrder(Order order)
 {
     try
     {
         OnMessage(order.GetShortOpenMessage());
         string fileName = Path.Combine(Application.StartupPath, order.OpenTime.ToString("dd-MM-yyyy-HH-mm") + ".jpg");
         chart1.SaveImage(fileName, ChartImageFormat.Jpeg);
         Dictionary<string, string> images = new Dictionary<string, string>();
         images.Add("chart", fileName);
         _mailController.Send(order.GetShortOpenMessage(), order.GetFullOpenMessage() + Environment.NewLine + "<img src=cid:chart>", images);
     }
     catch (Exception ex)
     {
         OnMessage(ex.Message);
     }
 }