

//.h#ifndefLONGBEACH_通达信 日线行情接口,signalS_SAMPLEANDHOLDSIGNAL_H#defineLONGBEACH_SIGNALS_SAMPLEANDHOLDSIGNAL_H#include#include#include#includenamespacelongbeach{namespacesignals{///Samplesagivensignalatfixedintervals.classSampleAndHoldSignal:publicSignalImpl,publicPeriodicWakeup{public:SampleAndHoldSignal;virtualconstinstrument_t&getInstrumentconst{returnm_subSignal->getInstrument;}virtualconststd::string&getDescconst{returnm_subSignal->getDesc;}virtualsize_tgetStateSizeconst{returnm_subSignal->getStateSize;}virtualconststd::vector&getStateNamesconst{returnm_subSignal->getStateNames;}virtualboolisOKconst{returnm_lastIsOK;}virtualconststd::vector&getSignalStateconst{returnm_lastState;}///returnsthelasttimethisSampleAndHoldSignalwassampled.virtuallongbeach::timeval_tgetLastChangeTvconst{returnm_lastChangeTime;}virtualboost::optionalgetLastScheduledChangeTvconst{returnm_lastWakeupSwtv;}protected:voidonPeriodicWakeup;ISignalPtrm_subSignal;boolm_lastIsOK;std::vectorm_lastState;longbeach::timeval_tm_lastChangeTime,m_lastWakeupSwtv;};LONGBEACH_DECLARE_SHARED_PTR;///SampleAndHoldSignalSpecclassSampleAndHoldSignalSpec:publicISignalSpec{public:LONGBEACH_DECLARE_SCRIPTING;SampleAndHoldSignalSpec{}SampleAndHoldSignalSpec;virtualISignalPtrbuildconst;virtualvoidcheckValidconst;virtualvoidhashCombineconst;virtualboolcompareconst;virtualvoidprintconst;virtualvoidgetDataRequirementsconst;virtualSampleAndHoldSignalSpec*cloneconst;virtualinstrument_tgetInstrumentconst{returnm_subSignal->getInstrument;}virtualstd::stringgetDescriptionconst{returnm_subSignal->getDescription;}ISignalSpecCPtr__get_signal_specconst{returnm_subSignal;}void__set_signal_spec{m_subSignal=p;}ISignalSpecCPtrm_subSignal;ptime_duration_tm_wakeupInterval,m_wakeupOffset;uint32_tm_wakeupPriority;};LONGBEACH_DECLARE_SHARED_PTR;}//namespacelongbeach}//namespacesignals#endif//LONGBEACH_SIGNALS_SAMPLEANDHOLDSIGNAL_H
文章为作者独立观点,不代表股票交易接口观点