
//.h#ifndefLONGBEACH_SIGNALS_SIGKALMANFILTER_H#defineLONGBEACH_SIGNALS_SIGKALMANFILTER_H#include#include#include#includenamespacelongbeach{namespacesignals{///SignalSpecforSigKalmanFilterclassSigKalmanFilterSpec:publicSignalSpecT2{public:LONGBEACH_DECLARE_SCRIPTING;SigKalmanFilterSpec;virtualinstrument_tgetInstrumentconst{returninput->getInstrument;}virtualISignalPtrbuildconst;virtualvoidcheckValidconst;virtualboolcompareconst;virtualvoidprintconst;virtualvoidgetDataRequirementsconst;IPriceProviderSpecPtrinput;doubleR;doubleQ;int32_tstep;std::vectorP0;booluse_dynamic_deltas;};LONGBEACH_DECLARE_SHARED_PTR;classSigKalmanFilter:publicSignalSmonImpl,protectedIBookListener{public:SigKalmanFilter;virtual~SigKalmanFilter;virtualvoidreset;protected:constSigKalmanFilterSpec&specconst{returnm_spec;}virtualvoidrecomputeStateconst;//IPriceProviderListenervoidonPriceChanged;protected:constSigKalmanFilterSpecm_spec;IPriceProviderPtrm_spInputPxP;Subscriptionm_subPxP;int32_tm_stepCount;typedefKalmanFilter<3>::Statestate_t;typedefKalmanFilter<3>::Observationobservation_t;std::dequem_observations;//maynotneedthislaterKalmanFilter<3>m_kf;};LONGBEACH_DECLARE_SHARED_PTR;}//namespacesignals}//namespacelongbeach#endif//LONGBEACH_SIGNALS_SIGKALMANFILTER_H
文章为作者独立观点,不代表观点