示例#1
0
def real2_update(args):
    record = {}
    if args.user:
        record["user"] = args.user
    if args.instance_id:
        record["instance_id"] = args.instance_id
    if args.config_path:
        record["config_path"] = args.config_path
    if args.exchange:
        record["exchange"] = args.exchange
    if args.value:
        instance = si.get_strategy_instance(args.sii)
        instance_id = instance["instance_id"]
        exchange_name = instance["exchange"]
        if not exchange_name:
            exchange_name = record["exchange_name"]
        config_path = instance["config_path"]
        if not config_path:
            config_path = record["config_path"]
        value = instance["value"]
        config = xq.get_strategy_config(config_path)
        symbol = config['symbol']
        realEngine = RealEngine(instance_id, exchange_name, config, value)
        orders = realEngine.get_orders(symbol)
        if orders:
            return

        record["value"] = args.value
    if args.status:
        record["status"] = args.status

    if record:
        si.update_strategy_instance({"instance_id": args.sii}, record)
示例#2
0
    parser.add_argument('-sii', help='strategy instance id')
    parser.add_argument('-direction',
                        choices=[bl.DIRECTION_LONG, bl.DIRECTION_SHORT],
                        help='direction')
    parser.add_argument('-action',
                        choices=[bl.OPEN_POSITION, bl.CLOSE_POSITION],
                        help='action')
    #parser.add_argument('-pr', type=float, default=0, help='postion rate')
    parser.add_argument('-rmk', help='remark')
    args = parser.parse_args()
    print(args)
    if not (args.sii and args.action):
        parser.print_help()
        exit(1)

    instance = get_strategy_instance(args.sii)
    config = xq.get_strategy_config(instance['config_path'])
    re = RealEngine(args.sii, instance['exchange'], config, instance['value'])

    symbol = config['symbol']
    klines = re.md.get_klines(symbol, config["kline"]["interval"], 1)
    if len(klines) <= 0:
        exit(1)

    cur_price = float(klines[-1][re.md.get_kline_seat_close()])
    pst_info = re.get_position(symbol, cur_price)
    if args.action == bl.OPEN_POSITION:
        pst_rate = 1
    else:
        pst_rate = 0
示例#3
0
def real2_view(args):
    instance = si.get_strategy_instance(args.sii)
    config = xq.get_strategy_config(instance['config_path'])

    real_view(config, args.sii, instance['exchange'], instance['value'])
示例#4
0
def real2_analyze(args):
    instance = si.get_strategy_instance(args.sii)
    config = xq.get_strategy_config(instance['config_path'])

    real_analyze(config, args.sii, instance['exchange'], instance['value'],
                 args.hl, args.rmk)
示例#5
0
    parser.add_argument('-p', help='Parameters')
    args = parser.parse_args()

    print(args)

    if not args.m and not args.sii:
        parser.print_help()
        exit(1)

    if args.m == 'add' and not args.p:
        parser.print_help()
        exit(1)

    if args.m == 'udpate' and not args.p:
        parser.print_help()
        exit(1)

    if args.m == 'add':
        add_strategy_instance({**{"instance_id": args.sii}, **json.loads(args.p)})
    elif args.m == 'update':
        update_strategy_instance({"instance_id": args.sii}, json.loads(args.p))
    elif args.m == 'delete':
        delete_strategy_instance({"instance_id": args.sii})
    elif args.m == 'show':
        print(get_strategy_instance(args.sii))
    else:
        parser.print_help()
        exit(1)

    exit(1)