Hikyuu
Public 类型 | Public 成员函数 | Protected 属性 | 友元 | 所有成员列表

交易系统基类 更多...

#include <System.h>

hku::System 的协作图:
Collaboration graph
[图例]

Public 类型

typedef SystemPart Part
 
typedef shared_ptr< SystemSystemPtr
 

Public 成员函数

 System ()
 
 System (const string &name)
 
 System (const TradeManagerPtr &tm, const MoneyManagerPtr &mm, const EnvironmentPtr &ev, const ConditionPtr &cn, const SignalPtr &sg, const StoplossPtr &st, const StoplossPtr &tp, const ProfitGoalPtr &pg, const SlippagePtr &sp, const string &name)
 
virtual ~System ()
 
string name () const
 获取名称 更多...
 
void name (const string &name)
 设置名称 更多...
 
KData getTO () const
 
TradeManagerPtr getTM () const
 
MoneyManagerPtr getMM () const
 
EnvironmentPtr getEV () const
 
ConditionPtr getCN () const
 
SignalPtr getSG () const
 
StoplossPtr getST () const
 
StoplossPtr getTP () const
 
ProfitGoalPtr getPG () const
 
SlippagePtr getSP () const
 
void setTM (const TradeManagerPtr &tm)
 
void setMM (const MoneyManagerPtr &mm)
 
void setEV (const EnvironmentPtr &ev)
 
void setCN (const ConditionPtr &cn)
 
void setSG (const SignalPtr &sg)
 
void setST (const StoplossPtr &st)
 
void setTP (const StoplossPtr &tp)
 
void setPG (const ProfitGoalPtr &pg)
 
void setSP (const SlippagePtr &sp)
 
Stock getStock () const
 
void setStock (const Stock &stk)
 
const TradeRecordListgetTradeRecordList () const
 
const TradeRequestgetBuyTradeRequest () const
 
const TradeRequestgetSellTradeRequest () const
 
const TradeRequestgetSellShortTradeRequest () const
 
const TradeRequestgetBuyShortTradeRequest () const
 
void reset (bool with_tm, bool with_ev)
 复位 更多...
 
SystemPtr clone (bool with_tm, bool with_ev)
 克隆操作,会依次调用所有部件的clone操作 更多...
 
void setTO (const KData &kdata)
 设置交易对象 更多...
 
void run (const KQuery &query, bool reset=true)
 
void run (const Stock &stock, const KQuery &query, bool reset=true)
 
void runMoment (const Datetime &datetime)
 
void runMoment (const KRecord &record)
 
void clearDelayRequest ()
 
bool haveDelayRequest () const
 
bool readyForRun ()
 
bool _environmentIsValid (const Datetime &datetime)
 
bool _conditionIsValid (const Datetime &datetime)
 
void _buyNotifyAll (const TradeRecord &)
 
void _sellNotifyAll (const TradeRecord &)
 
size_t _getBuyNumber (const Datetime &, price_t price, price_t risk, Part from)
 
size_t _getSellNumber (const Datetime &, price_t price, price_t risk, Part from)
 
size_t _getSellShortNumber (const Datetime &, price_t price, price_t risk, Part from)
 
size_t _getBuyShortNumber (const Datetime &, price_t price, price_t risk, Part from)
 
price_t _getStoplossPrice (const Datetime &datetime, price_t price)
 
price_t _getShortStoplossPrice (const Datetime &datetime, price_t price)
 
price_t _getTakeProfitPrice (const Datetime &datetime)
 
price_t _getGoalPrice (const Datetime &datetime, price_t price)
 
price_t _getShortGoalPrice (const Datetime &, price_t price)
 
price_t _getRealBuyPrice (const Datetime &datetime, price_t planPrice)
 
price_t _getRealSellPrice (const Datetime &datetime, price_t planPrice)
 
void _buy (const KRecord &today, Part from)
 
void _buyNow (const KRecord &today, Part from)
 
void _buyDelay (const KRecord &today)
 
void _submitBuyRequest (const KRecord &today, Part from)
 
void _sell (const KRecord &today, Part from)
 
void _sellNow (const KRecord &today, Part from)
 
void _sellDelay (const KRecord &today)
 
void _submitSellRequest (const KRecord &today, Part from)
 
void _sellShort (const KRecord &today, Part from)
 
void _sellShortNow (const KRecord &today, Part from)
 
void _sellShortDelay (const KRecord &today)
 
void _submitSellShortRequest (const KRecord &today, Part from)
 
void _buyShort (const KRecord &today, Part from)
 
