最近才知道TargetPosTask是在之后的每次 wait_update 时才发出下单指令,我想知道具体的下单指令是怎样发出的,
就比如说wait_update接收到tick1,执行计算,满足条件的话task记录1手,然后继续其余的代码,然后循环回到wait_update,此时是立刻发出下单指令,还是等待500ms后的下一个tick2,??
另外TargetPosTask默认是对价下单,但是突破策略中,突破后的行情是很急的,可能对价都追不上,再加上等待下一个tick。。。tick本身已经是交易所主机的抽样了。。
这方面文华做的比较凶狠彻底,他们定义的市价就是涨停价,跌停价。。
所以希望TargetPosTask能自己设置价格(虽然我已经换用insert_order了。。),还有就是希望本地程序计算满足条件后可以立刻发送下单指令,1ms都不想等。。
可不可以把wait_update发送数据的部分分出来。。在TargetPosTask后就立刻执行。。
另外发现simnow问题多多。抛弃它!。开多纯碱时居然提示CTP:找不到合约。还有什么资金不足。。快期模拟一切正常!但是快期的成交通知缺个成交价格。
还有能不能把服务器的通知log下来??小白不会弄。。。
还有期货市场已经是机构主宰的狩猎场。小散要团结互助啊!??
while True:
api.wait_update()
if api.is_changing(ru2101) or api.is_changing(ru2105):
spread = ru2105.ask_price1 – ru2101.bid_price1
print(“当前价差:”, spread)
if spread < -200:
print(“目标持仓: 空近月,多远月”)
# 设置目标持仓为正数表示多头,负数表示空头,0表示空仓
target_pos_near.set_target_volume(-1)
target_pos_deferred.set_target_volume(1)
if spread >200:
print(“目标持仓: 空仓”)
target_pos_near.set_target_volume(0)
target_pos_deferred.set_target_volume(0)
是按照例子抄的,api.wait_update()在前面,这样对不对?