策略API可以:
- 提交和管理各种类型的订单
- 使用内建的指示器
- 使用历史数据
- 在图标上绘制图示和指示器
- 其他,像记录日志信息,扩展用户接口和访问账户信息
本质上Java SE能做的策略都可以做。
IStrategy interface
每个策略都比粗实现IStrategy interface,它包含6个回调方法:
- onStart,在策略开始的时候被调用,这里通常可以初始化IContext变量,订阅feeds,以及其他策略设置操作。
- onTick,每个订阅了的Instrument的每个Tick都会回调,接收相应Instrument的最新的ITick,用户可以获取最新的ASK和BID价格,以及成交量,可以在这里实现有关价格变化的策略逻辑。
- onBar在走完一个Instrument的单位周期,生成一个完整的Bar时回调,接收相应Instrument的最新的ASK IBar和BID IBar,用户可以获取到当前Period的开盘价,收盘价,最高价和最低价,以及成交量。这里可以实现和时间周期相关的策略逻辑。
- onMessage,在收到一个新消息的时候调用。接收IMessage消息,在任何订单产生变化的时候都会收到订单的订单的状态。
- onAccount,在账号信息更新的时候被调用。
- onStop,在策略结束前调用,根据策略的逻辑,用户可以考虑关闭所有激活的订单,移除图示,注销自定义GUI对象等。
名词解释:
- ASK,买方出价,一般低于BID
- BID,卖方出价,一般高于ASK
- Tick,每次价格变动对应一个Tick
- Period,图标周期,一般有5分钟,15分钟,30分钟,1小时,4小时,日,周,月等
- Bar,单位周期结束时形成一组价格,一般包含开盘价,收盘价,最高价,最低价,例如蜡烛图的一个蜡烛。有以ASK价格表示的ASK Bar,也有BID价格表示的BID Bar
- Instrument,标的,例如EUR/USD,USD/JPY等