特别棒~!!手动收藏
特别棒~!!手动收藏
楼主你好,请问cancel_surplus_order这个函数是不是可以直接放在cta_template里面?
@detectiveron 可以,把self.cancel_status改为Dict[str,bool]就行
@上弦之月 请问为什么要把self.cancel_status改为字典类型,保持原来的bool类型不行吗
请问为什么要把orderdata的类型改成
self.vtsymbol = f"{self.symbol}{self.exchange.value}/{self.gateway_name}"
这个gateway_name加上去的作用是什么?
@detectiveron 搞多账户就知道gateway_name的重要性了,主要是区分唯一vt_symbol,gateway_name是很重要的参数,建议在vt_symbol里面加入gateway_name
但如果加上gateway_name的话会和其他类型的数据不统一,比方说converter里的is_convert_required函数:
def is_convert_required(self, vt_symbol: str) -> bool:
"""
Check if the contract needs offset convert.
"""
contract = self.main_engine.get_contract(vt_symbol)
# Only contracts with long-short position mode requires convert
if not contract:
return False
elif contract.net_position:
return False
else:
return True
这里的self.main_engine.get_contract(vt_symbol)会输入order的vt_symbol,但get_contract函数应该输入contract的vt_symbol:
比如应该输入i2105_DCE,但实际输入了i2105_DCE/CTP,于是造成错误。
是不是应该把所有object里的data类型全改成相同的格式?
原来on_tick里面的update_tick被去掉了,还能运行正常?
Mark
请教楼主,实盘采用楼主代码,开仓未从成交,但撤单未成功,print出的信息如图,其中untrade=0所以short_trade_volume也等于0,故未能撤单成功,可是委托到成交间隔近2分钟,我采用的时间间隔是10秒,为啥untrade一直是0呢?谢谢
上面问题已解决
支持大佬分享
请教月总,self.cancel_timer_trigger是在哪里定义的,我怎么没看到呀
月神 StrategyEngine 定义在哪里?
月总,请问下在on_tick里面,get_contract_tick(),这个方法在什么地方定义的,找了老久没找到
这个帖子好,吃透了可以少走很多弯路!