void TestContext::terminateStrategy() { DEBUG_MESSAGE(reqQryDebugLog(),"Terminated From Front End"); reqAddStrategyComment(API2::CONSTANTS::RSP_StrategyComment_STRATEGY_COMPLETED_SUCCESSFULLY); reqTerminateStrategy(); return; }
void API2::Test2::Context::onFilled(API2::OrderConfirmation &confirmation, API2::COMMON::OrderId *orderId) { DEBUG_MESSAGE(reqQryDebugLog(), __PRETTY_FUNCTION__ ); DEBUG_MESSAGE(reqQryDebugLog(), "Order Filled, Terminating"); reqAddStrategyComment(API2::CONSTANTS::RSP_StrategyComment_STRATEGY_COMPLETED_SUCCESSFULLY); reqTerminateStrategy(false); }
void API2::Test2::Context::onMarketDataEvent(UNSIGNED_LONG symbolId) { API2::DATA_TYPES::RiskStatus risk; // DEBUG_MESSAGE(reqQryDebugLog(), __PRETTY_FUNCTION__ ); // DEBUG_FLUSH(reqQryDebugLog()); // reqQryMarketData(symbolId)->dump(); // return; if(_orderWrapper._isReset) { DEBUG_MESSAGE(reqQryDebugLog(), "Sending New Order"); if(!_orderWrapper.newOrder(risk,getPrice(),_userParams._qty)) { DEBUG_VARSHOW(reqQryDebugLog(), "Failed Sending New Order, Reason:", risk); DEBUG_FLUSH(reqQryDebugLog()); reqAddStrategyComment(API2::CONSTANTS::RSP_StrategyComment_RMS_FAILURE); reqTerminateStrategy(); } } else { switch(reqQryOrderStatus(_orderWrapper._orderId)) { case API2::CONSTANTS::RSP_OrderStatus_PENDING: return; case API2::CONSTANTS::RSP_OrderStatus_FILLED: case API2::CONSTANTS::RSP_OrderStatus_CANCELED: _orderWrapper.reset(); onMarketDataEvent(symbolId); return; case API2::CONSTANTS::RSP_OrderStatus_CONFIRMED: case API2::CONSTANTS::RSP_OrderStatus_PARTIALLY_FILLED: case API2::CONSTANTS::RSP_OrderStatus_REPLACED: if(_orderWrapper.replaceOrder(risk,getPrice(),_userParams._qty)){ DEBUG_MESSAGE(reqQryDebugLog(), "Sent Replace Order"); } else{ DEBUG_VARSHOW(reqQryDebugLog(), "Failed Replace Order, reason",risk); } } } DEBUG_FLUSH(reqQryDebugLog()); }
API2::Test2::Context::Context(API2::StrategyParameters *params): API2::SGContext(params, "CustomTest2"), _Instrument(NULL), _userParams() { API2::UserParams *customOMMParams = (API2::UserParams *)params->getInfo(); DEBUG_MESSAGE(reqQryDebugLog(), __PRETTY_FUNCTION__ ); customOMMParams->dump(); if(!setInternalParameters(customOMMParams)) { reqAddStrategyComment(API2::CONSTANTS::RSP_StrategyComment_STRATEGY_ERROR_STATE); reqTerminateStrategy(); } }
void TestContext::terminateStrategyComment(API2::DATA_TYPES::StrategyComment comment) { _terminate = true; reqAddStrategyComment(comment); reqTerminateStrategy(); }