本文整理汇总了C++中MamdaOrderBook::getLevelAtPrice方法的典型用法代码示例。如果您正苦于以下问题:C++ MamdaOrderBook::getLevelAtPrice方法的具体用法?C++ MamdaOrderBook::getLevelAtPrice怎么用?C++ MamdaOrderBook::getLevelAtPrice使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MamdaOrderBook
的用法示例。
在下文中一共展示了MamdaOrderBook::getLevelAtPrice方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: processOrder
void BookPublisher::processOrder ()
{
MamdaOrderBookPriceLevel* level = NULL;
MamdaOrderBookEntry* entry = NULL;
order thisOrder = orderArray[mOrderCount];
mBookTime.setToNow();
if (mProcessEntries)
{
switch (thisOrder.entAction)
{
case ENTDELETE:
{
level = mBook->getLevelAtPrice (thisOrder.price, thisOrder.side);
if (level)
entry = level->findEntry (thisOrder.entId);
if (entry)
mBook->deleteEntry (entry, mBookTime, NULL);
break;
}
case ENTADD:
{
mBook->addEntry (thisOrder.entId, thisOrder.entSize,
thisOrder.price, thisOrder.side,
mBookTime, NULL, NULL);
break;
}
case ENTUPDATE:
{
entry = level->findEntry (thisOrder.entId);
mBook->updateEntry (entry, thisOrder.entSize,
mBookTime, NULL);
break;
}
}
}
else
{
level = mBook->getLevelAtPrice(thisOrder.price, thisOrder.side);
if (level)
{
level->setSizeChange (thisOrder.sizeChange);
level->setPrice (thisOrder.price);
level->setSize (thisOrder.volume);
level->setNumEntries (thisOrder.numEntries);
level->setTime (mBookTime);
level->setAction (thisOrder.plAction);
}
else
{
level = new MamdaOrderBookPriceLevel();
level->setSide (thisOrder.side);
level->setSizeChange (thisOrder.sizeChange);
level->setPrice (thisOrder.price);
level->setSize (thisOrder.volume);
level->setNumEntries (thisOrder.numEntries);
level->setTime (mBookTime);
level->setAction (thisOrder.plAction);
}
switch (thisOrder.plAction)
{
case PLDELETE:
mBook->deleteLevel(*level);
break;
case PLADD:
mBook->addLevel(*level);
break;
case PLUPDATE:
mBook->updateLevel(*level);
break;
}
}
mOrderCount++;
}