Exemplo n.º 1
0
 void OnReceiveRealConditions(object sender, _DKHOpenAPIEvents_OnReceiveRealConditionEvent e)
 {
     if (e.strType.Equals("I") && Pick.Contains(e.sTrCode) && Ban.Contains(e.sTrCode) == false && Strategics.Any(o => o.Code.Equals(e.sTrCode)) == false &&
         Connect.HoldingStock.ContainsKey(e.sTrCode) == false && int.TryParse(axAPI.GetMasterLastPrice(e.sTrCode), out int price))
     {
         new Task(() =>
         {
             var sc = new SatisfyConditionsAccordingToTrends
             {
                 Code  = e.sTrCode,
                 Short = AccordingToTrends.Short,
                 Long  = AccordingToTrends.Long,
                 Trend = AccordingToTrends.Trend,
                 ReservationSellUnit     = AccordingToTrends.ReservationSellUnit,
                 ReservationSellQuantity = AccordingToTrends.ReservationSellQuantity,
                 ReservationSellRate     = AccordingToTrends.ReservationSellRate,
                 ReservationBuyUnit      = AccordingToTrends.ReservationBuyUnit,
                 ReservationBuyQuantity  = AccordingToTrends.ReservationBuyQuantity,
                 ReservationBuyRate      = AccordingToTrends.ReservationBuyRate,
                 TradingSellInterval     = price / AccordingToTrends.TradingSellInterval,
                 TradingSellQuantity     = AccordingToTrends.TradingSellQuantity,
                 TradingSellRate         = AccordingToTrends.TradingSellRate,
                 TradingBuyInterval      = price / AccordingToTrends.TradingBuyInterval,
                 TradingBuyQuantity      = AccordingToTrends.TradingBuyQuantity,
                 TradingBuyRate          = AccordingToTrends.TradingBuyRate
             };
             if (Strategics.Add(sc) && Ban.Add(e.sTrCode))
             {
                 var count = SetStrategics(sc);
                 SendMessage(string.Concat(e.strConditionName, '_', count), e.sTrCode);
                 SendConditions?.Invoke(this, new SendSecuritiesAPI(SetSatisfyConditions(sc), sc));
             }
         }).Start();
     }
 }
Exemplo n.º 2
0
 protected bool GetDuplicateResults(Strategics game, string date)
 {
     try
     {
         using (var db = new GoblinBatDbContext(key))
             return(db.Material.Where(o => o.Assets == game.Assets && o.Code.Equals(game.Code) && o.Commission == game.Commission && o.MarginRate == game.MarginRate && o.Strategy.Equals(game.Strategy) && o.RollOver.Equals(game.RollOver) && o.BaseTime == game.BaseTime && o.BaseShort == game.BaseShort && o.BaseLong == game.BaseLong && o.NonaTime == game.NonaTime && o.NonaShort == game.NonaShort && o.NonaLong == game.NonaLong && o.OctaTime == game.OctaTime && o.OctaShort == game.OctaShort && o.OctaLong == game.OctaLong && o.HeptaTime == game.HeptaTime && o.HeptaShort == game.HeptaShort && o.HeptaLong == game.HeptaLong && o.HexaTime == game.HexaTime && o.HexaShort == game.HexaShort && o.HexaLong == game.HexaLong && o.PentaTime == game.PentaTime && o.PentaShort == game.PentaShort && o.PentaLong == game.PentaLong && o.QuadTime == game.QuadTime && o.QuadShort == game.QuadShort && o.QuadLong == game.QuadLong && o.TriTime == game.TriTime && o.TriShort == game.TriShort && o.TriLong == game.TriLong && o.DuoTime == game.DuoTime && o.DuoShort == game.DuoShort && o.DuoLong == game.DuoLong && o.MonoTime == game.MonoTime && o.MonoShort == game.MonoShort && o.MonoLong == game.MonoLong).AsNoTracking().Any(o => o.Date.Equals(date)));
     }
     catch (Exception ex)
     {
         new ExceptionMessage(ex.TargetSite.Name, game.Strategy);
     }
     return(false);
 }
Exemplo n.º 3
0
 public ExceptionMessage(Strategics games) => Record(new StringBuilder(where).Append(games.Assets).Append(nCode).Append(games.Code).Append(commission).Append(games.Commission).Append(rate).Append(games.MarginRate).Append(strategy).Append(games.Strategy).Append(over).Append(games.RollOver ? 1 : 0).Append(bs).Append(games.BaseShort).Append(bl).Append(games.BaseLong).Append(nt).Append(games.NonaTime).Append(ns).Append(games.NonaShort).Append(nl).Append(games.NonaLong).Append(ot).Append(games.OctaTime).Append(os).Append(games.OctaShort).Append(ol).Append(games.OctaLong).Append(ht).Append(games.HeptaTime).Append(hs).Append(games.HeptaShort).Append(hl).Append(games.HeptaLong).Append(xt).Append(games.HexaTime).Append(xs).Append(games.HexaShort).Append(xl).Append(games.HexaLong).Append(pt).Append(games.PentaTime).Append(ps).Append(games.PentaShort).Append(pl).Append(games.PentaLong).Append(qt).Append(games.QuadTime).Append(qs).Append(games.QuadShort).Append(ql).Append(games.QuadLong).Append(tt).Append(games.TriTime).Append(ts).Append(games.TriShort).Append(tl).Append(games.TriLong).Append(dt).Append(games.DuoTime).Append(ds).Append(games.DuoShort).Append(dl).Append(games.DuoLong).Append(mt).Append(games.MonoTime).Append(ms).Append(games.MonoShort).Append(ml).Append(games.MonoLong).Append(date).ToString());