策略实例
| 16 | |
| 17 | |
| 18 | class DemoStrategy(TradingStrategy): |
| 19 | """ 策略实例 """ |
| 20 | def __init__(self, exe): |
| 21 | super(DemoStrategy, self).__init__(exe) |
| 22 | |
| 23 | self.ma20 = MA(self, self.close, 20,'ma20', 'b', '1') |
| 24 | self.ma10 = MA(self, self.close, 10,'ma10', 'y', '1') |
| 25 | self.b_upper, self.b_middler, self.b_lower = BOLL(self, self.close, 10,'boll10', 'y', '1') |
| 26 | #self.ma2 = NumberSeries(self) |
| 27 | |
| 28 | def on_bar(self): |
| 29 | """ 策略函数,对每根Bar运行一次。""" |
| 30 | #self.ma2.update(average(self.open, 10)) |
| 31 | if self.ma10[1] < self.ma20[1] and self.ma10 > self.ma20: |
| 32 | self.buy('long', self.open, 1, contract = 'IF000.SHFE') |
| 33 | elif self.position() > 0 and self.ma10[1] > self.ma20[1] and self.ma10 < self.ma20: |
| 34 | self.sell('long', self.open, 1) |
| 35 | |
| 36 | # 夸品种数据引用 |
| 37 | print self.open_(1)[1], self.open |
| 38 | #print self.position(), self.cash() |
| 39 | #print self.datetime, self.b_upper, self.b_middler, self.b_lower |
| 40 | |
| 41 | try: |
| 42 | begin_dt, end_dt = None, None |