本文整理汇总了C++中O2G2Ptr::appendChild方法的典型用法代码示例。如果您正苦于以下问题:C++ O2G2Ptr::appendChild方法的具体用法?C++ O2G2Ptr::appendChild怎么用?C++ O2G2Ptr::appendChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类O2G2Ptr
的用法示例。
在下文中一共展示了O2G2Ptr::appendChild方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
IO2GRequest *joinToNewGroupRequest(IO2GSession *session, const char *sAccountID,
std::vector<std::string> &orderIDs, int iContingencyType)
{
O2G2Ptr<IO2GRequestFactory> requestFactory = session->getRequestFactory();
if (!requestFactory)
{
std::cout << "Cannot create request factory" << std::endl;
return NULL;
}
O2G2Ptr<IO2GValueMap> valuemap = requestFactory->createValueMap();
valuemap->setString(Command, O2G2::Commands::JoinToNewContingencyGroup);
valuemap->setInt(ContingencyGroupType, iContingencyType);
for (size_t i=0; i < orderIDs.size(); ++i)
{
O2G2Ptr<IO2GValueMap> valuemapChild = requestFactory->createValueMap();
valuemapChild->setString(OrderID, orderIDs[i].c_str());
valuemapChild->setString(AccountID, sAccountID);
valuemap->appendChild(valuemapChild);
}
O2G2Ptr<IO2GRequest> request = requestFactory->createOrderRequest(valuemap);
if (!request)
{
std::cout << requestFactory->getLastError() << std::endl;
return NULL;
}
return request.Detach();
}
示例2:
IO2GRequest *createOTORequest(IO2GSession *session, const char *sOfferID, const char *sAccountID, int iAmount, double dRatePrimary, double dRateSecondary)
{
O2G2Ptr<IO2GRequestFactory> requestFactory = session->getRequestFactory();
if (!requestFactory)
{
std::cout << "Cannot create request factory" << std::endl;
return NULL;
}
O2G2Ptr<IO2GValueMap> valuemap = requestFactory->createValueMap();
valuemap->setString(Command, O2G2::Commands::CreateOTO);
O2G2Ptr<IO2GValueMap> valuemapPrimary = requestFactory->createValueMap();
valuemapPrimary->setString(Command, O2G2::Commands::CreateOrder);
valuemapPrimary->setString(OrderType, O2G2::Orders::StopEntry);
valuemapPrimary->setString(AccountID, sAccountID);
valuemapPrimary->setString(OfferID, sOfferID);
valuemapPrimary->setString(BuySell, O2G2::Sell);
valuemapPrimary->setInt(Amount, iAmount);
valuemapPrimary->setDouble(Rate, dRatePrimary);
valuemap->appendChild(valuemapPrimary);
O2G2Ptr<IO2GValueMap> valuemapSecondary = requestFactory->createValueMap();
valuemapSecondary->setString(Command, O2G2::Commands::CreateOrder);
valuemapSecondary->setString(OrderType, O2G2::Orders::StopEntry);
valuemapSecondary->setString(AccountID, sAccountID);
valuemapSecondary->setString(OfferID, sOfferID);
valuemapSecondary->setString(BuySell, O2G2::Buy);
valuemapSecondary->setInt(Amount, iAmount);
valuemapSecondary->setDouble(Rate, dRateSecondary);
valuemap->appendChild(valuemapSecondary);
O2G2Ptr<IO2GRequest> request = requestFactory->createOrderRequest(valuemap);
if (!request)
{
std::cout << requestFactory->getLastError() << std::endl;
return NULL;
}
return request.Detach();
}
示例3: switch
IO2GRequest *createCloseMarketNettingOrderRequest(IO2GSession *session, CloseOrderData *closeOrdersData)
{
O2G2Ptr<IO2GRequestFactory> requestFactory = session->getRequestFactory();
O2G2Ptr<IO2GValueMap> batchValuemap = requestFactory->createValueMap();
batchValuemap->setString(Command, O2G2::Commands::CreateOrder);
std::string sOfferID = closeOrdersData->offerID;
std::string sAccountID = closeOrdersData->account;
OrderSide side = closeOrdersData->side;
std::string sOrderType = O2G2::Orders::TrueMarketClose;
switch (side)
{
case Buy:
{
O2G2Ptr<IO2GValueMap> childValuemap = requestFactory->createValueMap();
childValuemap->setString(Command, O2G2::Commands::CreateOrder);
childValuemap->setString(NetQuantity, "Y");
childValuemap->setString(OrderType, sOrderType.c_str());
childValuemap->setString(AccountID, sAccountID.c_str());
childValuemap->setString(OfferID, sOfferID.c_str());
childValuemap->setString(BuySell, O2G2::Buy);
batchValuemap->appendChild(childValuemap);
}
break;
case Sell:
{
O2G2Ptr<IO2GValueMap> childValuemap = requestFactory->createValueMap();
childValuemap->setString(Command, O2G2::Commands::CreateOrder);
childValuemap->setString(NetQuantity, "Y");
childValuemap->setString(OrderType, sOrderType.c_str());
childValuemap->setString(AccountID, sAccountID.c_str());
childValuemap->setString(OfferID, sOfferID.c_str());
childValuemap->setString(BuySell, O2G2::Sell);
batchValuemap->appendChild(childValuemap);
}
break;
case Both:
{
O2G2Ptr<IO2GValueMap> buyValuemap = requestFactory->createValueMap();
buyValuemap->setString(Command, O2G2::Commands::CreateOrder);
buyValuemap->setString(NetQuantity, "Y");
buyValuemap->setString(OrderType, sOrderType.c_str());
buyValuemap->setString(AccountID, sAccountID.c_str());
buyValuemap->setString(OfferID, sOfferID.c_str());
buyValuemap->setString(BuySell, O2G2::Buy);
batchValuemap->appendChild(buyValuemap);
O2G2Ptr<IO2GValueMap> sellValuemap = requestFactory->createValueMap();
sellValuemap->setString(Command, O2G2::Commands::CreateOrder);
sellValuemap->setString(NetQuantity, "Y");
sellValuemap->setString(OrderType, sOrderType.c_str());
sellValuemap->setString(AccountID, sAccountID.c_str());
sellValuemap->setString(OfferID, sOfferID.c_str());
sellValuemap->setString(BuySell, O2G2::Sell);
batchValuemap->appendChild(sellValuemap);
}
break;
}
IO2GRequest *request = requestFactory->createOrderRequest(batchValuemap);
if (!request)
{
std::cout << requestFactory->getLastError() << std::endl;
return NULL;
}
return request;
}
示例4:
IO2GRequest *createOTOCORequest(IO2GSession *session, const char *sOfferID, const char *sAccountID, int iAmount, double dRatePrimary, double dRateOcoFirst, double dRateOcoSecond)
{
O2G2Ptr<IO2GRequestFactory> requestFactory = session->getRequestFactory();
if (requestFactory)
{
// Create OTO command
O2G2Ptr<IO2GValueMap> valuemapMain = requestFactory->createValueMap();
valuemapMain->setString(Command, O2G2::Commands::CreateOTO);
// Create Entry order
O2G2Ptr<IO2GValueMap> valuemapPrimary = requestFactory->createValueMap();
valuemapPrimary->setString(Command, O2G2::Commands::CreateOrder);
valuemapPrimary->setString(OrderType, O2G2::Orders::StopEntry);
valuemapPrimary->setString(AccountID, sAccountID);
valuemapPrimary->setString(OfferID, sOfferID);
valuemapPrimary->setString(BuySell, O2G2::Sell);
valuemapPrimary->setInt(Amount, iAmount);
valuemapPrimary->setDouble(Rate, dRatePrimary);
// Create OCO group of orders
O2G2Ptr<IO2GValueMap> valuemapOCO = requestFactory->createValueMap();
valuemapOCO->setString(Command, O2G2::Commands::CreateOCO);
// Create Entry orders to OCO
O2G2Ptr<IO2GValueMap> valuemapOCOFirst = requestFactory->createValueMap();
valuemapOCOFirst->setString(Command, O2G2::Commands::CreateOrder);
valuemapOCOFirst->setString(OrderType, O2G2::Orders::StopEntry);
valuemapOCOFirst->setString(AccountID, sAccountID);
valuemapOCOFirst->setString(OfferID, sOfferID);
valuemapOCOFirst->setString(BuySell, O2G2::Buy);
valuemapOCOFirst->setInt(Amount, iAmount);
valuemapOCOFirst->setDouble(Rate, dRateOcoFirst);
O2G2Ptr<IO2GValueMap> valuemapOCOSecond = requestFactory->createValueMap();
valuemapOCOSecond->setString(Command, O2G2::Commands::CreateOrder);
valuemapOCOSecond->setString(OrderType, O2G2::Orders::StopEntry);
valuemapOCOSecond->setString(AccountID, sAccountID);
valuemapOCOSecond->setString(OfferID, sOfferID);
valuemapOCOSecond->setString(BuySell, O2G2::Buy);
valuemapOCOSecond->setInt(Amount, iAmount);
valuemapOCOSecond->setDouble(Rate, dRateOcoSecond);
// Fill the created groups. Please note, first you should add an entry order to OTO order and then OCO group of orders
valuemapMain->appendChild(valuemapPrimary);;
valuemapOCO->appendChild(valuemapOCOFirst);
valuemapOCO->appendChild(valuemapOCOSecond);
valuemapMain->appendChild(valuemapOCO);
O2G2Ptr<IO2GRequest> request = requestFactory->createOrderRequest(valuemapMain);
if (!request)
{
std::cout << requestFactory->getLastError() << std::endl;
return NULL;
}
return request.Detach();
}
else
{
std::cout << "Cannot create request factory" << std::endl;
return NULL;
}
}