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,
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 })