//.h#ifndefLONGBEACH_SIGNALS_SIGBOOK_H#defineLONGBEACH_SIGNALS_SIGBOOK_H#include#includenamespacelongbeach{namespacesignals{classSigBook:publicSignalSmonImpl,protectedIBookListener{public:SigBook;virtual~SigBook;//staticconstsize_tNumLevels=4;//staticconstsize_tNumSBvars=7;virtualvoidreset;protected:voidresetVarsconst;voidupdateVarsconst;virtualvoidrecomputeStateconst;//IPriceProviderListenervoidonPriceChanged;//IBookListenerinterface///InvokedwhenthesubscribedBookchanges.///ThelevelChangedentriesarenegativeifthereisnochange,ora0-baseddepth.virtualvoidonBookChanged;///InvokedwhenthesubscribedBookisflushed.virtualvoidonBookFlushed;protected:IPriceProviderPtrm_spRefpp;Subscriptionm_spRefppSub;IBookPtrm_spBook;mutablestd::vectorm_vars;mutableboolm_varsOK,m_varsDirty;//#ifdefUBUNTU//staticconstdoubleMaxDownChg=0.9975;//staticconstdoubleMaxUpChg=0025;//staticconstdoubleMaxDiffRefMidpx=0.996;//#elsestaticconstexprconstdoubleMaxDownChg=0.9975;staticconstexprconstdoubleMaxUpChg=0025;staticconstexprconstdoubleMaxDiffRefMidpx=0.996;//#endifsize_tm_numLevels;size_tm_numSBvars;ReturnModem_returnMode;};LONGBEACH_DECLARE_SHARED_PTR;///SignalSpecforSigBookclassSigBookSpec:publicSignalSpec{public:LONGBEACH_DECLARE_SCRIPTING;SigBookSpec;SigBookSpec;virtualinstrument_tgetInstrumentconst{returnm_book->getInstrument;}virtualISignalPtrbuildconst;virtualvoidcheckValidconst;virtualvoidhashCombineconst;virtualboolcompareconst;virtualvoidprintconst;virtualvoidgetDataRequirementsconst;virtualSigBookSpec*cloneconst;IBookSpecPtrm_book;sources_tm_sources;size_tm_numLevels;size_tm_numSBvars;ReturnModem_returnMode;};LONGBEACH_DECLARE_SHARED_PTR;}//namespacesignals}//namespacelongbeach#endif//LONGBEACH_SIGNALS_SIGBOOK_H
文章为作者独立观点,不代表股票交易接口观点