Example #1
0
    asks_1_price = asks_1[0]  #卖一价
    bids_1_price = bids_1[0]  #买一价

    
    # 如果突破5000分钟均线买入0.2BTC
    if (current_price > MA10_1):
        context.account_1.buy("BTC/USDT.poloniex", asks_1_price, 0.2)
        # log.info("价格突破10日均线, 买入BTC, 价格:%d" % (asks_1_price))
    # 如果跌破5000分钟均线卖出0.2BTC
    elif (current_price< MA10_1):
        context.account_1.sell("BTC/USDT.poloniex", bids_1_price, 0.2)
        # log.info("价格跌破10日均线, 卖出BTC, 价格:%d" % (bids_1_price))


# 可以直接指定universe,或者通过筛选条件选择universe池,这里直接指定binance交易所的BTC/USDT、ETH/USDT
universe = ai.create_universe(['BTC/USDT.poloniex']) #,'ETH/USDT.binance'

# 配置策略参数如:基准、回测数据级别等
my_strategy = ai.create_strategy(
    initialize,
    handle_data,
    universe=universe,
    benchmark='csi5',
    freq='5m',
    refresh_rate=1
)

# 配置回测参数如:回测日期、所在时区、手续费率
#(默认timezone是北京时区,其他时区请手动输入,如timezone='America/New_York',timezone='Asia/Tokyo'等)
ai.backtest(
    strategy=my_strategy,
Example #2
0
        if context.grid_direction == -1:
            context.account.sell(context.symbol, bids_1_price, context.qty)
        context.stop_profit_times += 1
        context.grids.pop()

    # 创建网格数量超过指定数量,第一个网格止损
    if stop_loss(context.grids, context.grid_num):
        if context.grid_direction == 1:
            context.account.buy(context.symbol, asks_1_price, context.qty)
        if context.grid_direction == -1:
            context.account.sell(context.symbol, bids_1_price, context.qty)
        context.stop_loss_times += 1
        del context.grids[0]


universe = ai.create_universe(['BTC/USDT.binance'])

my_strategy = ai.create_strategy(initialize,
                                 handle_data,
                                 universe=universe,
                                 benchmark='csi5',
                                 freq='1m',
                                 refresh_rate=1)

ai.backtest(strategy=my_strategy,
            start='2018-10-10 00:00:00',
            end='2018-11-10 00:00:00',
            commission={
                'taker': 0.0002,
                'maker': 0.0002
            })