金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 126|回复: 2

python策略在order_status函数里面进行下单是否有问题?

[复制链接]

2

主题

3

帖子

3

积分

Rank: 1

等级: 新手上路

注册:
2025-9-15
曾用名:
发表于 2025-9-19 11:36 | 显示全部楼层 |阅读模式
我在order_status里面做了追单,是撤单会直接在order_status里面下单,策略执行有时候会报order_status无响应,是否有关系
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-9-19 14:07 | 显示全部楼层
下单最好在 handle_bar里执行。

追撤单可以参考这个范例:

[Python] 复制代码
# 本Python代码主要用于策略交易
# 可以自己import我们平台支持的第三方python模块,比如pandas、numpy等。
from PythonApi import *
import datetime
import sys


def init(context):
    pass
    

def handle_bar(context):
    order_list = get_orders("all", 0)
    current_time = datetime.datetime.now()
    if order_list:
        for order in order_list:
            seconds_difference = (current_time - order.datetime ).total_seconds()
            #10秒未成交,追撤单
            if seconds_difference>=10:
                Chase_withdraw(context,order)
                            
    
def Chase_withdraw(context,order):
    vol = order.unfilled_quantity
    order_id = order.order_id
    book_id  = order.order_book_id
    side = order.side  # 订单方向 "buy"买:"sell"卖
    #拼接函数名称
    position_effect = order.position_effect  # 开平标志 "open"开仓 "close"平仓
    
    #撤单语句
    cancel_order(order_id)
    function_name = side+"_"+position_effect
    # 从全局环境中直接获取到 具体的函数,这样就可以避免写四条不同的追单语句
    function_object = getattr(sys.modules[__name__], function_name)
    try:
        function_object(book_id,"Market",volume = vol)
    except Exception as ex:
        raise
    
        
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

3

帖子

3

积分

Rank: 1

等级: 新手上路

注册:
2025-9-15
曾用名:
 楼主| 发表于 2025-9-19 14:09 | 显示全部楼层
技术009 发表于 2025-9-19 14:07
下单最好在 handle_bar里执行。

追撤单可以参考这个范例:

感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-9-28 05:19 , Processed in 0.158533 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表