自制的反向操作策略失败

// 简称: event_A(发送方) // 名称: onevent练习 // 类别: 策略应用 // 类型: 用户应用 // 输出: Void //------------------------------------------------------------------------ Params //此处添加参数 Vars //此处添加变量 Defs //此处添加策略函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { PrintClear(); } OnReady() { Map<String,String> a; a["期货代码"] = "rb888.SHFE"; PublishEvent("我的选股",a,"所有订阅者"); } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { } OnFill(FillRef ordFill) { Map<String,String> reverse; reverse["标的"] = ordFill.symbol; Print(TextMap(reverse)); If(ordFill.combOffset == Enum_Entry) { If(ordFill.side == Enum_Buy) { reverse["操作方向"] = "卖开"; PublishEvent("反向指标",reverse,"所有订阅者"); } If(ordFill.side == Enum_Sell) { reverse["操作方向"] = "买开"; PublishEvent("反向指标",reverse,"所有订阅者"); } } If(ordFill.combOffset == Enum_Exit) { If(ordFill.side == Enum_Buy) { reverse["操作方向"] = "卖平"; PublishEvent("反向指标",reverse,"所有订阅者"); } If(ordFill.side == Enum_Sell) { reverse["操作方向"] = "买平"; PublishEvent("反向指标",reverse,"所有订阅者"); } } }// 简称: event_B // 名称: onevent接收方 // 类别: 策略应用 // 类型: 用户应用 // 输出: Void //------------------------------------------------------------------------ Params //此处添加参数 Vars Array<Integer> ordids; Defs //此处添加策略函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { SubscribeEvent("我的选股"); SubscribeEvent("反向指标"); } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { } OnEvent(StringRef evtName, MapRef<String, String> evtValue) { If(evtName == "我的选股") { Print("代码"+evtValue["期货代码"]); } If(evtName == "反向指标") { If(evtValue["操作方向"]=="卖开") { A_SendOrderEx(evtValue["标的"],Enum_Sell,Enum_Entry,1,Q_BidPrice,ordids,"",A_GetOrderCreateSource); Print("发单:卖开"); } If(evtValue["操作方向"]=="买开") { A_SendOrderEx(evtValue["标的"],Enum_Buy,Enum_Entry,1,Q_AskPrice,ordids,"",A_GetOrderCreateSource); Print("发单:买开"); } If(evtValue["操作方向"]=="买平") { A_SendOrderEx(evtValue["标的"],Enum_Buy,Enum_Exit,1,Q_AskPrice,ordids,"",A_GetOrderCreateSource); Print("发单:买平"); } If(evtValue["操作方向"]=="卖平") { A_SendOrderEx(evtValue["标的"],Enum_Sell,Enum_Exit,1,Q_BidPrice,ordids,"",A_GetOrderCreateSource); Print("发单:卖平"); } } } 上面是发出的程序,下面是接收的程序 。我在模拟帐号上运行event_A,在实盘上运行的event_B,在A中发布的"我的选股",在B中可以接收到,而我在A中发布的“反向指标”,在B中却无法执行,请问我的操作有什么问题吗?为什么没能成功,哦对了,我是手动在模拟账户下的单,我认为虽然是手动,但ONFILL应该也可以接收到信号吧,然后把接受到的信号通过发布publishEvent发布出去。请都是帮我看一下,到底是哪里出了问题,谢谢!!

你可以研究,但官网不参与教授如何反向跟单

回复:👌

我说的模式为啥不用?

回复:只要加一行代码就行了。。。

回复:有想法💪

回复:不是不用,我还没研究明白,我理解的慢,容我反应一下😁

回复:还请赐教,我是差在哪里了吗

回复:是不是你说的订阅所有委托,加这一句?

回复:我在发送部分,加了你说的那句。现在开仓没有问题,可是平仓时灵时不灵,不知道为什么,有时平仓接受方没有反应,明显就是没有传过来,可是开仓的时候却可以

回复:开仓可以,平仓就肯定可。。。