根据期货数据用A函数交易期权的代码问题

老师好,能否麻烦帮忙看下以下在onsigal 域用A函数开仓、平仓期权的代码准确吗?下单时是用图层取实时价格data5.close 还是用函数Q_AskPrice取价格比较好?谢谢!


OnSignal(ArrayRef<Signal> sigs)

   {

       If(BarStatus != 2) { Return; }


       // 最小变动价位

       Numeric MP = MinMove * PriceScale;

       String callOptionSymbol;//看涨期权代码

       String putOptionSymbol;//看跌期权代码

       Numeric callOptionprice;//看涨期权价格

       Numeric putOptionprice;//看跌期权价格

       

       //确定期权的合约代码和期权合约的价格

       IF(IO_MO)

       {

        callOptionSymbol= data5.symbol;//data5为看涨期权;

        putOptionSymbol=data8.symbol;//data8为看跌期权;

        callOptionprice=data5.close+data5.MinMove*data5.PriceScale*3;//data5当前价格+3倍最小变动;

        putOptionprice=data8.close+data8.MinMove*data8.PriceScale*3;//data5当前价格+3倍最小变动;

       }Else

       {

           callOptionSymbol= data6.symbol;//data6为看涨期权;

        putOptionSymbol=data7.symbol;//data7为看跌期权;

        callOptionprice=data6.close+data6.MinMove*data6.PriceScale*3;//data5当前价格+3倍最小变动;

        putOptionprice=data7.close+data7.MinMove*data7.PriceScale*3;//data5当前价格+3倍最小变动  

       }

     

     

     

       Print("========================");

       // 信号域发单

       Print("===" + Text(SystemDateTime) + "===");

       

       Integer i = 0;

       For i = 0 To GetArraySize(sigs) - 1

       {

           SignalRef sig = sigs[i];

           If(!BitHas(sig.flag, Enum_Signal_NotSend) && QuoteStatus == Enum_QuoteStatus_RealTime)

           {

               // 开仓信号处理

               If(sig.combOffset == Enum_Entry)

               {

                   // 判断是买入还是卖出信号

                   If(sig.side == Enum_Buy)

                   {

                       // 买入信号 -> 购买看涨期权

                       If(callOptionSymbol != "")

                       {

                           Array<Integer> orders;

                           Bool orderRet = A_SendOrderEx(callOptionSymbol, Enum_Buy, Enum_Entry, lotsoption,Q_AskPrice, orders, "", A_GetOrderCreateSource);

                           Print("买入看涨期权: " + callOptionSymbol + ", 结果: " + IIFString(orderRet, "成功", "失败"));

                           

                           If(orderRet)

                           {

                               optionHoldingSymbol = callOptionSymbol;

                           }

                       }

                   }

                   Else If(sig.side == Enum_Sell)

                   {

                       // 卖出信号 -> 购买看跌期权

                       If(putOptionSymbol != "")

                       {

                           Array<Integer> orders;

                           Bool orderRet = A_SendOrderEx(putOptionSymbol, Enum_Buy, Enum_Entry, lotsoption, Q_AskPrice, orders,"",A_GetOrderCreateSource);

                           Print("买入看跌期权: " + putOptionSymbol + ", 结果: " + IIFString(orderRet, "成功", "失败"));

                           

                           If(orderRet)

                           {

                               optionHoldingSymbol = putOptionSymbol;

                           }

                       }

                   }

               }

               // 平仓信号处理

               Else If(sig.combOffset == Enum_Exit && optionHoldingSymbol != "")

               {

                   Array<Integer> orders;

                   //这里的期权平仓价格用“Q_AskPrice”合适吗?

                   Bool orderRet = A_SendOrderEx(optionHoldingSymbol, Enum_sell, Enum_Exit, lotsoption, Q_AskPrice, orders, "", A_GetOrderCreateSource);

                   Print("平仓" +  "期权: " + optionHoldingSymbol + ", 结果: " + IIFString(orderRet, "成功", "失败"));

                   

                   If(orderRet)

                   {

                       optionHoldingSymbol = "";

                   }

               }

           }

       }

   }





期货合约作为数据源,想通过A函数下达期权的买单,不会写买入期权和平仓的代码
想根据期货行情的涨跌指标信号,下单交易期权,能实现吗
期货期权
用什么函数可以订阅所有沪深300历史期权的历史数据进行回测?
期货交易申报量用什么函数查询?
如何把交易期货的策略改成交易对应品种的期权?
根据期货标的信号,tbq3量化如何选择期权来执行?
程序化交易中期权行权的代码如何编写?
程序化交易中期权行权的代码如何编写?
期权对应期货

测试了一下,这个开仓是可以,但是平仓平不了,麻烦帮忙看下问题在哪里,谢谢!optionHoldingSymbol这个是用的global变量,会不会是这里的问题?

A函数 事件域

靠调试,看是看不出结果了已经