自制的反向操作策略失败
// 简称: 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发布出去。请都是帮我看一下,到底是哪里出了问题,谢谢!!

tbpy可以反向操作tbquant吗
想做个反向指标
能否实盘中策略的sellshort和buy指令只操作A账户不操作B账户,B账户仅用A函数操作?
关于反向交易
实时操作跟策略交易报告的交易记录,也跟回测的操作不一致怎么办
【程序化策略学习分享】混沌操作法的量化实现
将手动操作的成交单状态纳入到现在执行的策略中
股指期货策略交易时Sell/BuyToCover平仓操作执行为开仓的问题
策略选股失败
回测时buy指令失败的原因?

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

👌

我说的模式

为啥不用?

只要加一行代码就行了。。。

有想法💪

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

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

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