void _buyShortNow (const KRecord &today, Part from)
 
void _buyShortDelay (const KRecord &today)
 
void _submitBuyShortRequest (const KRecord &today, Part from)
 
void _processRequest (const KRecord &today)
 
void _runMoment (const KRecord &record)
 

Protected 属性

TradeManagerPtr m_tm
 
MoneyManagerPtr m_mm
 
EnvironmentPtr m_ev
 
ConditionPtr m_cn
 
SignalPtr m_sg
 
StoplossPtr m_st
 
StoplossPtr m_tp
 
ProfitGoalPtr m_pg
 
SlippagePtr m_sp
 
string m_name
 
Stock m_stock
 
KData m_kdata
 
bool m_pre_ev_valid
 
bool m_pre_cn_valid
 
int m_buy_days
 
int m_sell_short_days
 
TradeRecordList m_trade_list
 
price_t m_lastTakeProfit
 
price_t m_lastShortTakeProfit
 
TradeRequest m_buyRequest
 
TradeRequest m_sellRequest
 
TradeRequest m_sellShortRequest
 
TradeRequest m_buyShortRequest
 

友元

class boost::serialization::access
 

详细描述

交易系统基类

成员类型定义说明

typedef shared_ptr<System> hku::System::SystemPtr

构造及析构函数说明

hku::System::System ( )
hku::System::System ( const string name)
hku::System::System ( const TradeManagerPtr tm,
const MoneyManagerPtr mm,
const EnvironmentPtr ev,
const ConditionPtr cn,
const SignalPtr sg,
const StoplossPtr st,
const StoplossPtr tp,
const ProfitGoalPtr pg,
const SlippagePtr sp,
const string name 
)
hku::System::~System ( )
virtual

成员函数说明

void hku::System::_buy ( const KRecord today,
Part  from 
)
void hku::System::_buyDelay ( const KRecord today)
void hku::System::_buyNotifyAll ( const TradeRecord record)
void hku::System::_buyNow ( const KRecord today,
Part  from 
)
void hku::System::_buyShort ( const KRecord today,
Part  from 
)
void hku::System::_buyShortDelay ( const KRecord today)
void hku::System::_buyShortNow ( const KRecord today,
Part  from 
)
bool hku::System::_conditionIsValid ( const Datetime datetime)
inline
bool hku::System::_environmentIsValid ( const Datetime datetime)
inline
size_t hku::System::_getBuyNumber ( const Datetime datetime,
price_t  price,
price_t  risk,
Part  from 
)
inline
size_t hku::System::_getBuyShortNumber ( const Datetime datetime,
price_t  price,
price_t  risk,
Part  from 
)
inline
price_t hku::System::_getGoalPrice ( const Datetime datetime,
price_t  price 
)
inline
price_t hku::System::_getRealBuyPrice ( const Datetime datetime,
price_t  planPrice 
)
inline
price_t hku::System::_getRealSellPrice ( const Datetime datetime,
price_t  planPrice 
)
inline
size_t hku::System::_getSellNumber ( const Datetime datetime,
price_t  price,
price_t  risk,
Part  from 
)
inline
size_t hku::System::_getSellShortNumber ( const Datetime datetime,
price_t  price,
price_t  risk,
Part  from 
)
inline
price_t hku::System::_getShortGoalPrice ( const Datetime datetime,
price_t  price 
)
inline
price_t hku::System::_getShortStoplossPrice ( const Datetime datetime,
price_t  price 
)
inline
price_t hku::System::_getStoplossPrice ( const Datetime datetime,
price_t  price 
)
inline
price_t hku::System::_getTakeProfitPrice ( const Datetime datetime)
inline
void hku::System::_processRequest ( const KRecord today)
void hku::System::_runMoment ( const KRecord record)
void hku::System::_sell ( const KRecord today,
Part  from 
)
void hku::System::_sellDelay ( const KRecord today)
void hku::System::_sellNotifyAll ( const TradeRecord record)
void hku::System::_sellNow ( const KRecord today,
Part  from 
)
void hku::System::_sellShort ( const KRecord today,
Part  from 
)
void hku::System::_sellShortDelay ( const KRecord today)
void hku::System::_sellShortNow ( const KRecord today,
Part  from 
)
void hku::System::_submitBuyRequest ( const KRecord today,
Part  from 
)
void hku::System::_submitBuyShortRequest ( const KRecord today,
Part  from 
)
void hku::System::_submitSellRequest ( const KRecord today,
Part  from 
)
void hku::System::_submitSellShortRequest ( const KRecord today,
Part  from 
)
void hku::System::clearDelayRequest ( )
SystemPtr hku::System::clone ( bool  with_tm,
bool  with_ev 
)

