Joel Grunbaum
2022-01-19 0bef191acd5a77544852e6a3daae2df05bd34a31
strat.cpp
@@ -46,7 +46,8 @@
   while (true) {
      auto messages = protocol::catchUp(bs);
      // bom::updateBom(bs);
      printFeed(messages);
      // printFeed(messages);
      dumbHit(messages);
      freeMessages(messages);
   }
}
@@ -102,23 +103,30 @@
void dumbHit(std::deque<json::Message*>& m)
{
    for (auto& i : m) {
        if (i->type == json::ADDED) {
            json::AddedMessage* j = (json::AddedMessage*) i;
            if (j->owner == "jgrunbau") {
                book::OrderSideEnum s = j->side == book::Buy ? book::Sell : book::Buy;
                json::AddMessage a(json::ADD, j->product, j->price, s, j->resting);
                auto b = protocol::addOrder(a);
                if (b->type == json::ADDED && ((json::AddedMessage*) b)->resting > 0) {
                    json::DeleteMessage d(json::DELETE, j->product, ((json::AddedMessage*) b)->id);
                    delete protocol::deleteOrder(d);
                }
                if (b->type == json::ADDED) {
                    std::cout << "Hit " << j->owner << " for " << ((json::AddedMessage*) b)->filled << ", resting " << ((json::AddedMessage*) b)->resting << std::endl;
                }
                delete b;
            }
        }
    }
   for (auto& i : m) {
      if (i->type == json::ADDED) {
         json::AddedMessage* j = (json::AddedMessage*)i;
         if (j->owner == "jgrunbau") {
            book::OrderSideEnum s =
               j->side == book::Buy ? book::Sell : book::Buy;
            json::AddMessage a(json::ADD, j->product, j->price, s,
                               j->resting);
            auto b = protocol::addOrder(a);
            if (b->type == json::ADDED &&
                ((json::AddedMessage*)b)->resting > 0) {
               json::DeleteMessage d(json::DELETE, j->product,
                                     ((json::AddedMessage*)b)->id);
               delete protocol::deleteOrder(d);
            }
            if (b->type == json::ADDED) {
               std::cout << "Hit " << j->owner << " for "
                       << ((json::AddedMessage*)b)->filled
                       << ", resting "
                       << ((json::AddedMessage*)b)->resting << std::endl;
            }
            delete b;
         }
      }
   }
}
} // namespace strat