bumblebee.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:mosquito 作者: miti0 项目源码 文件源码
def calculate(self, look_back, wallet):
        """
        Main strategy logic (the meat of the strategy)
        """
        (dataset_cnt, _) = common.get_dataset_count(look_back, self.group_by_field)

        # Wait until we have enough data
        if dataset_cnt < self.min_history_ticks:
            print('dataset_cnt:', dataset_cnt)
            return self.actions

        self.actions.clear()
        # Calculate indicators

        df = look_back.tail(self.min_history_ticks)
        close = df['close'].values
        volume = df['volume'].values
        new_action = TradeState.none
        close_price = self.get_price(TradeState.none, look_back, self.pair)

        # ************** OBV (On Balance Volume)
        obv = talib.OBV(close, volume)[-1]
        print('obv:', obv)
        if obv >= 100.0:
            new_action = TradeState.buy
        elif obv < 100.0:
            new_action = TradeState.sell

        # ************** Calc EMA
        ema_period = 6
        ema = talib.EMA(close[-ema_period:], timeperiod=ema_period)[-1]
        if close_price <= ema:
            new_action = TradeState.sell

        if new_action == TradeState.none:
            return self.actions

        trade_price = self.get_price(new_action, df.tail(), self.pair)

        action = TradeAction(self.pair,
                             new_action,
                             amount=None,
                             rate=trade_price,
                             buy_sell_mode=self.buy_sell_mode)

        self.actions.append(action)
        return self.actions
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号