void UserWebLogOn() { while (true) { bool authd = SteamWeb.Authenticate(MyUniqueId, SteamClient, MyUserNonce); if (authd) { log.Success("User Authenticated!"); tradeManager = new TradeManager(ApiKey, SteamWeb); tradeManager.SetTradeTimeLimits(MaximumTradeTime, MaximiumActionGap, TradePollingInterval); tradeManager.OnTimeout += OnTradeTimeout; tradeOfferManager = new TradeOfferManager(ApiKey, SteamWeb); SubscribeTradeOffer(tradeOfferManager); CookiesAreInvalid = false; // Success, check trade offers which we have received while we were offline tradeOfferManager.GetOffers(); break; } else { log.Warn("Authentication failed, retrying in 2s..."); Thread.Sleep(2000); } } }
public void SetUp(TradeManager tradeManager) { manager = tradeManager; RefreshOtherUserName(); listAreaController.SetUp(this); selectedPokemonDetails.SetUp(this); otherUserOfferedPokemonDetails.SetUp(this); if (offerPokemonButton.GetComponent <MenuSelectableController>() == null) { Debug.LogError("No MenuSelectableController on offer pokemon button"); } offerPokemonButton.onClick.RemoveAllListeners(); offerPokemonButton.onClick.AddListener(OnOfferPokemonClicked); if (closeTradeButton.GetComponent <MenuSelectableController>() == null) { Debug.LogError("No MenuSelectableController on close trade button"); } closeTradeButton.onClick.RemoveAllListeners(); closeTradeButton.onClick.AddListener(OnCloseTradeClicked); RefreshOfferButtonInteractivity(); TrySetDefaultSelectedGameObject(); }
public async Task <bool> Simulation(string coinToBuy, string strategy, string fromDate, string toDate) { var candleProvider = new DatabaseCandleProvider(); var globalFullApi = await Global.ExchangeApi.GetFullApi(); await candleProvider.CacheAllData(globalFullApi, Global.Configuration.ExchangeOptions.FirstOrDefault().Exchange); var currentExchangeOption = Global.Configuration.ExchangeOptions.FirstOrDefault(); var simulationStartingDate = TimeZoneInfo.ConvertTimeToUtc(DateTime.ParseExact(fromDate, "yyyy-MM-ddTHH:mm:ss", System.Globalization.CultureInfo.InvariantCulture)); var simulationEndingDate = TimeZoneInfo.ConvertTimeToUtc(DateTime.ParseExact(toDate, "yyyy-MM-ddTHH:mm:ss", System.Globalization.CultureInfo.InvariantCulture)); var tradeManager = new TradeManager(); currentExchangeOption.SimulationCurrentDate = simulationStartingDate; while (currentExchangeOption.SimulationCurrentDate <= simulationEndingDate) { Global.Logger.Information($"------ SimulationCurrentDate start: {currentExchangeOption.SimulationCurrentDate}"); var watch1 = System.Diagnostics.Stopwatch.StartNew(); await tradeManager.LookForNewTrades(strategy); await tradeManager.UpdateExistingTrades(); currentExchangeOption.SimulationCurrentDate = currentExchangeOption.SimulationCurrentDate.AddMinutes(5); watch1.Stop(); Global.Logger.Information($"------SimulationCurrentDate end: {currentExchangeOption.SimulationCurrentDate} in #{watch1.Elapsed.TotalSeconds} seconds"); } return(true); }
private void InitTradeLib() { counterId = 0; tradeManager = new TradeManager(this, this, quotesStorage, GetAccountGroup); profitCalculator = ProfitCalculator.Instance; }
private void importShopAndTrade() { XMLHelper xh = new XMLHelper(Server.MapPath("/ShopAndTrade.xml")); XmlNodeList xnl = xh.GetXmlNode("shops").ChildNodes; using (DbTransaction trans = DbHelper.BeginTransaction()) { try { foreach (XmlNode xn in xnl) { Shop shop = new Shop(); shop.Shopname = xn.Attributes["Shopname"].InnerText; shop.Phone = xn.Attributes["Phone"].InnerText; shop.Id = ShopManager.AddShop(shop, trans); if (shop.Id <= 0) { trans.Rollback(); Response.Write("<br />事务出错执行回滚.<br />"); return; } foreach (XmlNode tradeXN in xn.ChildNodes) { Trade trade = new Trade(); trade.Shopid = shop.Id; trade.Tradename = tradeXN.Attributes["Tradename"].InnerText; trade.Tradevalue = Convert.ToDouble(tradeXN.Attributes["Tradevalue"].InnerText); trade.Id = TradeManager.AddTrade(trade, trans); if (trade.Id <= 0) { trans.Rollback(); Response.Write("<br />事务出错执行回滚.<br />"); return; } } //Response.Write(xn.Attributes["Shopname"].InnerText + "<br />"); } trans.Commit(); Response.Write("<br />店铺和菜单导入.<br />"); } catch (Exception ex) { trans.Rollback(); Response.Write("<br />事务出错执行回滚.<br />"); } } }
public void handler(IResponder responder) { Trade trade = new Trade(); trade.Shopid = SJSRequest.GetInt("Shopid", 0); trade.Tradename = SJSRequest.GetString("Tradename"); trade.Tradevalue = SJSRequest.GetFloat("Tradevalue", 0); if (trade.Shopid <= 0) { responder.WriteErroredMsg("请求参数错误!"); return; } if (string.IsNullOrEmpty(trade.Tradename)) { responder.WriteErroredMsg("菜单名称不能为空!"); return; } int rlt = TradeManager.AddTrade(trade); if (rlt <= 0) { responder.WriteErroredMsg("新增菜单失败,数据库写入不成功!"); return; } responder.WriteSuccessedMsg("新增菜单成功!"); }
public void InitTest() { // забить котировки QuoteMaker.FillQuoteStorageWithDefaultValues(); // словари TradeSharpDictionary.Initialize(MoqTradeSharpDictionary.Mock); DalSpot.Instantiate(TradeSharpDictionary.Instance.proxy); tradeManager = new TradeManager( null, null, QuoteStorage.Instance, accountId => { // ReSharper disable ConvertToLambdaExpression return(LinqToEntity.DecorateAccountGroup(conn.ACCOUNT.First(a => a.ID == accountId).ACCOUNT_GROUP)); // ReSharper restore ConvertToLambdaExpression }); ManagerTrade.MakeTestInstance(); // временно удалить файл начального наполнения (открытые ордера) TradeSharpConnectionPersistent.RestoreCsvFilesInMoqDbFolder(); TradeSharpConnectionPersistent.RenameCsvFilesContainingAccountDataInMoqDbFolder(); conn = TradeSharpConnectionPersistent.InitializeTradeSharpConnection(); MakeTestContents(); }
public async Task TradingSellNow(string tradeId) { var activeTrade = await Global.DataStore.GetActiveTradesAsync(); var trade = activeTrade.FirstOrDefault(x => x.TradeId == tradeId); if (trade == null) { return; } var orderId = Global.Configuration.TradeOptions.PaperTrade ? Guid.NewGuid().ToString().Replace("-", "") : await Global.ExchangeApi.Sell(trade.Market, trade.Quantity, trade.TickerLast.Bid); trade.CloseRate = trade.TickerLast.Bid; trade.OpenOrderId = orderId; trade.SellOrderId = orderId; trade.SellType = SellType.Manually; trade.IsSelling = true; await Global.DataStore.SaveTradeAsync(trade); //Trigger Sell TradeManager tradeManager = new TradeManager(); await tradeManager.UpdateOpenSellOrders(trade); await Runtime.GlobalHubTraders.Clients.All.SendAsync("Send", "Set " + tradeId + " to SellNow"); }
public OutputDetailViewModel(InvestInfo investInfo) { InvestInfo = investInfo; _tradeManager = new TradeManager(); TradeRecordDeleteButton = new CommandBase(TradeRecordDeleteButtonExecute); }
private void Awake() { DontDestroyOnLoad(gameObject); Instance = this; //InvokeRepeating("CheckPulse", 30f, 30f); AlipayPlugin.AddListener(this); }
/// <summary> /// CALLED WHEN THE ROBOT FIRST STARTS, IT IS ONLY CALLED ONCE. /// </summary> protected override void OnStart() { // TRADE MANAGER DECLERATION tm = new TradeManager(this); // INDICATOR DECLERATIONS IndIchi = Indicators.IchimokuKinkoHyo(TenkanSen, KijunSen, SenkouSpanB); IndBoll = Indicators.BollingerBands(BollDS, BollPeriod, BollSD, BollMAT); }
internal void Unsubscribe() { foreach (var s in subscriptions) s.Dispose(); subscriptions.Clear(); Manager = null; }
private void HandlePlayerStartedTrading(bool value, GameObject target) { traderInventory = TradeManager.GetTradeData(target.GetComponent <CharacterInformation>().tradeType); currentlyTrading = true; tradingCanvas.SetActive(true); PopulateTradeDialog(); }
internal void SubscribeFeeds(TradeManager tradeManager, IObservable<Ticker> ticker, IObservable<DepthTable.Entry> depth, IObservable<Trade> trades) { if (Manager != null) throw new InvalidOperationException("Cannot subscribe to two managers"); Manager = tradeManager; subscriptions.UnionWith(Subscribe(tradeManager, ticker, depth, trades)); }
public void handler(IResponder responder) { int id = SJSRequest.GetInt("Id", 0); if (id <= 0) { responder.WriteErroredMsg("请求参数错误!"); return; } Shop shop = ShopManager.GetShop(id); if (shop == null) { responder.WriteErroredMsg("此店铺不存在,无法删除!"); return; } int hasBookingCount = BookingshopManager.GetBookingshop(shop.Id, false, true); if (hasBookingCount > 0) { responder.WriteErroredMsg("此店铺正在接受预订,无法删除!"); return; } using (DbTransaction trans = DbHelper.BeginTransaction()) { bool writeError = false; try { int rlt = ShopManager.DelShop(id, trans); if (rlt <= 0) { writeError = true; trans.Rollback(); responder.WriteErroredMsg("店铺删除失败,数据库更新不成功!"); return; } TradeManager.DelTrade(id, trans); trans.Commit(); } catch (Exception ex) { trans.Rollback(); if (writeError == false) { responder.WriteErroredMsg("店铺删除失败,程序异常!"); } return; } } responder.WriteSuccessedMsg("店铺删除成功!"); }
/// <summary> /// Called by the <see cref="IScheduler" /> when a /// <see cref="ITrigger" /> fires that is associated with /// the <see cref="IJob" />. /// </summary> public async Task Execute(IJobExecutionContext context) { var tradeManager = new TradeManager(); Global.Logger.Information("Mynt service is updating trades."); await tradeManager.UpdateExistingTrades(); await Task.FromResult(true); }
/// <summary> /// Called by the <see cref="IScheduler" /> when a /// <see cref="ITrigger" /> fires that is associated with /// the <see cref="IJob" />. /// </summary> public async Task Execute(IJobExecutionContext context) { var tradeManager = new TradeManager(); Global.Logger.Information("Mynt service is looking for new trades."); await tradeManager.LookForNewTrades(); await Task.FromResult(true); }
private static TradeManager CreateTradeManager(IMock <IRepository <Trade> > tradesRepository) { var mgr = new TradeManager( tradesRepository.Object, CreateItemRepository(), CreateUserStore(), CreateUserManager()); return(mgr); }
public void handler(IResponder responder) { int shopid = SJSRequest.GetInt("Id", 0); IList <Trade> list = TradeManager.GetTrade(shopid, true); string json = PageUtils.TranformJSON(list); responder.WriteSuccessed(json); }
private void CreateInstance() { if (Instance != null && Instance != this) { Destroy(this.gameObject); } else { Instance = this; } }
void Awake() { if (instance == null) { instance = this; } else { Destroy(gameObject); } }
public DataInputViewModel(InvestInfo investInfo) { InvestInfo = investInfo; Messenger.Instance.Register <TradeType>(this, OnTradeTypeChanged, Context.TRADETYPE_CHANGED); EnterCommand = new CommandBase(EnterCommandExecute, EnterCommandCanExecute); _tradeManager = new TradeManager(); ConnectWebAPIs(); }
public void T0() { // Arrange var tradeManager = new TradeManager(); // Act var actual = tradeManager.Trades; // Assert Assert.Empty(actual); }
public void T12() { // Arrange var tradeManager = new TradeManager(); var catcher = Catcher.For(tradeManager); // Act tradeManager.FilterTrades(TestFilters); // Assert catcher.CaughtPropertyChanged(tradeManager, nameof(tradeManager.Trades)); }
public void T1() { // Arrange var tradeManager = new TradeManager(); var catcher = Catcher.For(tradeManager); // Act tradeManager.ClearAll(); // Assert catcher.CaughtPropertyChanged(tradeManager, nameof(tradeManager.Trades)); }
public void T0() { // Arrange var tradeManager = new TradeManager(); var filters = TestFilters; // Act tradeManager.FilterTrades(filters); // Assert Assert.Equal(filters, tradeManager.Filters); }
public bool VerifiqueCompra() { if (itensPossiveisDeVender.Length > 0) { DadosDoJogador d = GameController.g.Manager.Dados; if (d.Dinheiro >= itensPossiveisDeVender[OpcaoEscolhida].valorDeVenda) { EventAgregator.Publish(new StandardSendGameEvent(EventKey.getCoin, -itensPossiveisDeVender[OpcaoEscolhida].valorDeVenda)); new MyInvokeMethod().InvokeNoTempoReal(() => { EventAgregator.Publish(new StandardSendGameEvent(EventKey.disparaSom, SoundEffectID.Shop)); }, .5f); TradeManager.OnBuy(itensPossiveisDeVender[OpcaoEscolhida].nome); // itens possivel de vender vs itens para vender itensPossiveisDeVender[OpcaoEscolhida].quantidadeDisponivel--; KeyVar myKeys = GameController.g.MyKeys; int val = itensPossiveisDeVender[OpcaoEscolhida].quantidadeDisponivel; int index = (new List <ItensAVenda>(itensParaVender)).IndexOf(itensPossiveisDeVender[OpcaoEscolhida]); myKeys.MudaAutoCont("quantidade disponivel, loja " + ID + " item " + index, val); if (val == 0) { myKeys.MudaAutoShift("concluido, loja " + ID + " item " + index, true); } FinalizarHud(); IniciarHud(); return(true); } else { return(false); } } else { new MyInvokeMethod().InvokeAoFimDoQuadro(() => { EventAgregator.Publish(EventKey.compraConcluida); }); return(true); } }
public void T0() { // Arrange var tradeManager = new TradeManager { Filters = TestFilters }; // Act tradeManager.AddNewTrade(TestTradeDetailsViewModel); // Assert Assert.NotEmpty(tradeManager.Trades); }
public void T0() { // Arrange var tradeManager = new TradeManager { Filters = TestFilters }; // Act var(startDate, endDate) = tradeManager.GetDateRange(); // Assert Assert.Equal(DateTime.MaxValue, startDate); Assert.Equal(DateTime.MinValue, endDate); }
public ActionResult League(int id) { LeagueManager leagueManager = new LeagueManager(_context); PlayerManager playerManager = new PlayerManager(_context); TradeManager tradeManager = new TradeManager(_context); League league = leagueManager.Get(id); //try get players from session List <Player> players = (List <Player>)Session["Players"]; //try get players from json file if (players == null) { players = JsonConvert.DeserializeObject <List <Player> >(System.IO.File.ReadAllText(@"C:\Users\Collin\Source\Repos\fftoolkit\fftoolkit.Logic\Json Data\players.json")); } //scrape players if (players == null) { players = playerManager.Get(league); players = tradeManager.GetTradeValues(players, league); Session["Players"] = players; } //build teams with players //try get teams from session List <Team> teams = (List <Team>)Session["TeamsWithPlayers"]; //try get teams from json file if (teams == null) { teams = JsonConvert.DeserializeObject <List <Team> >(System.IO.File.ReadAllText(@"C:\Users\Collin\Source\Repos\fftoolkit\fftoolkit.Logic\Json Data\teams.json")); } //scrape teams if (teams == null) { teams = tradeManager.GetTeamsWithPlayers(players, league); Session["TeamsWithPlayers"] = teams; } TradesViewModel model = new TradesViewModel(teams) { League = league }; return(View(model)); }
public void T1() { // Arrange var tradeManager = new TradeManager(); tradeManager.SelectedTrade = TestOpenTrade; var catcher = Catcher.For(tradeManager); // Act tradeManager.RemoveTrade(); // Assert catcher.CaughtPropertyChanged(tradeManager, nameof(tradeManager.Trades)); }
private void Awake() { if (!_instance) { _instance = this; } else if (_instance != this) { Destroy(gameObject); } DontDestroyOnLoad(gameObject); categories = new Dictionary <PurchaseCategoryEnum, PurchaseCategory>(); purchaseAbles = new List <IPurchaseAble>(); CreateAllCategory(); }
private static void Connected(IObservable<string> data) { ISubject<Trade> fakeTrades = new Subject<Trade>(); ISubject<DepthTable.Entry> fakeDepth = new Subject<DepthTable.Entry>(); ISubject<Ticker> fakeTicker = new Subject<Ticker>(); FakeExchange exchange = new FakeExchange(10, 0); exchange.Subscribe(a => Console.Title = a.ToString()); IObservable<Ticker> ticker = //fakeTicker; data.AsJson().AsMtgoxTicker(); IObservable<DepthTable.Entry> depth = //fakeDepth; data.AsJson().AsMtgoxDepth(); IObservable<Trade> trade = //fakeTrades; data.AsJson().AsMtgoxTrades(); TradeManager manager = new TradeManager(exchange, ticker, depth, trade, new Stupid(5)); var tradelog = new StreamWriter(File.Open("trades.t", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read)); manager.Trades.Subscribe(a => tradelog.WriteLine(String.Format("tr {0} {1} {2}", a.Volume, a.Price, a.Date))); manager.Trades.Subscribe(a => Console.WriteLine(String.Format("Mtgox Traded {0} BTC for {1} USD", a.Volume, a.Price))); //while (true) //{ // Console.WriteLine("Enter a line to inject fake data"); // Console.WriteLine("tr {volume} {price}"); // var line = Console.ReadLine(); // line = trFile.ReadLine(); // var tokens = line.Split(' ').Select(a => a.ToLower()).ToArray(); // if (tokens[0] == "tr" && tokens.Length == 3) // { // fakeTrades.OnNext(new Trade(decimal.Parse(tokens[1]), decimal.Parse(tokens[2]), DateTime.Now.ToUniversalTime().Ticks)); // } //} Console.WriteLine("Press any key to exit"); Console.Read(); //tradelog.Flush(); //tradelog.Close(); }
protected override IEnumerable<IDisposable> Subscribe(TradeManager tradeManager, IObservable<Ticker> ticker, IObservable<DepthTable.Entry> depth, IObservable<Trade> trades) { wallet[0] = tradeManager.Exchange.GetBalance().Btc; IObservable<decimal> slidingVolumeWeightedAveragePrice = trades .SlidingWindow(WindowSize) .Select(a => a.Sum(t => t.Price * t.Volume) / a.Sum(t => t.Volume)); bool up = false; bool down = false; decimal vwap = 0; yield return slidingVolumeWeightedAveragePrice.Subscribe(a => { up = a > vwap; down = a < vwap; vwap = a; }); yield return trades.Subscribe(OnTrade(slidingVolumeWeightedAveragePrice, () => up, () => down)); }
void Start() { board = new Board (); // instantiates and draws gamestate = new GameState (4, board, firstPlayerAI); tradeManager = new TradeManager (gamestate, this); humanCardCounts = new GameObject[5]; tradeThisText = new GameObject[5]; forThisText = new GameObject[5]; tradeThis = new GameObject[5]; forThis = new GameObject[5]; turnInfoText = new GameObject[gamestate.numPlayers]; BuildPlayerTurnWindow (); BuildSelectionPanel (); BuildHumanPlayerHandDisplay (); BuildEndTurnButton (); BuildDiceRoller (); BuildTradePanel (); lastAIActionTime = EPOCH; curState = gamestate.IncrementState (); // initial increment }
public void TradeCanceled() { TradeHandler = null; }
public void RequestTrade(RealmTime time, RequestTradePacket pkt) { var target = Owner.GetPlayerByName(pkt.Name); if (target == null) { SendInfo("{\"key\":\"server.player_not_found\",\"tokens\":{\"player\":\"" + pkt.Name + "\"}}"); return; } if (!NameChosen || !target.NameChosen) { SendInfo("{\"key\":\"server.trade_needs_their_name\"}"); return; } if (Client.Player == target) { SendInfo("{\"key\":\"server.self_trade\"}"); return; } if (TradeManager.TradingPlayers.Count(_ => _.AccountId == target.AccountId) > 0) { SendInfo("{\"key\":\"server.they_already_trading\",\"tokens\":{\"player\":\"" + target.Name + "\"}}"); return; } if (TradeManager.CurrentRequests.Count(_ => _.Value.AccountId == AccountId && _.Key.AccountId == target.AccountId) > 0) { var myItems = new TradeItem[12]; var yourItems = new TradeItem[12]; for (var i = 0; i < myItems.Length; i++) { myItems[i] = new TradeItem { Item = Inventory[i] == null ? -1 : Inventory[i].ObjectType, SlotType = SlotTypes[i], Tradeable = (Inventory[i] != null && i >= 4) && (!Inventory[i].Soulbound), Included = false }; } for (var i = 0; i < yourItems.Length; i++) { yourItems[i] = new TradeItem { Item = target.Inventory[i] == null ? -1 : target.Inventory[i].ObjectType, SlotType = SlotTypes[i], Tradeable = (target.Inventory[i] != null && i >= 4) && (!target.Inventory[i].Soulbound), Included = false }; } Client.SendPacket(new TradeStartPacket { MyItems = myItems, YourItems = yourItems, YourName = target.Name }); target.Client.SendPacket(new TradeStartPacket { MyItems = yourItems, YourItems = myItems, YourName = Name }); var t = new TradeManager(this, target); target.TradeHandler = t; TradeHandler = t; } else { SendInfo("{\"key\":\"server.trade_requested\",\"tokens\":{\"player\":\"" + target.Name + "\"}}"); if (target.Ignored.Contains(Client.Account.AccountId)) return; target.Client.SendPacket(new TradeRequestedPacket { Name = Name }); var format = new KeyValuePair<Player, Player>(this, target); TradeManager.CurrentRequests.Add(format); Owner.Timers.Add(new WorldTimer(60 * 1000, (w, t) => { if (!TradeManager.CurrentRequests.Contains(format)) return; TradeManager.CurrentRequests.Remove(format); SendInfo("{\"key\":\"server.trade_timeout\"}"); })); } }
protected abstract IEnumerable<IDisposable> Subscribe(TradeManager tradeManager, IObservable<Ticker> ticker, IObservable<DepthTable.Entry> depth, IObservable<Trade> trades);