#include "..\traders\JWilliam2.h" #include #include JWilliam2::JWilliam2(int TN): Trader(TN) { m_ThisTurn = 0; m_GlobalTurn = 1; }; //end constructor void JWilliam2::Think() {}; //no thinking! int JWilliam2::Trade(){ Broker * MyBroker = GetBroker(); StockMarketInfo Info; AssetData *MyAssets[MAX_STOCKS]; double Balance; int i; int TickerNum; MyBroker->GetStockMarketInfo(Info); for (i=0; iGetWorth((AssetData*(*)[]) &MyAssets, &Balance); Balance = MyBroker->GetBalance(); //PGG - you should use this one - doesn't allocate big arrays if (m_GlobalTurn == 1) { //first turn double ToSpend =(Balance/20) - (20*BROKER_COMMISSION); for (int i = 0; i < 20; i++) { TickerNum = (rand()%Info.NumberOfStocks); MyBroker->Buy(TickerNum, ToSpend); m_Tickers[i] = TickerNum; } m_GlobalTurn++; } //end if else { //not first turn TickerNum = (rand()%Info.NumberOfStocks); //get random ticker to buy Balance = MyBroker->Sell(m_Tickers[m_ThisTurn]); //sell the stock with ticker in m_Tickers MyBroker->Buy(TickerNum, Balance); //buy the random stock m_Tickers[m_ThisTurn] = TickerNum; //update the m_Tickers array m_ThisTurn = (m_ThisTurn+1)%20; //update the turn counter // cin >> i; } //end else return 0; }; //end Trade