克隆操作,会依次调用所有部件的clone操作

TM、EV都是和具体系统无关的策略组件,可以在不同的系统中进行共享。clone将 生成新的独立实例,此时非共享状态。尤其需要注意TM是否共享的情况!

参数
with_tm是clone还是共享
with_ev是clone还是共享
注解
不设默认值,强迫用户了解其间的区别,避免误用。
const TradeRequest& hku::System::getBuyShortTradeRequest ( ) const
inline
const TradeRequest& hku::System::getBuyTradeRequest ( ) const
inline
ConditionPtr hku::System::getCN ( ) const
inline
EnvironmentPtr hku::System::getEV ( ) const
inline
MoneyManagerPtr hku::System::getMM ( ) const
inline
ProfitGoalPtr hku::System::getPG ( ) const
inline
const TradeRequest& hku::System::getSellShortTradeRequest ( ) const
inline
const TradeRequest& hku::System::getSellTradeRequest ( ) const
inline
SignalPtr hku::System::getSG ( ) const
inline
SlippagePtr hku::System::getSP ( ) const
inline
StoplossPtr hku::System::getST ( ) const
inline
Stock hku::System::getStock ( ) const
inline
TradeManagerPtr hku::System::getTM ( ) const
inline
KData hku::System::getTO ( ) const
inline
StoplossPtr hku::System::getTP ( ) const
inline
const TradeRecordList& hku::System::getTradeRecordList ( ) const
inline
bool hku::System::haveDelayRequest ( ) const
string hku::System::name ( ) const
inline

获取名称

void hku::System::name ( const string name)
inline

设置名称

bool hku::System::readyForRun ( )
void hku::System::reset ( bool  with_tm,
bool  with_ev 
)

复位

参数
with_tm是否复位TM组件
with_ev是否复位EV组件
注解
TM、EV都是和具体系统无关的策略组件,可以在不同的系统中进行共享,复位将引起系统 运行时被重新清空并计算。尤其是在共享TM时需要注意!
void hku::System::run ( const KQuery query,
bool  reset = true 
)
void hku::System::run ( const Stock stock,
const KQuery query,
bool  reset = true 
)
void hku::System::runMoment ( const Datetime datetime)
void hku::System::runMoment ( const KRecord record)
void hku::System::setCN ( const ConditionPtr cn)
inline
void hku::System::setEV ( const EnvironmentPtr ev)
inline
void hku::System::setMM ( const MoneyManagerPtr mm)
inline
void hku::System::setPG ( const ProfitGoalPtr pg)
inline
void hku::System::setSG ( const SignalPtr sg)
inline
void hku::System::setSP ( const SlippagePtr sp)
inline
void hku::System::setST ( const StoplossPtr st)
inline
void hku::System::setStock ( const Stock stk)
inline
void hku::System::setTM ( const TradeManagerPtr tm)
inline
void hku::System::setTO ( const KData kdata)

设置交易对象

注解
其中tm, ev没有setTO接口
void hku::System::setTP ( const StoplossPtr tp)
inline

友元及相关函数文档

friend class boost::serialization::access
friend

类成员变量说明

int hku::System::m_buy_days
protected
TradeRequest hku::System::m_buyRequest
protected
TradeRequest hku::System::m_buyShortRequest
protected
ConditionPtr hku::System::m_cn
protected
EnvironmentPtr hku::System::m_ev
protected
KData hku::System::m_kdata
protected
price_t hku::System::m_lastShortTakeProfit
protected
price_t hku::System::m_lastTakeProfit
protected
MoneyManagerPtr hku::System::m_mm
protected
string hku::System::m_name
protected
ProfitGoalPtr hku::System::m_pg
protected
bool hku::System::m_pre_cn_valid
protected
bool hku::System::m_pre_ev_valid
protected
int hku::System::m_sell_short_days
protected
TradeRequest hku::System::m_sellRequest
protected
TradeRequest hku::System::m_sellShortRequest
protected
SignalPtr hku::System::m_sg
protected
SlippagePtr hku::System::m_sp
protected
StoplossPtr hku::System::m_st
protected
Stock hku::System::m_stock
protected
TradeManagerPtr hku::System::m_tm
protected
StoplossPtr hku::System::m_tp
protected
TradeRecordList hku::System::m_trade_list
protected

该类的文档由以下文件生成: