2.91K 浏览
0

程序如下:

print("开始在线测试!")

while True:

    api.wait_update()
    current = datetime.datetime.strptime(quote.datetime, "%Y-%m-%d %H:%M:%S.%f")  # 当前quote的时间

    if api.is_changing(quote):
        # 出场
        if position.pos_long > 0 or position.pos_short > 0:
            if abs(position.float_profit_long) >= take_profit or abs(position.float_profit_short) >= take_profit:
                target_pos.set_target_volume(0)

    if api.is_changing(klines.iloc[-1], 'datetime'):
        # 入场
        if is_allow_trade(current):
            if position.pos_long == 0 and position.pos_short == 0:
                prediction = get_prediction_data(klines)
                assert not np.isnan(prediction).any()
                prediction = np.asarray([prediction], np.float32)
                X = [prediction for _ in range(6)]
                probs = model.predict(X)[0]
                print(probs)
                action = np.argmax(probs)
                buy = probs[1]
                sell = probs[2]
                if action == 1 and buy > 0.5:
                    print("多单")
                    target_pos.set_target_volume(1)
                elif action == 2 and sell > 0.5:
                    print("空单")
                    target_pos.set_target_volume(-1)

<img src="https://www.shinnytech.com/wp-content/uploads/anspress-temp/0ab14b3273d3f64da7fb343f1d7e6da203a7b71f_2151.png" />
ringo 已回答的问题 2021年3月29日
0

建议用最简代码来进行测试,模拟盘中是可以取到这些值的

ringo 已回答的问题 2021年3月29日