-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathinterface.go
More file actions
71 lines (57 loc) · 1.07 KB
/
interface.go
File metadata and controls
71 lines (57 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package bt
// Strategy 定义了 策略接口
type Strategy interface {
// 回调函数
// OnInit 策略初始化
OnInit()
// OnStart 策略启动
OnStart()
// OnStop 策略结束
OnStop()
// OnTick 接收到 tick 数据
// TODO: 添加参数
// 自己合成 K 线的位置
OnTick()
// OnBar 接收到 K 线数据
// TODO: 添加参数
// 计算指标的位置
OnBar()
// OnTrade 成交的回报时候调用
// TODO: 添加参数
OnTrade()
// OnOrder 委托更新时候调用
// TODO: 添加参数
OnOrder()
// OnStopOrder 本地停止单状态变化
// TODO: 添加参数
OnStopOrder()
}
// 交易相关的方法
type trader interface {
Buy()
Sell()
Short()
Cover()
// 撤销委托
Cancel()
CancelAll()
SendOrder()
}
// 辅助接口
type helper interface {
// 写日志
log()
// 区分实盘与回测
getEngineType()
// 加载历史 K 线数据
loadBar()
// 加载历史 tick 数据
loadTick()
// 通知 GUI 更新
putEvent()
// 通知接口
Notifier() // sendEmail()
// 保存与回复策略的状态
save() // syncData()
load()
}