

//.cc#股票接口交易明细,include#股票接口交易明细,include#include#include#include#include#includenamespacelongbeach{namespacesignals{SigBookSizeBias::SigBookSizeBias:SignalStateImpl,m_spCM,m_spBook,m_snapshot),m_num),m_interval,m_numLevels,m_power,m_last_check{m_spBook->addBookListener;m_spCM->scheduleClockNotice,PRIORITY_SIGNALS_Signal);m_snapshot.setSize;for{setInterval;}for{for{allocState%interval_list.at%lvl));}}}SigBookSizeBias::~SigBookSizeBias{m_spBook->removeBookListener;}voidSigBookSizeBias::setInterval{m_snapshot.setInterval;}voidSigBookSizeBias::_reset{//resetthestatem_snapshot.reset;m_last_check=0;m_state.assign,0);//<--whyisthiscorrect?thisstatehasm_num*m_numSignalsentriesnotifySignalListeners);}voidSigBookSizeBias::check{std::vectorbookimbVec;//m_last_checkinitialcase:firstmsg.m_last_check=curtime;for{PriceSizebid=m_spBook->getNthSide;PriceSizeask=m_spBook->getNthSide;//std::cout<<",bdsz="<m_numLevels)&&>m_numLevels)))return;check);notifySignalListeners);}voidSigBookSizeBias::onBookFlushed{notifySignalListeners);}voidSigBookSizeBias::onWakeupCall{//atopen,resetif{std::cout<getTime<<"resetting"<cns=cm::getClockNotice,m_instr,m_spCM->getYMDDate,cm::ATOPEN);if>0)m_spCM->scheduleClockNotices;cns=cm::getClockNotice,m_instr,m_spCM->getYMDDate,cm::ENDOFDAY);if>0)m_spCM->scheduleClockNotices;}}voidSigBookSizeBias::recomputeStateconst{m_isOK=m_spBook->isOK;if{m_state.assign,0.0);return;}unsignedintidx=0;for{for{if.size==m_numLevels)m_state[idx]=m_snapshot.getValAt.at;elsem_state[idx]=0.0;++idx;}}}/************************************************************************************************///SigBookSizeBiasSpec/************************************************************************************************/SigBookSizeBiasSpec::SigBookSizeBiasSpec:SignalSpec,m_interval,m_intervals,m_book),m_numLevels,m_power{}ISignalPtrSigBookSizeBiasSpec::buildconst{IBookPtrbook=builder->getBookBuilder->buildBook;returnISignalPtr,m_description,builder->getClockMonitor,book,m_interval,m_intervals,m_numLevels,m_power,builder->getVerboseLevel));}voidSigBookSizeBiasSpec::checkValidconst{SignalSpec::checkValid;if)LONGBEACH_THROW_ERROR_SS;ifLONGBEACH_THROW_ERROR_SS;m_book->checkValid;ifLONGBEACH_THROW_ERROR_SS;ifLONGBEACH_THROW_ERROR_SS;}SigBookSizeBiasSpec*SigBookSizeBiasSpec::cloneconst{returnnewSigBookSizeBiasSpec;}voidSigBookSizeBiasSpec::hashCombineconst{SignalSpec::hashCombine;boost::hash_combine;boost::hash_combine;boost::hash_combine;boost::hash_combine;boost::hash_combine;}boolSigBookSizeBiasSpec::compareconst{if)returnfalse;constSigBookSizeBiasSpec*b=dynamic_cast;ifreturnfalse;ifreturnfalse;ifreturnfalse;ifreturnfalse;ifreturnfalse;ifreturnfalse;returntrue;}voidSigBookSizeBiasSpec::printconst{constLuaPrintSettingsonei=ps.next;//indentationonepastcurrento<<"--SigBookSizeBiasSpec"<getDataRequirements;}boolSigBookSizeBiasSpec::registerScripting{//eachSpecclassmustbeaddedtoregisterScriptinginSignals_Scripting.ccluabind::module[luabind::class_.def).def_readwrite.def_readwrite.def_readwrite.def_readwrite.def_readwrite];returntrue;}}//namespacesignals}//namespacelongbeach
文章为作者独立观点,不代表股票交易接口观点