Skip to content

Commit 039c72d

Browse files
committed
更新文档
1 parent aa2b538 commit 039c72d

13 files changed

Lines changed: 336 additions & 300 deletions

File tree

quantdigger/demo/main.py

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,32 +25,36 @@ def __init__(self, exe):
2525
self.b_upper, self.b_middler, self.b_lower = BOLL(self, self.close, 10,'boll10', 'y', '1')
2626
#self.ma2 = NumberSeries(self)
2727

28-
def on_tick(self):
28+
def on_bar(self):
2929
""" 策略函数,对每根Bar运行一次。"""
3030
#self.ma2.update(average(self.open, 10))
3131
if self.ma10[1] < self.ma20[1] and self.ma10 > self.ma20:
3232
self.buy('long', self.open, 1, contract = 'IF000.SHFE')
3333
elif self.position() > 0 and self.ma10[1] > self.ma20[1] and self.ma10 < self.ma20:
3434
self.sell('long', self.open, 1)
3535

36+
# 夸品种数据引用
37+
print self.open_(1)[1], self.open
3638
#print self.position(), self.cash()
3739
#print self.datetime, self.b_upper, self.b_middler, self.b_lower
38-
#print self.open_(1)[1], self.open
39-
40-
41-
begin_dt, end_dt = None, None
42-
pcon = pcontract('IF000.SHFE', '10.Minute')
43-
#pcon = stock('600848')
44-
simulator = ExecuteUnit([pcon, pcon], begin_dt, end_dt)
45-
algo = DemoStrategy(simulator)
46-
#algo2 = DemoStrategy(simulator)
47-
simulator.run()
48-
49-
# 显示回测结果
50-
plotting.plot_result(simulator.data[pcon],
51-
algo._indicators,
52-
algo.blotter.deal_positions,
53-
algo.blotter)
40+
41+
try:
42+
begin_dt, end_dt = None, None
43+
pcon = pcontract('IF000.SHFE', '10.Minute')
44+
#pcon = stock('600848')
45+
simulator = ExecuteUnit([pcon, pcon], begin_dt, end_dt)
46+
algo = DemoStrategy(simulator)
47+
#algo2 = DemoStrategy(simulator)
48+
simulator.run()
49+
50+
# 显示回测结果
51+
plotting.plot_result(simulator.data[pcon],
52+
algo._indicators,
53+
algo.blotter.deal_positions,
54+
algo.blotter)
55+
56+
except Exception, e:
57+
print e
5458

5559
#plotting.plot_result(simulator.data[pcon],
5660
#algo2._indicators,

quantdigger/kernel/datastruct.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,19 @@ class Direction(object):
6262
"""
6363
LONG = 1
6464
SHORT = 2
65+
tdict = {'LONG': LONG,
66+
'SHORT': SHORT
67+
}
68+
69+
@classmethod
70+
def arg_to_type(self, arg):
71+
"""
72+
把用户输入参数转化为系统类型。
73+
"""
74+
if type(arg) == str:
75+
return self.tdict[arg.upper()]
76+
else:
77+
return arg
6578

6679

6780
class Transaction(object):

quantdigger/kernel/engine/api.py

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
1+
# -*- coding: utf8 -*-
12
from abc import ABCMeta, abstractmethod
23
#from quantdigger.kernel.datastruct import Contract
34

45
class Trader(object):
5-
66
__metaclass__ = ABCMeta
7+
""" 交易类,包含了回调注册等高级封装。 """
78

8-
"""docstring for Trader"""
99
def __init__(self, arg):
1010
pass
1111

1212
@abstractmethod
1313
def connect(self):
14-
"""docstring for """
14+
""" 连接器 """
1515
pass
1616

1717
@abstractmethod
1818
def register_handlers(self, handlers):
19-
"""docstring for """
19+
""" 注册回调函数 """
2020
pass
2121

22-
def query_instrument(self, contract, cbk=None, syn=False):
22+
def query_instrument(self, contract, cbk=None, sync=False):
2323
""" 合约查询 """
2424
self._query_instrument(contract)
2525

26-
def query_depth_marketdata(self, contract, cbk=None, syn=False):
26+
def query_depth_marketdata(self, contract, cbk=None, sync=False):
2727
""" 深度行情数据 """
2828
self._query_depth_marketdata(contract)
2929

30-
def query_trading_account(self, cbk=None, syn=False):
30+
def query_trading_account(self, cbk=None, sync=False):
3131
""" 查询资金账户 """
3232
self._query_trading_account()
3333

34-
def query_position(self, cbk=None, syn=False):
34+
def query_position(self, cbk=None, sync=False):
3535
""" 查询投资者持仓"""
3636
self._query_position()
3737

38-
def insert_order(self, order, cbk=None, syn=False):
38+
def insert_order(self, order, cbk=None, sync=False):
3939
""" 下单请求
4040
4141
Args:
4242
order (Order): 订单。
4343
"""
4444
self._insert_order(order)
4545

46-
def cancel_order(self, contract_id, cbk=None, syn=False):
46+
def cancel_order(self, contract_id, cbk=None, sync=False):
4747
""" 撤单操作请求 """
4848
self._cancel_order(contract_id)
4949

@@ -83,12 +83,12 @@ def _cancel_order(self, contract_id):
8383

8484

8585
class CtpTraderAPI(object):
86-
"""docstring for CtpTrader"""
86+
""" Ctp交易类 """
8787
def __init__(self):
8888
pass
8989

9090
def connect(self):
91-
"""docstring for connect"""
91+
""" 连接"""
9292
pass
9393

9494
def query_instrument(self, contract):
@@ -112,9 +112,13 @@ def insert_order(self, contract_id, direction, buy_or_sell, price, volume):
112112
113113
Args:
114114
contract_id (int): 合约编号
115+
115116
direction (str): 交易方向
117+
116118
buy_or_sell (str): 开平仓标志
119+
117120
price (float): 价格
121+
118122
volume (int): 成交量
119123
120124
Returns:
@@ -127,20 +131,6 @@ def cancel_order(self, contract_id):
127131
""" 撤单操作请求 """
128132
pass
129133

130-
#virtual void login(const char *broker_id, const char *user_id, const char *password, bool syn) = 0;
131-
#virtual void logout(const char *broker_id, const char *user_id, bool syn) = 0;
132-
#///投资者结算结果查询
133-
#virtual void qrySettlementInfo(const char *broker_id,
134-
#const char *investor_id,
135-
#const char* trading_day,
136-
#bool syn) = 0;
137-
#///投资者结算结果确认
138-
#virtual void settlementInfoConfirm(bool syn) = 0;
139-
140-
#/// 注册前置地址
141-
#virtual void registerFront(char *pszFrontAddress, bool syn) = 0;
142-
143-
144134

145135
class SimulateTrader(Trader):
146136
""" 模拟交易下单接口 """
@@ -149,11 +139,11 @@ def __init__(self):
149139
pass
150140

151141
def connect(self):
152-
"""docstring for connect"""
142+
""" 连接。"""
153143
pass
154144

155145
def register_handlers(self, handlers):
156-
"""docstring for register_handlers"""
146+
""" 注册回调函数。"""
157147
pass
158148

159149
def _query_instrument(self, contract):

0 commit comments

Comments
 (0)