在文档中看见智能下单操作, 但是在回测环境和实盘环境都尝试了, 没有找到正确的使用方式, 把操作放在source_code外倒是可以触发, 但那样的好像没法根据回测代码应用
可以通过指定pricetype实现更多样化的下单需求
当pricetype为21时,买入下单时会紧贴价格笼子上沿,卖出下单时会紧贴价格笼子下沿
#以卖五价上浮0.3元挂100股002109的买单
trade_api.order(symbol='002109.SZ', amount=100, price=0.3, pricetype=8)
from tick_trade_api import TradeAPI
#初始化TradeAPI时需要指定下单策略,MarketPolicy为最新价下单;LimitPolicy为限价下单
trade_api=TradeAPI('100063783', order_policy=MarketPolicy)
trade_api.order('300033.SZ', amount=100, price=0.3, pricetype=21)
source_code=r"""
## 开盘时运行函数
def handle_bar(context, bar_dict):
symbol = '300033.SZ'
trade_api.order(symbol, amount=100, price=0.3, pricetype=21)
# order(symbol, 100, bar_dict[symbol].close, 21)
"""
rtrade = research_trade(
'Test.1',
source_code,
frequency='MINUTE',
trade_api=trade_api,
signal_mode=False,
recover_dt='20241120 09:00'
)
2024-11-20 16:19:32.047117 - INFO - 开始运行... 2024-11-20 09:31:00.000000 - ERROR - 回测运行错误: File strategy.py, line 5 in handle_bar NameError: name 'trade_api' is not defined (温馨提示:第5行,name 'trade_api' 未定义,建议检查是否定义了该变量,若在init中,则需要定义为全局变量。) 2024-11-20 16:19:40.667008 - INFO - 结束运行...